Class ObjectSchema<T>

Object Schema

Type Parameters

  • T extends Record<string, any>

Hierarchy

Constructors

  • Type Parameters

    • T extends Record<string, any>

    Parameters

    • schema: { [ K in string | number | symbol]: Schema<T[K]> }

    Returns ObjectSchema<T>

Properties

shape: { [ K in string | number | symbol]: Schema<T[K]> }

Returns shape of the Schema.

Methods

  • Asign required field.

    Note that Schema cannot handle objects with any optional fields.

    Example

    ObjectSchema.object()
    .extendField<{ foo: string }>("foo", string())
    .extendField<{ readonly bar: number }>("bar", number())
    // => Returns Schema for `{ foo: string; readonly bar: number }`

    Type Parameters

    • K extends string

    • V

    Parameters

    Returns ObjectSchema<Merged<T, { [ key in string]: V }>>

  • Parameters

    • input: T

    Returns AttributeMap

  • Omit required fields.

    Example

    object({
    "foo": string(),
    "bar": number(),
    })
    .omitField("foo")
    // => Returns Schema for `{ bar: number }`

    Type Parameters

    • K extends string | number | symbol

    Parameters

    • key: K

    Returns ObjectSchema<Omit<T, K>>

  • Returns Schema

  • Parameters

    • input: AttributeMap

    Returns T

  • Type Parameters

    • T

    Parameters

    • schema: { [ K in string | number | symbol]: Schema<T[K]> }

    Returns ObjectSchema<{ [ K in string | number | symbol]: T[K] }>

Generated using TypeDoc