UNPKG

@root-systems/redux-form-validators

Version:
93 lines (73 loc) 2.89 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_ALLOW_BLANK = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; exports.regFormat = regFormat; exports.prepare = prepare; exports.trunc = trunc; exports.isNumber = isNumber; exports.formatMessage = formatMessage; exports.memoize = memoize; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactIntl = require('react-intl'); var _format = require('./format'); var _format2 = _interopRequireDefault(_format); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var DEFAULT_ALLOW_BLANK = exports.DEFAULT_ALLOW_BLANK = false; function regFormat(options, reg, messageId) { options.msg = options.msg || options.message || messageId; options.with = reg; return (0, _format2.default)(options); } function prepare(ifCond, unlessCond, allowBlank, func) { return function () { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var allValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; value = '' + value; if (allowBlank && !value.trim()) { return; } if (('function' !== typeof ifCond || ifCond(allValues, value)) && ('function' !== typeof unlessCond || !unlessCond(allValues, value))) { return func(value, allValues); } }; } function trunc(num) { return Math.trunc ? Math.trunc(num) : num < 0 ? Math.ceil(num) : Math.floor(num); } function isNumber(num) { return !isNaN(num) && '' !== ('' + num).trim(); } function formatMessage(msg) { if (null == msg) return null; return 'string' === typeof msg ? _react2.default.createElement(_reactIntl.FormattedMessage, { id: msg }) : _react2.default.createElement(_reactIntl.FormattedMessage, msg.props || msg); } function memoize(func) { if (!func.cache) { func.cache = {}; } return function (options) { var key = stringify(options); return HAS_PROP.call(func.cache, key) ? func.cache[key] : func.cache[key] = func(options); }; } // private var HAS_PROP = {}.hasOwnProperty; var TO_STRING = {}.toString; function stringify(options) { var arr = []; var value = void 0; for (var k in options) { if (HAS_PROP.call(options, k)) { value = options[k]; arr.push(k, _react2.default.isValidElement(value) ? stringify(value.props) : isObject(value) ? stringify(value) : value); } } return arr.toString(); } function isObject(obj) { return 'object' === (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) && '[object Object]' === TO_STRING.call(obj) && null !== obj; }