export interface Encoder<A> {
readonly encode: (a: A) => unknown
}
Example
An encoder representing a nullable value
import * as E from 'io-ts/lib/Encoder'
export function nullable<A>(or: E.Encoder<A>): E.Encoder<null | A> {
return {
encode: (a) => (a === null ? a : or.encode(a))
}
}
nullable
type
partial
record
array
tuple
intersection
sum
lazy