UNPKG

@integec/grid-tools

Version:
98 lines (74 loc) 3.48 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.validEmailRegex = exports.isTypeValid = exports.clearValidations = exports.validate = exports.emptyValidations = undefined; var _find = require('ramda/src/find'); var _find2 = _interopRequireDefault(_find); var _map = require('ramda/src/map'); var _map2 = _interopRequireDefault(_map); var _filter = require('ramda/src/filter'); var _filter2 = _interopRequireDefault(_filter); var _compose = require('ramda/src/compose'); var _compose2 = _interopRequireDefault(_compose); var _isEmpty = require('ramda/src/isEmpty'); var _isEmpty2 = _interopRequireDefault(_isEmpty); var _isNil = require('ramda/src/isNil'); var _isNil2 = _interopRequireDefault(_isNil); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var emptyValidations = exports.emptyValidations = []; // { // test: ({ mode, userName }) => // mode === 'new' && (R.isNil(userName) || R.isEmpty(userName)), // type: 'userName', // text: 'User Name must be entered', // }, 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 = exports.validate = function validate(_ref2) { var spec = _ref2.spec, editorProps = _ref2.editorProps, _ref2$data = _ref2.data, data = _ref2$data === undefined ? {} : _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; }; var clearValidations = exports.clearValidations = function clearValidations(_ref3) { var validations = _ref3.validations, type = _ref3.type; return (0, _filter2.default)(function (v) { return v.type !== type; }, validations); }; var isTypeValid = exports.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*/ var validEmailRegex = exports.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,}))$/; //# sourceMappingURL=validation-util.js.map