DeriveJsonDecoder
Attributes
- Graph
- Supertypes
- trait Derivation[JsonDecoder]trait SealedTraitDerivationtrait CommonDerivation[JsonDecoder]class Objecttrait Matchableclass Any
- Self type
- DeriveJsonDecoder.type
Members list
Type members
Inherited types
Attributes
- Inherited from:
- CommonDerivation
Value members
Concrete methods
Must be implemented by the user of Magnolia to construct a
typeclass for case class T
using the provided type info.
E.g. if we are deriving Show[T]
typeclasses, and T
is a case class Foo(...)
, we need to constuct Show[Foo]
.
Must be implemented by the user of Magnolia to construct a
typeclass for case class T
using the provided type info.
E.g. if we are deriving Show[T]
typeclasses, and T
is a case class Foo(...)
, we need to constuct Show[Foo]
.
This method is called 'join' because typically it will join together the typeclasses for all the parameters of the case class, into a single typeclass for the case class itself. The field CaseClass.params can provide useful information for doing this.
Attributes
- caseClass
information about the case class
T
, its parameters, and their typeclasses
This must be implemented by the user of Magnolia to construct a Typeclass for 'T', where 'T' is a Sealed Trait or Scala 3 Enum, using the provided type info. E.g. if we are deriving 'Show[T]' typeclasses, and T is an enum 'Suit' (eg with values Diamonds, Clubs, etc), we need to constuct 'Show[Suit]'.
This must be implemented by the user of Magnolia to construct a Typeclass for 'T', where 'T' is a Sealed Trait or Scala 3 Enum, using the provided type info. E.g. if we are deriving 'Show[T]' typeclasses, and T is an enum 'Suit' (eg with values Diamonds, Clubs, etc), we need to constuct 'Show[Suit]'.
This method is called 'split' because it will ''split'' the different possible types of the SealedTrait, and handle each one to finally produce a typeclass capable of handling any possible subtype of the trait.
A useful function for implementing this method is SealedTrait#choose, which can take a value instance and provide information on the specific subtype of the sealedTrait which that value is.
Attributes
Inherited methods
Attributes
- Inherited from:
- CommonDerivation
Attributes
- Definition Classes
- Inherited from:
- Derivation
Attributes
- Inherited from:
- Derivation
Attributes
- Inherited from:
- Derivation
Attributes
- Inherited from:
- CommonDerivation
Attributes
- Inherited from:
- Derivation
Attributes
- Inherited from:
- CommonDerivation
Attributes
- Inherited from:
- CommonDerivation
Attributes
- Inherited from:
- SealedTraitDerivation
Attributes
- Inherited from:
- Derivation
Attributes
- Inherited from:
- SealedTraitDerivation