Skip to main content

ArraySchema <T>

Type parameters

  • T = unknown[]

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.

never

  • Mark that this field should never be used.

notEmpty

  • Require field array to not be empty.

notNullable

  • Disallow null values.

notUndefinable

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

nullable

  • Allow and return null values.

of

  • Require field array items to be of a specific schema type. Will rebuild the array and type cast values.


    Type parameters

    • V

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.

sizeOf

  • sizeOf(size: number, options?: Options): S
  • Require field array to be of a specific size.

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.