trait DecoderCompanion[E, F, T] extends Serializable
Provides methods commonly declared by companion objects for specialised decoder types.
Most libraries that use kantan.codecs will declare type aliases for decoders - CellDecoder
in kantan.csv, for
example. DecoderCompanion lets such types have a useful companion object without a lot of code duplication.
- Source
- Decoder.scala
- Alphabetic
- By Inheritance
- DecoderCompanion
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- macro def apply[D](implicit ev: Decoder[E, D, F, T]): Decoder[E, D, F, T]
Summons an implicit instance of Decoder if one is found, fails compilation otherwise.
Summons an implicit instance of Decoder if one is found, fails compilation otherwise.
This is a slightly faster, less verbose version of
implicitly
. - def from[D](f: (E) => Either[F, D]): Decoder[E, D, F, T]
Creates a new Decoder instance from the specified function.
Creates a new Decoder instance from the specified function.
- Annotations
- @inline()
- def fromPartial[D](f: PartialFunction[E, Either[F, D]])(implicit t: IsError[F]): Decoder[E, D, F, T]
- Annotations
- @SuppressWarnings()
- def fromUnsafe[D](f: (E) => D)(implicit t: IsError[F]): Decoder[E, D, F, T]
Creates a new Decoder instance from the specified function.
- def oneOf[D](ds: Decoder[E, D, F, T]*)(implicit i: IsError[F]): Decoder[E, D, F, T]
Creates a new Decoder instance from the specified alternatives.
Creates a new Decoder instance from the specified alternatives.
When decoding, each of the specified decoders will be attempted. The result will be the first success if found, or the last failure otherwise.
- Annotations
- @inline()