isArrayOf
isArrayOf(itemPredicate)
Verifies if provided Validatable
represents an array where each item matches provided itemPredicate
.
Arguments:
itemPredicate
- required, of typePredicate
Possible errors:
If provided Validatable
is not an array:
Validatable
is not an array:{
type: "isArray",
path: [/* ... */]
}
If provided Validatable
is an array that contains some items not matching the itemPredicate
:
Validatable
is an array that contains some items not matching the itemPredicate
:Errors for all not matching items will be returned, as errors returned by itemPredicate
. path
property of each error will point to the element in the array that didn't match.
Examples:
Each of examples uses this import statement:
const { asVerificable, isValid, isArrayOf, isString, getErrors } = require("verifica");
Non-array values (like string in this example) are not a valid array, and will fail with an isArray
error:
isArray
error:const verificable = asVerificable("something");
isValid(verificable, isArrayOf(isString)); // false
getErrors(verificable, isArrayOf(isString)); // [{ type: "isArray", path: [] }]
Empty array satisfies any itemPredicate
, since there are no array elements that doesn't match it:
itemPredicate
, since there are no array elements that doesn't match it:const verificable = asVerificable([]);
isValid(verificable, isArrayOf(isString)); // true
If some items in the array doesn't match itemPredicate
, isArrayOf
fails returning errors for all not-matching items. Errors are as returned by itemPredicate
, including item index in the array in the path
property:
itemPredicate
, isArrayOf
fails returning errors for all not-matching items. Errors are as returned by itemPredicate
, including item index in the array in the path
property:const verificable = asVerificable(["one", "two", null]);
isValid(verificable, isArrayOf(isString)); // false
getErrors(verificable, isArrayOf(isString)); // [{ type: "isString", path: [2] }]
Last updated
Was this helpful?