UNPKG

redux-form-validators

Version:

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

55 lines (47 loc) 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.inclusionExclusion = inclusionExclusion; exports["default"] = void 0; var _validators = _interopRequireDefault(require("./validators")); var _helpers = require("./helpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var inclusion = (0, _helpers.memoize)(function (options) { return inclusionExclusion(true, options); }); var _default = inclusion; exports["default"] = _default; function inclusionExclusion(inclusion, _ref) { var inc = _ref["in"], within = _ref.within, caseSensitive = _ref.caseSensitive, message = _ref.message, msg = _ref.msg, ifCond = _ref["if"], unless = _ref.unless, allowBlank = _ref.allowBlank; msg = msg || message; within = [].concat(within || inc).map(function (val) { return '' + val; }); return (0, _helpers.prepare)(ifCond, unless, allowBlank, function (value) { var cs = caseSensitive != null ? caseSensitive : _validators["default"].defaultOptions.caseSensitive; var array = within; if (!cs) { value = value.toLowerCase(); array = array.map(function (val) { return val.toLowerCase(); }); } if (inclusion) { if (array.indexOf(value) < 0) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'inclusion')); } } else { if (array.indexOf(value) >= 0) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'exclusion')); } } }); }