CodecDerivation
esexpr.ESExprCodec.CodecDerivation
object CodecDerivation
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CodecDerivation.type
Members list
Type members
Classlikes
final class DerivedProductCodec[T <: Product, Types <: Tuple](constructor: String, derivedTuple: ESExprCodecProduct[Types])(using m: ProductOf[T] { type MirroredElemTypes = Types; }) extends ESExprCodec[T]
Attributes
- Supertypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class ProductEmptyCodec
final class ProductConsCodec[HType, TType <: Tuple](fieldCodec: ESExprCodecProduct[HType], tailCodec: ESExprCodecProduct[TType]) extends ESExprCodecProduct[HType *: TType]
Attributes
- Supertypes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
final case class ProductDecodeState(positionalIndex: Int, args: Seq[ESExpr], kwargs: Map[String, ESExpr])
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
final class ProductEmptyCodec extends ESExprCodecProduct[EmptyTuple]
Attributes
- Supertypes
enum ProductErrorPath
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Value members
Concrete methods
inline def buildSumCodecs[T, SubTypes <: Tuple](inline prevCaseTags: ESExprTagSet): List[ESExprCodec[_ <: T]]
def defaultKeywordProductCodec[A](keyword: String, codec: ESExprCodec[A], defaultValue: => A): ESExprCodecProduct[A]
def defaultPositionalProductCodec[A](codec: ESExprCodec[A], defaultValue: => A): ESExprCodecProduct[A]
inline def derivedProductTuple[T, TypeLabel <: String, Labels <: Tuple, Types <: Tuple](inline prevOptionalPositionalTags: ESExprTagSet, inline keywords: Set[String], inline hasDict: Boolean): ESExprCodecProduct[Types]
inline def derivedSumCreateCodec[T](codecMap: => Seq[ESExprCodec[_ <: T]])(using m: SumOf[T]): ESExprCodec[T]
def derivedSumMacro[T, SubTypes <: Tuple](codecMap: Expr[Seq[ESExprCodec[_ <: T]]])(using evidence$1: Type[T], evidence$2: Type[SubTypes], q: Quotes): Expr[ESExprCodec[T]]
def inlineValueCodec[T <: Product, Elem](elemCodec: ESExprCodec[Elem])(using m: ProductOf[T] { type MirroredElemTypes = Elem *: EmptyTuple; }): ESExprCodec[T]
def optionalKeywordProductCodec[A](keyword: String, optionalValueCodec: OptionalValueCodec[A]): ESExprCodecProduct[A]
def optionalPositionalProductCodec[A](optionalValueCodec: OptionalValueCodec[A]): ESExprCodecProduct[A]
def simpleEnumCodec[T](caseNames: Array[String], caseValues: Map[String, T])(using m: SumOf[T]): ESExprCodec[T]
In this article