Packages

t

kantan.codecs.shapeless

ShapelessInstances

trait ShapelessInstances extends AnyRef

Provides Codec instances for case classes and sum types.

The purpose of this package is to let concrete Codec implementations (such as kantan.csv or kantan.regex) focus on providing instances for HList and Coproduct. Once such instances exist, this package will take care of the transformation from and to case classes and sum types.

Additionally, instances derived that way will be inserted with a sane precedence in the implicit resolution mechanism. This means, for example, that they will not override bespoke Option or Either instances.

Source
ShapelessInstances.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ShapelessInstances
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. implicit def caseClassDecoder[E, D, F, T, H <: HList](implicit gen: Aux[D, H], dr: Lazy[Decoder[E, H, F, T]]): DerivedDecoder[E, D, F, T]

    Provides a Decoder instance for case classes.

    Provides a Decoder instance for case classes.

    Given a case class D, this expects n Decoder instance for the HList type corresponding to D. It will then rely on that to turn encoded values into an HList, then turn the resulting value into a D.

  6. implicit def caseClassDecoderFromLabelled[E, D, F, T, H <: HList](implicit generic: Aux[D, H], hDecoder: Lazy[Decoder[E, H, F, T]]): DerivedDecoder[E, D, F, T]

    Similar to caseClassDecoder, but working with LabelledGeneric rather than just Generic.

  7. implicit def caseClassEncoder[E, D, T, H <: HList](implicit gen: Aux[D, H], er: Lazy[Encoder[E, H, T]]): DerivedEncoder[E, D, T]

    Provides an Encoder instance for case classes.

    Provides an Encoder instance for case classes.

    Given a case class D, this expects an Encoder instance for the HList type corresponding to D. It will then simply turn values of type D into values of the corresponding HList, then let the encoder take it from there.

  8. implicit def caseClassEncoderFromLabelled[E, D, T, H <: HList](implicit generic: Aux[D, H], hEncoder: Lazy[Encoder[E, H, T]]): DerivedEncoder[E, D, T]

    Similar to caseClassEncoder, but working with LabelledGeneric rather than just Generic.

  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. implicit def cnilDecoder[E, F, T](implicit arg0: IsError[F]): Decoder[E, CNil, F, T]
  11. implicit def cnilEncoder[E, D, T]: Encoder[E, CNil, T]
    Annotations
    @SuppressWarnings()
  12. implicit def coproductDecoder[E, H, D <: Coproduct, F, T](implicit dh: Decoder[E, H, F, T], dt: Decoder[E, D, F, T]): Decoder[E, :+:[H, D], F, T]
  13. implicit def coproductEncoder[E, H, D <: Coproduct, T](implicit eh: Encoder[E, H, T], ed: Encoder[E, D, T]): Encoder[E, :+:[H, D], T]
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. implicit def sumTypeDecoder[E, D, F, T, C <: Coproduct](implicit gen: Aux[D, C], dr: Lazy[Decoder[E, C, F, T]]): DerivedDecoder[E, D, F, T]

    Provides a Decoder instance for sum types.

    Provides a Decoder instance for sum types.

    Given a case class D, this expects n Decoder instance for the Coproduct type corresponding to D. It will then rely on that to turn encoded values into a Coproduct, then turn the resulting value into a D.

  24. implicit def sumTypeEncoder[E, D, T, C <: Coproduct](implicit gen: Aux[D, C], er: Lazy[Encoder[E, C, T]]): DerivedEncoder[E, D, T]

    Provides an Encoder instance for sum types.

    Provides an Encoder instance for sum types.

    Given a sum type D, this expects an Encoder instance for the Coproduct type corresponding to D. It will then simply turn values of type D into values of the corresponding Coproduct, then let the encoder take it from there.

  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped