UPickleProductTranslation

trait UPickleProductTranslation extends BiMapProductTranslation[ReadWriter, Value, ListMap[String, Value]]
Companion
object
trait BiMapProductTranslation[ReadWriter, Value, ListMap[String, Value]]
class Object
trait Matchable
class Any

Type members

Inherited classlikes

trait BiMapExtractor[T, F]()
trait BiMapInjector[T, F]()
trait BiMapTupleExtractor[R <: Tuple]()
trait BiMapTupleInjector[RV <: Tuple, R <: Tuple]()

Value members

Concrete methods

override
def buildMapVal(buildableValue: ListMap[String, Value]): Value

Construct the final type to be bimapped to and from

Construct the final type to be bimapped to and from

Definition Classes
BiMapProductTranslation
override
def extractAdditionalFields[T](from: Value, informedBy: ReadWriter[T]): Map[String, T]
Definition Classes
BiMapProductTranslation
override
def initMapVal: ListMap[String, Value]

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

Definition Classes
BiMapProductTranslation
override
def schemaFromBimap[T](to: T => Value, from: Value => T): ReadWriter[T]

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

Definition Classes
BiMapProductTranslation
override
def writeAdditionalFields[T](from: Map[String, T], to: ListMap[String, Value], informedBy: ReadWriter[T]): ListMap[String, Value]
Definition Classes
BiMapProductTranslation

Inherited methods

def translate[T, Rt <: Tuple, RVt <: Tuple, FDL <: Tuple, AFt, AFSt, AFEt, C](schema: Aux[T, ProductShape[T, Rt, RVt, AFt, AFSt, AFEt, C]])(using tr: SchemaTranslator[T, ProductShape[T, Rt, RVt, AFt, AFSt, AFEt, C], ReadWriter]): ReadWriter[T]
Inherited from
BiMapProductTranslation

Givens

Inherited givens

given additionalFieldsExtractor: Aux[MapVal, OtherSchema[T], Map[String, T]]
Inherited from
BiMapProductTranslation
given additionalFieldsInjector: Aux[Map[String, T], BuildMapVal, OtherSchema[T], BuildMapVal]
Inherited from
BiMapProductTranslation
Inherited from
BiMapProductTranslation
given decoderWithAF[T, Rt <: Tuple, RVt <: Tuple, AFt, AFSt, AFEt, C](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, AFEt, C], MapVal]
given decoderWithoutAF[T, Rt <: Tuple, RVt <: Tuple, C](using val ex: Aux[Rt, RVt], val prodConstr: ProductConstructor[C, RVt, Nothing, T]): Decoder[T, ProductShape[T, Rt, RVt, Nothing, Unit, Unit, C], MapVal]
given encoderWithAF[T, Rt <: Tuple, RVt <: Tuple, AFt, AFSt, AFEt, C](using val inj: BiMapTupleInjector[RVt, Rt], val afInjector: Aux[Map[String, AFt], BuildMapVal, OtherSchema[AFt], BuildMapVal], val afTranslator: SchemaTranslator[AFt, AFSt, OtherSchema], val prodDeconstr: Aux[T, (AFEt, Rt), (Map[String, AFt], RVt)]): Encoder[T, ProductShape[T, Rt, RVt, AFt, AFSt, AFEt, C], MapVal]
given encoderWithoutAF[T, Rt <: Tuple, RVt <: Tuple, C](using val inj: BiMapTupleInjector[RVt, Rt], val prodDeconstr: Aux[T, Rt, RVt]): Encoder[T, ProductShape[T, Rt, RVt, Nothing, Unit, Unit, C], MapVal]
given fieldInjector[T, F, N <: FieldName, S](using val sr: SchemaTranslator[F, S, OtherSchema]): FieldInjector[T, F, N, S, BuildMapVal]