BiMapProductTranslation

org.hungerford.generic.schema.product.translation.BiMapProductTranslation
trait BiMapProductTranslation[RW[_], DecoderSch[_], EncoderSch[_], Source, Sink]() extends ProductDecoderTranslation[DecoderSch, Source] with ProductEncoderTranslation[EncoderSch, Sink]

Attributes

Graph
Supertypes
trait ProductEncoderTranslation[EncoderSch, Sink]
trait WithFieldWriter[EncoderSch, Sink]
trait ProductDecoderTranslation[DecoderSch, Source]
trait WithFieldReader[DecoderSch, Source]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Inherited classlikes

object AFReader

Attributes

Inherited from:
ProductDecoderTranslation
Graph
Supertypes
class Object
trait Matchable
class Any
trait AFReader[AF, AFS, Cache <: TypeCache]()

Attributes

Inherited from:
ProductDecoderTranslation
Graph
Supertypes
class Object
trait Matchable
class Any
trait FieldReader[F, N <: TypeName]()

Attributes

Inherited from:
WithFieldReader
Graph
Supertypes
class Object
trait Matchable
class Any
trait FieldWriter[F, N <: TypeName]()

Attributes

Inherited from:
WithFieldWriter
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
ProductDecoderTranslation
Graph
Supertypes
class Object
trait Matchable
class Any
trait FieldsReader[R <: Tuple, Cache <: TypeCache]()

Attributes

Inherited from:
ProductDecoderTranslation
Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Abstract methods

def buildProductSchema[T](enc: EncoderSch[T], dec: DecoderSch[T]): RW[T]

Inherited methods

def buildProductDecoder[T](decode: Source => Try[T]): DecoderSch[T]

Attributes

Inherited from:
ProductDecoderTranslation
def buildProductEncoder[T](encoder: T => Sink): EncoderSch[T]

Attributes

Inherited from:
ProductEncoderTranslation
def getField[AF](from: Source, fieldName: String, using: DecoderSch[AF]): Try[AF]

Attributes

Inherited from:
ProductDecoderTranslation
def getFieldNames(from: Source): Set[String]

Attributes

Inherited from:
ProductDecoderTranslation
def mergeFields[T](fieldMap: List[(String, Sink)]): Sink

Attributes

Inherited from:
ProductEncoderTranslation
inline def writeAdditionalFields[T, AF, AFS, AFE]: (T, AFE, Aux[AF, AFS], Map[String, (Int, Sink)], Set[String]) => Unit

Attributes

Inherited from:
ProductEncoderTranslation
def writeField[T](value: T, encoder: EncoderSch[T]): Sink

Attributes

Inherited from:
ProductEncoderTranslation
inline def writeFields[T, FS <: Tuple, Cache <: TypeCache]: (T, FS, Map[String, (Int, Sink)], Cache) => Unit

Attributes

Inherited from:
ProductEncoderTranslation

Givens

Inherited givens

inline given translateProductReaderRecursive[T, R <: Tuple, RV <: Tuple, AF, AFS, AFE, C, Cache <: TypeCache](using pc: ProductConstructor[C, RV, AF, T], fieldsReader: Aux[R, Cached[Cache, T, DecoderSch[T]], Try[RV]], afReader: AFReader[AF, AFS, Cached[Cache, T, DecoderSch[T]]]): RecursiveSchemaTranslator[T, ProductShape[T, R, RV, AF, AFS, AFE, C], Cache, DecoderSch]

Attributes

Inherited from:
ProductDecoderTranslation
inline given translateProductWriter[T, R <: Tuple, RV <: Tuple, AF, AFS, AFE, C, Cache <: TypeCache]: RecursiveSchemaTranslator[T, ProductShape[T, R, RV, AF, AFS, AFE, C], Cache, EncoderSch]

Attributes

Inherited from:
ProductEncoderTranslation