FromData

scalus.uplc.FromData$
object FromData

FromData[A] derivation

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
FromData.type

Members list

Value members

Concrete methods

inline def deriveCaseClass[T]: () => T
def deriveCaseClassMacro[T : Type](implicit evidence$2: Type[T], Quotes): Expr[() => T]
inline def deriveConstructor[T]: List[Data] => T
def deriveConstructorMacro[T : Type](implicit evidence$1: Type[T], Quotes): Expr[List[Data] => T]
inline def deriveEnum[T](inline conf: PartialFunction[Int, List[Data] => T]): () => T

Derive FromData for an enum type

Derive FromData for an enum type

Value parameters

conf

a partial function mapping tag to constructor function, like

Attributes

Returns

a FromData instance

Example
 enum Adt:
   case A
   case B(b: Boolean)
   case C(a: Adt, b: Adt)
 given FromData[Adt] = FromData.deriveEnum[Adt] {
   case 0 => _ => Adt.A
   case 1 => FromData.deriveConstructor[Adt.B]
   case 2 => FromData.deriveConstructor[Adt.C]
   }
def deriveEnumMacro[T : Type](conf: Expr[PartialFunction[Int, List[Data] => T]])(implicit evidence$3: Type[T], Quotes): Expr[() => T]