- Companion:
- class
Value members
Concrete methods
Returns a DynamoFormat for the case where A
can always be converted B
, with write
, but read
may throw
an exception for some value of B
Returns a DynamoFormat for the case where A
can always be converted B
, with write
, but read
may throw
an exception for some value of B
Returns a DynamoFormat for the case where A
and B
are isomorphic,
i.e. an A
can always be converted to a B
and vice versa.
Returns a DynamoFormat for the case where A
and B
are isomorphic,
i.e. an A
can always be converted to a B
and vice versa.
If there are some values of B
that have no corresponding value in A
, use DynamoFormat.xmap or
DynamoFormat.coercedXmap.
Returns a DynamoFormat for the case where A
and B
form an epimorphism,
i.e. an A
can always be converted to a B
but the opposite is not necessarily true.
Returns a DynamoFormat for the case where A
and B
form an epimorphism,
i.e. an A
can always be converted to a B
but the opposite is not necessarily true.
Inherited methods
- Inherited from:
- CommonDerivation
- Inherited from:
- CommonDerivation
- Inherited from:
- CommonDerivation
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.
- Value parameters:
- caseClass
information about the case class
T
, its parameters, and their typeclasses
- Inherited from:
- FormatDerivation (hidden)
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.
- Inherited from:
- FormatDerivation (hidden)
- Inherited from:
- Derivation
- Inherited from:
- SealedTraitDerivation
Implicits
Implicits
Format for dealing with points in time stored as the number of milliseconds since Epoch.
Format for dealing with points in time stored as the number of milliseconds since Epoch.
Format for dealing with date-times with an offset from UTC.
Format for dealing with date-times with an offset from UTC.
This ensures that if, for instance, you specify an update with Some(5) rather than making the type of Option
explicit, it doesn't fall back to auto-derivation
This ensures that if, for instance, you specify an update with Some(5) rather than making the type of Option
explicit, it doesn't fall back to auto-derivation