UNPKG

@felte/validator-vest

Version:
50 lines (46 loc) 1.39 kB
'use strict'; var common = require('@felte/common'); function shapeErrors(errors) { let err = {}; for (const [fieldName, messages] of Object.entries(errors)) { err = common._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 {}; }; } exports.validateSuite = validateSuite; exports.validator = validator; exports.warnSuite = warnSuite; //# sourceMappingURL=index.cjs.map