UNPKG

@integec/grid-tools

Version:
105 lines (80 loc) 3.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validEmailRegex = exports.isTypeValid = exports.clearValidations = exports.validate = exports.emptyValidations = void 0; var _find2 = _interopRequireDefault(require("ramda/src/find")); var _map2 = _interopRequireDefault(require("ramda/src/map")); var _filter2 = _interopRequireDefault(require("ramda/src/filter")); var _compose2 = _interopRequireDefault(require("ramda/src/compose")); var _isEmpty2 = _interopRequireDefault(require("ramda/src/isEmpty")); var _isNil2 = _interopRequireDefault(require("ramda/src/isNil")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } var emptyValidations = []; // { // test: ({ mode, userName }) => // mode === 'new' && (R.isNil(userName) || R.isEmpty(userName)), // type: 'userName', // text: 'User Name must be entered', // }, exports.emptyValidations = emptyValidations; var requiredData = function requiredData(_ref) { var extractData = _ref.extractData; return function (data) { return function (header) { var required = header.isKey || header.isRequired; var inputData = extractData({ header: header, rowData: data }); var notEntered = (0, _isNil2["default"])(inputData) || (0, _isEmpty2["default"])(inputData); return required && notEntered ? { text: header.display + ' must be entered', type: header.ident } : undefined; }; }; }; var validate = function validate(_ref2) { var spec = _ref2.spec, editorProps = _ref2.editorProps, _ref2$data = _ref2.data, data = _ref2$data === void 0 ? {} : _ref2$data; var headers = editorProps.headers; var defaultValidation = (0, _compose2["default"])((0, _filter2["default"])(function (v) { return !(0, _isNil2["default"])(v); }), (0, _map2["default"])(requiredData(editorProps)(data)))(headers); if (spec) { var customValidations = (0, _compose2["default"])((0, _filter2["default"])(function (v) { return v !== null; }), (0, _map2["default"])(function (v) { return v.test(data) ? v : null; }))(spec); // add default valiations basically number as number + and key cannot be nulls return [].concat(_toConsumableArray(defaultValidation), _toConsumableArray(customValidations)); } return defaultValidation.length === 0 ? emptyValidations : defaultValidation; }; exports.validate = validate; var clearValidations = function clearValidations(_ref3) { var validations = _ref3.validations, type = _ref3.type; return (0, _filter2["default"])(function (v) { return v.type !== type; }, validations); }; exports.clearValidations = clearValidations; var isTypeValid = function isTypeValid(_ref4) { var validations = _ref4.validations, type = _ref4.type; return (0, _isNil2["default"])((0, _find2["default"])(function (v) { return v.type === type; }, validations)); }; /* eslint-disable*/ exports.isTypeValid = isTypeValid; var validEmailRegex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; exports.validEmailRegex = validEmailRegex; //# sourceMappingURL=validation-util.js.map