UNPKG

@data-driven-forms/react-form-renderer

Version:

React Form Renderer. Data Driven Forms converts JSON form definitions into fully functional React forms.

46 lines (35 loc) 1.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray")); var composeValidators = function composeValidators() { var validators = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; return function (value, allValues, meta) { var _validators = (0, _toArray2["default"])(validators), initialValidator = _validators[0], sequenceValidators = _validators.slice(1); var resolveValidator = function resolveValidator(error, validator) { if (error) { return error; } if (typeof validator !== 'function') { return undefined; } return validator(value, allValues, meta); }; var result = resolveValidator(undefined, initialValidator); if (result !== null && result !== void 0 && result.then) { return result.then(function () { return sequenceValidators.reduce(resolveValidator, undefined); })["catch"](function (error) { return error; }); } return sequenceValidators.reduce(resolveValidator, result); }; }; var _default = composeValidators; exports["default"] = _default;