Skip to main content
Module

x/abstruct/mod.ts>AndValidator

Abstract structure for JavaScript data validation
Go to Latest
class AndValidator
extends BasicValidator<In, RIn>
import { AndValidator } from "https://deno.land/x/abstruct@1.0.0-beta.12/mod.ts";

And validator composer. It composes validators like Logical AND operator.

Examples

Example 1

import { AndValidator } from "https://deno.land/x/abstruct@$VERSION/validators/operators/and.ts";
import { type Validator } from "https://deno.land/x/abstruct@$VERSION/types.ts";
declare const v: Validator;
const validator = AndValidator.create(v, v, v)

Constructors

new
AndValidator(validators: readonly Readonly<Validator<In, RIn>>[])

Type Parameters

optional
In = unknown
optional
RIn extends In = In

Properties

validators: Validator<In, RIn>[]

Methods

toString(): string
validate(input: In): Iterable<ValidationFailure>

Static Methods

create<In, RIn extends In = In, In2 = unknown, RIn2 extends In2 = In2>(v1: Validator<In, RIn>, v2: Validator<In2 | RIn, RIn2>): AndValidator<In, RIn & RIn2>

Create AndValidator instance.

create<In, RIn extends In, In2, RIn2 extends In2, In3, RIn3 extends In3>(
v2: Validator<In2 | RIn, RIn2>,
v3: Validator<In3 | RIn & RIn2, RIn3>,
): AndValidator<In, RIn & RIn2 & RIn3>
create<In, RIn extends In, In2, RIn2 extends In2, In3, RIn3 extends In3, In4, RIn4 extends In4>(
v2: Validator<In2 | RIn, RIn2>,
v3: Validator<In3 | RIn & RIn2, RIn3>,
v4: Validator<In4 | RIn & RIn2 & RIn3, RIn4>,
): AndValidator<In,
& RIn
& RIn2
& RIn3
& RIn4
>
create<In, RIn extends In, In2, RIn2 extends In2, In3, RIn3 extends In3, In4, RIn4 extends In4, In5, RIn5 extends In5>(
v2: Validator<In2 | RIn, RIn2>,
v3: Validator<In3 | RIn & RIn2, RIn3>,
v4: Validator<In4 | RIn & RIn2 & RIn3, RIn4>,
v5: Validator<In5 |
& RIn
& RIn2
& RIn3
& RIn4
, RIn5>
,
): AndValidator<In,
& RIn
& RIn2
& RIn3
& RIn4
& RIn5
>