Skip to main content

Codec

Index

Interfaces

Type Aliases

Functions

Interfaces

Context

Context<T>:

Type parameters

  • T

error

error: (input: unknown, asType?: string) => Result<T, CodecError>

Helper that returns a new Error result

ok

ok: (value: T) => Result<T, CodecError>

Helper that returns a new Ok result

Type Aliases

TypeOf

TypeOf<V>: V extends Codec<infer Type> ? Type : never

Type parameters

  • V

Functions

decode

  • Returns a Result containing the decoded input

    @example
    const codec: Codec<Date> = dateISO;
    const input = '2022-07-31T14:04:48.449Z';
    const decoded = Codec.decode(codec, input);// Result.Ok('2022-07-31T14:04:48.449Z')

    Type parameters

    • T

encode

  • encode<T>(codec: Pick<Codec<T>, codecEncode>, input: T): unknown
  • Returns the encoded input

    @example
    const codec: Codec<Date> = dateISO;
    const input = new Date('2022-07-31T14:04:48.449Z');
    const encoded = Codec.encode(codec, input);// '2022-07-31T14:04:48.449Z'

    Type parameters

    • T

lazy

  • Returns a lazy evaluated codec. Useful for recursive structures.

    @example
    interface Node {
    value: unknown,
    children: Node[]
    }
    const Node = object<Node>({
    content: string,
    responses: Codec.lazy(() => array(Node))
    })

    Type parameters

    • T

schema

  • Returns the JSONSchema

    @example
    Codec.schema(string);// { type: 'string' }

    Type parameters

    • T