UNPKG

@yobta/validator

Version:
24 lines (23 loc) 629 B
import { createContext } from '../_internal/createContext/createContext.js'; import { handleUnknownError } from '../_internal/parseUnknownError/index.js'; export const createValidator = (...rules) => (event, context) => { const ctx = context || { ...createContext(event), pushError(error) { throw error; }, }; try { for (const rule of rules) { event = rule(ctx)(event); } return event; } catch (error) { throw handleUnknownError({ error, field: ctx.field, path: ctx.path, }); } };