and
The and() function combines several predicates or type guards. All must succeed for the result to be true and the type to be narrowed to the intersection.
Interactive example
Syntax
Classic signature
typescript
// Type Guard predicate
function and<
GenericInput extends unknown,
GenericArrayPredicatedInput extends [
(input: GenericInput) => input is any,
(input: GenericInput) => input is any,
...((input: GenericInput) => input is any)[]
]
>(
input: GenericInput,
predicatedList: GenericArrayPredicatedInput
): input is ComputeResult<GenericInput, GenericArrayPredicatedInput>;
// Boolean predicate
function and<
GenericInput extends unknown
>(
input: GenericInput,
predicatedList: [
(input: GenericInput) => boolean,
(input: GenericInput) => boolean,
...((input: GenericInput) => boolean)[]
]
): boolean;Curried signature
typescript
// Type Guard predicate
function and<
GenericInput extends unknown,
GenericArrayPredicatedInput extends [
(input: GenericInput) => input is any,
(input: GenericInput) => input is any,
...((input: GenericInput) => input is any)[]
]
>(
predicatedList: GenericArrayPredicatedInput
): (input: GenericInput) => input is ComputeResult<GenericInput, GenericArrayPredicatedInput>;
// Boolean predicate
function and<
GenericInput extends unknown
>(
predicatedList: [
(input: GenericInput) => boolean,
(input: GenericInput) => boolean,
...((input: GenericInput) => boolean)[]
]
): (input: GenericInput) => boolean;Parameters
predicates: Array of functions testing the input (can be type guards).input(direct overload) : Tested value.
Return value
A boolean (or a type guard if the predicates are) true only if all predicates pass.
See also
or- Union of predicates
