Skip to main content

ShapeSchema <T>

Type parameters

  • T

Hierarchy

Index

Methods

and

  • and(keys: string[], options?: Options): S
  • Map a list of field names that must be defined alongside this field.

custom

  • Set a callback to run custom validation logic.

deprecate

  • deprecate(message: string): S
  • Set a message to log when this field is present.

exact

  • exact(state?: boolean): S
  • Require a shape to be an exact. No more and no less of the same properties.

never

  • Mark that this field should never be used.

notNullable

  • Disallow null values.

notUndefinable

  • Disallow undefined values. Will fallback to the default value.

nullable

  • Allow and return null values.

only

  • Mark that this field can ONLY use a value that matches the default value.

optional

  • Require this field to NOT be explicitly defined.

or

  • or(keys: string[], options?: Options): S
  • Map a list of field names that must have at least 1 defined.

required

  • Require this field to be explicitly defined.

schema

  • schema(): string
  • The type of schema.

state

  • The internal state object. Contains useful metadata.

transform

  • Transform a value before it’s passed to the next criteria.

type

  • type(): string
  • The type of schema and it’s children (when applicable).

undefinable

  • Allow and return undefined values. Will NOT fallback to the default value.

validate

  • Run all validation checks that have been enqueued and return a type casted value. If a value is undefined, inherit the default value, otherwise throw if required. If nullable and the value is null, return early.

when

  • Validate with another schema when a condition is met.

xor

  • xor(keys: string[], options?: Options): S
  • Map a list of field names that must not be defined alongside this field.