Skip to main content

InstanceSchema <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.

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.

of

  • Require this field to be an instance of the defined class. When loose is true, will compare using the class name. This should only be used when dealing with realms and package hazards.


    Type parameters

    • C

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.