izumi.idealingua.runtime.circe
package izumi.idealingua.runtime.circe
Members list
Concise view
Type members
Classlikes
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass AnyValtrait Matchableclass Any
object DerivationDerivedCodec
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass AnyValtrait Matchableclass Any
object DerivationDerivedDecoder
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass AnyValtrait Matchableclass Any
object DerivationDerivedEncoder
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
trait IRTTimeInstances
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
object IRTTimeInstances
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- IRTTimeInstances.type
Provides circe codecs for case classes and sealed traits
Provides circe codecs for case classes and sealed traits
final case class Abc(a: String, b: String, c: String)
object Abc extends IRTWithCirce[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 IRTWithCirce[Abc]
object Abc extends IRTWithCirce(abcCodecs) {
final case class A()
object A extends IRTWithCirce[A]
final case class B()
object B extends IRTWithCirce[B]
final case class C()
object C extends IRTWithCirce[C]
}
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any