Constructs the first link in a schema chain.
Constructs linking to the given previous schema.
Enforces T is in an invariant position. This prevents a validator with more strict rules is assigned to a less strict type, which can cause unexpected validation errors.
ReadonlyassertValidates the given input, asserting that the input is type T.
If the input is not valid, a ValidationError will be thrown.
The input to validate.
Optionalorigin: string
The error origin. ErrorOrigin.API by default.
Optionalpath: readonly string[]
The current field path to this validator.
Returns the input, cast as the validated type T
ReadonlyisReturns true if the input is valid according to this validator.
A short description of the validator.
The composed JSON Schema fragment for this schema, including any describe description. Composes through chaining the same way description does; serialize a complete definition with toJsonSchema.
Returns a validator that asserts if this validator and the next passes.
Returns a new ValueSchema intersecting this validator and the next.
ProtectedchainConstructs a new schema with a validator chaining the current validator with the provided next in an AND operation.
The validator to run after the current.
Returns a new Schema instance the same class with a new validator chaining the current validator with the given next in an AND operation.
ProtectedcloneClones this schema, transforming all validators with the given mutator.
Attaches a human-readable description to this schema, akin to zod's describe.
The description is metadata only; it does not affect validation, and surfaces in the output
of toJsonSchema.
The description to attach.
A clone of this schema carrying the description.
Prepends this validator allowing for null or undefined.
Returns a validator that asserts if this validator or the next passes.
Implementation note: subclasses should not change the schema instance returned unless all chainable validators accept input type 'unknown'.
Returns a new ValueSchema providing the union of this validator and the next.
Prepends this validator allowing for null.
Prepends this validator allowing for undefined.
ProtectedselfSerializes this schema to a JSON Schema definition, suitable for describing the shape to an LLM or other consumer. Works similarly to zod-to-json-schema.
ReadonlyvalidateThe input to validate.
Optionaloptions: ValidationOptions
Validation options.
Optionalpath: readonly string[]
The current field path to this validator.
Returns an array of validation failures. If options.all is not true, only the
first error will be returned.
A base class for validation state. Provides methods for chaining.
Subclasses should not override constructors.