package shapeless
- Source
- package.scala
- Alphabetic
- By Inheritance
- shapeless
- ShapelessInstances
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait ShapelessInstances extends AnyRef
Provides
Codecinstances for case classes and sum types.Provides
Codecinstances for case classes and sum types.The purpose of this package is to let concrete
Codecimplementations (such as kantan.csv or kantan.regex) focus on providing instances forHListandCoproduct. 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
OptionorEitherinstances.
Value Members
- 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
Decoderinstance for case classes.Provides a
Decoderinstance for case classes.Given a case class
D, this expects nDecoderinstance for theHListtype corresponding toD. It will then rely on that to turn encoded values into anHList, then turn the resulting value into aD.- Definition Classes
- ShapelessInstances
- 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
LabelledGenericrather than justGeneric.Similar to caseClassDecoder, but working with
LabelledGenericrather than justGeneric.- Definition Classes
- ShapelessInstances
- 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
Encoderinstance for case classes.Provides an
Encoderinstance for case classes.Given a case class
D, this expects anEncoderinstance for theHListtype corresponding toD. It will then simply turn values of typeDinto values of the correspondingHList, then let the encoder take it from there.- Definition Classes
- ShapelessInstances
- 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
LabelledGenericrather than justGeneric.Similar to caseClassEncoder, but working with
LabelledGenericrather than justGeneric.- Definition Classes
- ShapelessInstances
- implicit def cnilDecoder[E, F, T](implicit arg0: IsError[F]): Decoder[E, CNil, F, T]
- Definition Classes
- ShapelessInstances
- implicit def cnilEncoder[E, D, T]: Encoder[E, CNil, T]
- Definition Classes
- ShapelessInstances
- Annotations
- @SuppressWarnings()
- 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]
- Definition Classes
- ShapelessInstances
- implicit def coproductEncoder[E, H, D <: Coproduct, T](implicit eh: Encoder[E, H, T], ed: Encoder[E, D, T]): Encoder[E, :+:[H, D], T]
- Definition Classes
- ShapelessInstances
- 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
Decoderinstance for sum types.Provides a
Decoderinstance for sum types.Given a case class
D, this expects nDecoderinstance for theCoproducttype corresponding toD. It will then rely on that to turn encoded values into aCoproduct, then turn the resulting value into aD.- Definition Classes
- ShapelessInstances
- 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
Encoderinstance for sum types.Provides an
Encoderinstance for sum types.Given a sum type
D, this expects anEncoderinstance for theCoproducttype corresponding toD. It will then simply turn values of typeDinto values of the correspondingCoproduct, then let the encoder take it from there.- Definition Classes
- ShapelessInstances