UNPKG

redux-form-validators

Version:

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

101 lines (86 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _validators = _interopRequireDefault(require("./validators")); var _helpers = require("./helpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var numericality = (0, _helpers.memoize)(function () { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _int = _ref["int"], integer = _ref.integer, even = _ref.even, odd = _ref.odd, equal = _ref['='], equalTo = _ref.equalTo, diff = _ref['!='], otherThan = _ref.otherThan, greater = _ref['>'], greaterThan = _ref.greaterThan, less = _ref['<'], lessThan = _ref.lessThan, greaterOrEqual = _ref['>='], greaterThanOrEqualTo = _ref.greaterThanOrEqualTo, lessOrEqual = _ref['<='], lessThanOrEqualTo = _ref.lessThanOrEqualTo, message = _ref.message, msg = _ref.msg, ifCond = _ref["if"], unless = _ref.unless, allowBlank = _ref.allowBlank; msg = msg || message; _int = _int || integer; equal = (0, _helpers.selectNum)(equal, equalTo); diff = (0, _helpers.selectNum)(diff, otherThan); greater = (0, _helpers.selectNum)(greater, greaterThan); greaterOrEqual = (0, _helpers.selectNum)(greaterOrEqual, greaterThanOrEqualTo); less = (0, _helpers.selectNum)(less, lessThan); lessOrEqual = (0, _helpers.selectNum)(lessOrEqual, lessThanOrEqualTo); return (0, _helpers.prepare)(ifCond, unless, allowBlank, function (value) { if (!(0, _helpers.isNumber)(value)) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'notANumber', 'NaN')); } if (_int && +value % 1) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'notAnInteger', 'int')); } if (equal !== null && +value !== equal) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'equalTo', '=', { count: equal })); } if (diff !== null && +value === diff) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'otherThan', '!=', { count: diff })); } if (greater !== null && +value <= greater) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'greaterThan', '>', { count: greater })); } if (greaterOrEqual !== null && +value < greaterOrEqual) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'greaterThanOrEqualTo', '>=', { count: greaterOrEqual })); } if (less !== null && +value >= less) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'lessThan', '<', { count: less })); } if (lessOrEqual !== null && +value > lessOrEqual) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'lessThanOrEqualTo', '<=', { count: lessOrEqual })); } if (even && (0, _helpers.trunc)(+value) % 2) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'even')); } if (odd && !((0, _helpers.trunc)(+value) % 2)) { return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'odd')); } }); }); var _default = numericality; exports["default"] = _default;