redux-form-validators
Version:
Simple validations with redux-form / react-final-form
37 lines (28 loc) • 966 B
JavaScript
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;
}
};
}
;