Skip to main content
Module

x/abstruct/mod.ts>OptionalValidator

Abstract structure for JavaScript data validation
Latest
class OptionalValidator
extends BasicValidator<Partial<T>, Partial<U>>
import { OptionalValidator } from "https://deno.land/x/abstruct@1.0.0/mod.ts";

Optional object validator. It checks properties, but also passes if the property does not exist.

Examples

Example 1

import { OptionalValidator } from "https://deno.land/x/abstruct@$VERSION/validators/object/optional.ts";
import { type Validator } from "https://deno.land/x/abstruct@$VERSION/types.ts";
declare const validator: Validator<string>;
const optionalValidator = new OptionalValidator({ key: validator, [Symbol()]: validator });

Constructors

new
OptionalValidator(validators: readonly [k in keyof T]-?: Readonly<Validator<T[k], U[k]>> & readonly [k in keyof U]-?: Readonly<Validator<U[k]>>)

Type Parameters

T extends object
optional
U extends T = T

Properties

validators: [k in keyof T]: Validator<T[k], U[k]> & [k in keyof U]: Validator<U[k]>

Methods

toString(): string
validate(input: Readonly<Partial<T>>): Iterable<ValidationFailure>