ProductDecoderTranslation

org.hungerford.generic.schema.product.translation.ProductDecoderTranslation
trait ProductDecoderTranslation[DecoderSch[_], Source]() extends WithFieldReader[DecoderSch, Source]

Attributes

Graph
Supertypes
trait WithFieldReader[DecoderSch, Source]
class Object
trait Matchable
class Any
Known subtypes
trait BiMapProductTranslation[RW, DecoderSch, EncoderSch, Source, Sink]

Members list

Concise view

Type members

Classlikes

object AFReader

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait AFReader[AF, AFS, Cache <: TypeCache]()

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait FieldsReader[R <: Tuple, Cache <: TypeCache]()

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Inherited classlikes

trait FieldReader[F, N <: TypeName]()

Attributes

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

Value members

Abstract methods

def buildProductDecoder[T](decode: Source => Try[T]): DecoderSch[T]
def getField[AF](from: Source, fieldName: String, using: DecoderSch[AF]): Try[AF]
def getFieldNames(from: Source): Set[String]

Givens

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]