UNPKG

@felte/validator-vest

Version:
46 lines (43 loc) 1.31 kB
import { _set } from '@felte/common'; function shapeErrors(errors) { let err = {}; for (const [fieldName, messages] of Object.entries(errors)) { err = _set(err, fieldName, messages); } return err; } function validateSuite(suite) { return async function validate(values) { return new Promise((resolve) => { suite(values).done((results) => { if (results.hasErrors()) { resolve(shapeErrors(results.getErrors())); } else { resolve(undefined); } }); }); }; } function warnSuite(suite) { return async function validate(values) { const results = suite(values); if (results.hasWarnings()) { return shapeErrors(results.getWarnings()); } }; } function validator({ suite, }) { return function extender(currentForm) { if (currentForm.stage !== 'SETUP') return {}; const validateFn = validateSuite(suite); const warnFn = warnSuite(suite); currentForm.addValidator(validateFn); currentForm.addValidator(warnFn, { level: 'warning' }); return {}; }; } export { validateSuite, validator, warnSuite }; //# sourceMappingURL=index.mjs.map