UNPKG

redux-form-validators

Version:

Simple validations with redux-form / react-final-form

37 lines (28 loc) 966 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = combine; exports.firstErr = firstErr; var _validators = _interopRequireDefault(require("./validators")); var _helpers = require("./helpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var CACHE = {}; var VALIDATOR_ID = 0; function combine() { var args = arguments; if (!_validators["default"].defaultOptions.memoize) return firstErr(args); var keys = []; for (var i = 0, len = args.length; i < len; ++i) { keys.push(args[i]._validatorId || (args[i]._validatorId = ++VALIDATOR_ID)); } var key = keys.sort().join('-'); return _helpers.HAS_PROP.call(CACHE, key) ? CACHE[key] : CACHE[key] = firstErr(args); } function firstErr(arr) { return function () { for (var i = 0, len = arr.length, err; i < len; ++i) { if (err = arr[i].apply(null, arguments)) return err; } }; }