optional

If you use the optional modifier, given schema will be extended to also match undefined values, and its output type will be undefined | T.

const optionalRoleSchema = optional(oneOf(['User', 'Admin']));
const optionalRoleValidator = validate(optionalRoleSchema);
// Returns 'User', the output type is undefined | 'User' | 'Admin'
const role = optionalRoleValidator('User');
// Both return undefined
optionalRoleValidator();
optionalRoleValidator(undefined);
// Throws validation error
optionalRoleValidator(null);
Last updated on by Michał Miszczyszyn