ADTMappingMacro

wjson.macros.ADTMappingMacro
See theADTMappingMacro companion class

Macro to generate a JsValueMapper for a given case class.

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

trait Generator[T]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ArrayGenerator[T]
class ListGenerator[T]
class OptionGenerator[T]
class OrTypeGenerator[T]
class ProductGenerator[T]
class SeqGenerator[T]
class SetGenerator[T]
class SumGenerator[T]
class VectorGenerator[T]
Show all

Value members

Concrete methods

def extractDefaultCaseParams[T : Type](implicit evidence$4: Type[T], Quotes): Map[String, Expr[Any]]
def extractElemLabels[T : Type](implicit evidence$3: Type[T], Quotes): List[String]
def extractElemTypes[T : Type](implicit evidence$2: Type[T], Quotes): List[TypeRepr]
def genADTImpl[T : Type](implicit evidence$1: Type[T], Quotes): Expr[JsValueMapper[T]]
def summonJsValueMapper(using Quotes)(tpe: TypeRepr, deps: Map[TypeRepr, Ref]): Option[Expr[JsValueMapper[_]]]
def summonJsValueMapper[t : Type](using Quotes)(deps: Map[TypeRepr, Ref]): Option[Expr[JsValueMapper[t]]]