@yobta/validator
Version:
Tree-shakable es6 validator
25 lines (24 loc) • 790 B
JavaScript
import { handleUnknownError } from '../_internal/parseUnknownError/index.js';
import { rule } from '../rule/rule.js';
export const items = (...rules) => {
return rule((input, context) => {
return input
? input.map((item, index) => {
try {
let next = item;
for (const test of rules) {
next = test(context)(next);
}
return next;
}
catch (error) {
throw handleUnknownError({
error,
field: context.field,
path: [...context.path, index],
});
}
})
: input;
});
};