DecoderCompanion

kantan.codecs.DecoderCompanion
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.

Attributes

Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
object StringDecoder

Members list

Value members

Concrete methods

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.

Attributes

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.

Attributes

def fromPartial[D](f: PartialFunction[E, Either[F, D]])(implicit t: IsError[F]): Decoder[E, D, F, T]
def fromUnsafe[D](f: E => D)(implicit t: IsError[F]): Decoder[E, D, F, T]

Creates a new Decoder instance from the specified function.

Creates a new Decoder instance from the specified function.

This method turns the specified function safe. The error message might end up being a bit generic though - use from if you want to deal with errors explicitly.

Attributes

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.

Attributes