Packages

package circe

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. class CirceToolMacro extends AnyRef
  2. final case class DerivationDerivedCodec[A](value: AsObject[A]) extends AnyVal with Product with Serializable
  3. final case class DerivationDerivedDecoder[A](value: Decoder[A]) extends AnyVal with Product with Serializable
  4. final case class DerivationDerivedEncoder[A](value: AsObject[A]) extends AnyVal with Product with Serializable
  5. final class MaterializeDerivationMacros extends AnyRef
  6. abstract class WithCirce[A] extends AnyRef

    Requires library dependency on "io.circe" %% "circe-derivation" % "0.13.0-M5" or later (NOT brought in as a dependency automatically)

    Requires library dependency on "io.circe" %% "circe-derivation" % "0.13.0-M5" or later (NOT brought in as a dependency automatically)

    Provides circe codecs for case classes and sealed traits

    final case class Abc(a: String, b: String, c: String)
    
    object Abc extends WithCirce[Abc]

    To derive codecs for a sealed trait with branches inside its own companion object, use a proxy object - this works around a scala limitation: https://github.com/milessabin/shapeless/issues/837

    sealed trait Abc
    
    private abcCodecs extends WithCirce[Abc]
    
    object Abc extends WithCirce(abcCodecs) {
      final case class A()
      object A extends WithCirce[A]
    
      final case class B()
      object B extends WithCirce[B]
      final case class C()
    
      object C extends WithCirce[C]
    }

Ungrouped