UNPKG

redux-form-validators

Version:

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

40 lines (31 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = addValidator; var _messages = _interopRequireDefault(require("./messages")); var _validators = _interopRequireDefault(require("./validators")); var _helpers = require("./helpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function addValidator(_ref) { var validator = _ref.validator, defaultMessage = _ref.defaultMessage, defaultMsg = _ref.defaultMsg; defaultMsg = (0, _helpers.toObjectMsg)(defaultMsg || defaultMessage) || _messages["default"].invalid; return (0, _helpers.memoize)(function () { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var msg = (0, _helpers.toObjectMsg)(options.msg || options.message) || defaultMsg; return (0, _helpers.prepare)(options["if"], options.unless, options.allowBlank, function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var result = validator.apply(void 0, [options].concat(args)); if (typeof result !== 'boolean') { return result ? _validators["default"].formatMessage(result) : null; } if (!result) { return _validators["default"].formatMessage(msg); } }); }); }