CirceProductSchemaTranslation
trait BiMapProductTranslation[Codec, Json, Map[String, Json]]
class Object
trait Matchable
class Any
trait CirceSchemaTranslation
object CirceSchemaTranslation
Type members
Inherited classlikes
Inherited types
Value members
Concrete methods
protected
Construct the final type to be bimapped to and from
Construct the final type to be bimapped to and from
protected
Initial empty value for the type being mapped to and from, that can be built by adding field values. For instance, if the value type is Map[ String, T ], initMapVal would be Map.empty[ String, T ]
Initial empty value for the type being mapped to and from, that can be built by adding field values. For instance, if the value type is Map[ String, T ], initMapVal would be Map.empty[ String, T ]
- Returns
initial value of buildable bimap type
protected
Construct a schema from the two parts of a bimap.
Construct a schema from the two parts of a bimap.
- Type Params
- T
type being read/written
- Value Params
- from
MapVal => T : reader
- to
T => MapVal : writer
- Returns
type class instance for some reader/writer
protected
def writeAdditionalFields[T](from: Map[String, T], to: Map[String, Json], informedBy: Codec[T]): Map[String, Json]
protected
def writeField[T](value: T, to: Map[String, Json], informedBy: TranslatedFieldDescription[T, Codec]): Map[String, Json]
Inherited methods
def translate[T, Rt <: Tuple, RVt <: Tuple, FDL <: Tuple, AFt, AFSt, C, DC](schema: Aux[T, ProductShape[T, Rt, RVt, AFt, AFSt, C, DC]])(using tr: SchemaTranslator[T, ProductShape[T, Rt, RVt, AFt, AFSt, C, DC], Codec]): Codec[T]
- Inherited from
- BiMapProductTranslation
Givens
Inherited givens
given decoderWithAF[T, Rt <: Tuple, RVt <: Tuple, AFt, AFSt, C, DC](using val ex: Aux[Rt, RVt], val afExtractor: Aux[MapVal, OtherSchema[AFt], Map[String, AFt]], val afTranslator: SchemaTranslator[AFt, AFSt, OtherSchema], val prodConstr: ProductConstructor[C, RVt, AFt, T]): Decoder[T, ProductShape[T, Rt, RVt, AFt, AFSt, C, DC], MapVal]
- Inherited from
- BiMapProductTranslation
given decoderWithoutAF[T, Rt <: Tuple, RVt <: Tuple, C, DC](using val ex: Aux[Rt, RVt], val prodConstr: ProductConstructor[C, RVt, Nothing, T]): Decoder[T, ProductShape[T, Rt, RVt, Nothing, Unit, C, DC], MapVal]
- Inherited from
- BiMapProductTranslation
given encoderWithAF[T, Rt <: Tuple, RVt <: Tuple, FDL <: Tuple, AFt, AFSt, C, DC](using val ctx: CtxWrapTuplesConstraint[Ctx, FDL, RVt], val inj: BiMapTupleInjector[RVt, Rt], val afInjector: Aux[Map[String, AFt], BuildMapVal, OtherSchema[AFt], BuildMapVal], val afTranslator: SchemaTranslator[AFt, AFSt, OtherSchema], val prodDeconstr: ProductDeconstructor[DC, RVt, AFt, T]): Encoder[T, ProductShape[T, Rt, RVt, AFt, AFSt, C, DC], MapVal]
- Inherited from
- BiMapProductTranslation
given encoderWithoutAF[T, Rt <: Tuple, RVt <: Tuple, FDL <: Tuple, C, DC](using val ctx: CtxWrapTuplesConstraint[Ctx, FDL, RVt], val inj: BiMapTupleInjector[RVt, Rt], val prodDeconstr: ProductDeconstructor[DC, RVt, Nothing, T]): Encoder[T, ProductShape[T, Rt, RVt, Nothing, Unit, C, DC], MapVal]
- Inherited from
- BiMapProductTranslation