Array of schema types for each tuple position
Expected input type for the tuple
Output type after validation and transformation
Output type with camelCase property names
Creates a new VineTuple instance with position-specific schemas.
Array of schema types for each tuple position
Expected input type for the tuple
Output type after validation and transformation
Output type with camelCase property names
Array of schemas defining validation for each tuple position
Optionaloptions: FieldOptionsField options like bail mode and nullability
Optionalvalidations: Validation<any>[]Initial set of validations to apply
Define the input type of the schema for TypeScript inference
The output value type of the field after validation. The property points to a type only and not the real value.
Type marker for camelCase output type inference
Unique name identifier for union type resolution
Define a method to parse the input value. The method is invoked before any validation and hence you must perform type-checking to know the value you are working with.
Parser function to transform the input value
This schema instance for method chaining
Push a validation to the validations chain.
Validation rule or rule builder to add
This schema instance for method chaining
Enable/disable the bail mode. In bail mode, the field validations are stopped after the first error.
Whether to enable bail mode
This schema instance for method chaining
Mark the field under validation as optional. An optional field allows both null and undefined values.
A new OptionalModifier wrapping this schema
Mark the field under validation to be null. The null value will be written to the output as well.
If optional and nullable are used together, then both undefined
and null values will be allowed.
A new NullableModifier wrapping this schema
Add meta to the field that can be retrieved once compiled. It is also merged with the json-schema.
Type checker function to determine if a value is an array. Required for "unionOfTypes" functionality.
The value to check
True if the value is an array
Allows additional elements beyond the defined tuple length to pass through validation. By default, tuples enforce exact length matching. This method relaxes that constraint.
This tuple schema with unknown properties allowed
Clones the VineTuple schema including all position schemas, validations, and options.
A cloned instance of this VineTuple schema
Converts the tuple schema to JSON Schema format.
JSON Schema representation of this tuple
Compiles the tuple schema to a compiler node for validation.
Name of the property being compiled
Reference store for the compiler
Parser options
Compiled tuple node for validation
VineTuple represents a fixed-length array where each position has a specific schema type. Unlike VineArray which uses the same schema for all elements, tuples allow different types at different positions, similar to TypeScript tuples.
Example