nullable

inline fun <I : Any, O : Any> nullable(name: String, crossinline encoder: (I) -> O, crossinline decoder: (O) -> I?): Codec<I, O>(source)

Builds a codec that tolerates missing values by using a nullable decoding function.

Return

a codec that reports failures and uses encoder for serialization.

Parameters

I

domain type to decode and encode.

O

serialized representation produced during encoding.

name

human readable identifier used in error messages.

encoder

transformation applied when encoding I to O.

decoder

nullable transformation that converts O back to I; returning null yields an error.