UNPKG

react-validation-mixin

Version:
47 lines (34 loc) 1.79 kB
'use strict'; exports.__esModule = true; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.default = validationFactory; var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(_invariant); var _lodash = require('lodash.isempty'); var _lodash2 = _interopRequireDefault(_lodash); var _lodash3 = require('lodash.get'); var _lodash4 = _interopRequireDefault(_lodash3); var _utils = require('./utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function validationFactory(strategy) { var _strategy = typeof strategy === 'function' ? strategy() : strategy; (0, _invariant2.default)((0, _utils.defined)(_strategy), 'Validation strategy not provided. A user provided strategy is expected.'); (0, _invariant2.default)(typeof _strategy !== 'function', 'Validation strategy improperly initialized. Refer to documentation of the provided strategy.'); return _extends({ getValidationMessages: function getValidationMessages() { var errors = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; var key = arguments[1]; if ((0, _lodash2.default)(errors)) { return []; } if (key === undefined) { return (0, _utils.flattenErrorsObject)(errors); } return (0, _lodash4.default)(errors, key); }, isValid: function isValid(errors, key) { if (!(0, _utils.defined)(key)) return (0, _lodash2.default)(errors); return (0, _lodash2.default)((0, _lodash4.default)(errors, key)); } }, _strategy); }