Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 761 Bytes

Encoder.md

File metadata and controls

41 lines (31 loc) · 761 Bytes

Encoder interface

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))
  }
}

Combinators

  • nullable
  • type
  • partial
  • record
  • array
  • tuple
  • intersection
  • sum
  • lazy