RowDecoderF

@FunctionalInterface
trait RowDecoderF[H <: (Option), T, Header]

Describes how a row can be decoded to the given type.

RowDecoderF provides convenient methods such as map, emap, or flatMap to build new decoders out of more basic one.

Actually, RowDecoderF has a cats `MonadError` instance. To get the full power of it, import cats.implicits._.

Companion:
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def apply(row: RowF[H, Header]): DecoderResult[T]

Concrete methods

def either[B](cd: RowDecoderF[H, B, Header]): RowDecoderF[H, Either[T, B], Header]

Similar to or, but return the result as an Either signaling which row decoder succeeded. Allows for parsing an unrelated type in case of failure.

Similar to or, but return the result as an Either signaling which row decoder succeeded. Allows for parsing an unrelated type in case of failure.

Type parameters:
B

the type the alternative decoder returns

Value parameters:
cd

the alternative decoder

Returns:

a decoder combining both decoders

def emap[T2](f: T => DecoderResult[T2]): RowDecoderF[H, T2, Header]

Map the parsed value, potentially failing.

Map the parsed value, potentially failing.

Type parameters:
T2

the result type

Value parameters:
f

the mapping function

Returns:

a row decoder reading the mapped type

def flatMap[T2](f: T => RowDecoderF[H, T2, Header]): RowDecoderF[H, T2, Header]

Map the parsed value to a new decoder, which in turn will be applied to the parsed value.

Map the parsed value to a new decoder, which in turn will be applied to the parsed value.

Type parameters:
T2

the result type

Value parameters:
f

the mapping function

Returns:

a row decoder reading the mapped type

def map[T2](f: T => T2): RowDecoderF[H, T2, Header]

Map the parsed value.

Map the parsed value.

Type parameters:
T2

the result type

Value parameters:
f

the mapping function

Returns:

a row decoder reading the mapped type

def or[TT >: T](cd: => RowDecoderF[H, TT, Header]): RowDecoderF[H, TT, Header]

Fail-over. If this decoder fails, try the supplied other decoder.

Fail-over. If this decoder fails, try the supplied other decoder.

Type parameters:
TT

the return type

Value parameters:
cd

the fail-over decoder

Returns:

a decoder combining this and the other decoder