Fully automatic configurable codec derivation.
Configuration allowing customisation of the JSON produced when encoding, or expected when decoding.
Configuration allowing customisation of the JSON produced when encoding, or expected when decoding. Can be used with the ConfiguredJsonCodec annotation to allow customisation of the semi-automatic derivation.
Transforms the names of any case class members in the JSON allowing, for example, formatting or case changes.
Transforms the value of any constructor names in the JSON allowing, for example, formatting or case changes.
Whether to allow default values as specified for any case-class members.
Optional key name that, when given, will be used to store the name of the constructor of an ADT in a nested field with this name. If not given, the name is instead stored as a key under which the contents of the ADT are stored as an object.
Semi-automatic codec derivation.
Semi-automatic codec derivation.
This object provides helpers for creating io.circe.Decoder and io.circe.ObjectEncoder instances for case classes, "incomplete" case classes, sealed trait hierarchies, etc.
Typical usage will look like the following:
import io.circe._, io.circe.generic.semiauto._ case class Foo(i: Int, p: (String, Double)) object Foo { implicit val decodeFoo: Decoder[Foo] = deriveDecoder[Foo] implicit val encodeFoo: ObjectEncoder[Foo] = deriveEncoder[Foo] }
Fully automatic configurable codec derivation.
Extending this trait provides io.circe.Decoder and io.circe.Encoder instances for case classes (if all members have instances), "incomplete" case classes, sealed trait hierarchies, etc.