@integec/grid-tools
Version:
Integ Grid Tools
105 lines (80 loc) • 3.86 kB
JavaScript
;
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