UNPKG

@indec/form-builder

Version:

Form builder

102 lines (101 loc) 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _dateFns = require("date-fns"); var _questionTypes = _interopRequireDefault(require("../constants/questionTypes")); var _isObject = _interopRequireDefault(require("./isObject")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var isString = function isString(value) { return typeof value === 'string'; }; var dateNotEquals = function dateNotEquals(a, b) { return !(0, _dateFns.isEqual)(a, b); }; var dateOperators = { lt: _dateFns.isBefore, gt: _dateFns.isAfter, eq: _dateFns.isEqual, ne: dateNotEquals }; var validateDateRange = function validateDateRange(dates, endDate, operator) { var isValid = false; var secondDate = endDate ? new Date(endDate) : ''; isValid = Object.values(dates).some(function (date) { if (!date && !secondDate) { return true; } return dateOperators[operator](new Date(date), secondDate); }); return { isValid: isValid }; }; var operations = { eq: function eq(a, b, questionType) { if ((0, _isObject["default"])(a)) { if (questionType === _questionTypes["default"].DATE) { var _validateDateRange = validateDateRange(a, b, 'eq'), isValid = _validateDateRange.isValid; return isValid; } return Object.values(a).some(function (value) { return value === b; }); } return a === b; }, ne: function ne(a, b, questionType) { if ((0, _isObject["default"])(a)) { if (questionType === _questionTypes["default"].DATE) { var _validateDateRange2 = validateDateRange(a, b, 'ne'), isValid = _validateDateRange2.isValid; return isValid; } return Object.values(a).some(function (value) { return value === b; }); } return a !== b; }, gt: function gt(a, b, questionType) { if ((0, _isObject["default"])(a)) { if (questionType === _questionTypes["default"].DATE) { var _validateDateRange3 = validateDateRange(a, b, 'gt'), isValid = _validateDateRange3.isValid; return isValid; } return Object.values(a).some(function (value) { return value === b; }); } return isString(a) ? a.length > b : a > b; }, gte: function gte(a, b) { return isString(a) ? a.length >= b : a >= b; }, lt: function lt(a, b, questionType) { if ((0, _isObject["default"])(a)) { if (questionType === _questionTypes["default"].DATE) { var _validateDateRange4 = validateDateRange(a, b, 'lt'), isValid = _validateDateRange4.isValid; return isValid; } return Object.values(a).some(function (value) { return value === b; }); } return isString(a) ? a.length < b : a < b; }, lte: function lte(a, b) { return isString(a) ? a.length <= b : a <= b; }, "in": function _in(a, b) { return a.includes(b); }, nin: function nin(a, b) { return !a.includes(b); } }; var _default = exports["default"] = operations;