UNPKG

@coorpacademy/progression-engine

Version:

49 lines (48 loc) 1.66 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _sortBy2 = _interopRequireDefault(require("lodash/fp/sortBy")); var _negate2 = _interopRequireDefault(require("lodash/fp/negate")); var _lt2 = _interopRequireDefault(require("lodash/fp/lt")); var _isEqual2 = _interopRequireDefault(require("lodash/fp/isEqual")); var _gt2 = _interopRequireDefault(require("lodash/fp/gt")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const IN = (expectedValues, value) => { return expectedValues.some((0, _isEqual2.default)(value)); }; const NOT_IN = (0, _negate2.default)(IN); const EQUALS = (expectedValues, value) => { return (0, _isEqual2.default)(expectedValues[0])(value); }; const NOT_EQUALS = (0, _negate2.default)(EQUALS); const LT = (expectedValues, value) => { return (0, _lt2.default)(value)(expectedValues[0]); }; const GT = (expectedValues, value) => { return (0, _gt2.default)(value)(expectedValues[0]); }; const LTE = (0, _negate2.default)(GT); const GTE = (0, _negate2.default)(LT); const BETWEEN = (expectedValues, value) => { const [min, max] = (0, _sortBy2.default)(v => v)(expectedValues); return GTE([min], value) && LTE([max], value); }; const NOT_BETWEEN = (0, _negate2.default)(BETWEEN); const operators = { BETWEEN, EQUALS, GT, GTE, IN, LT, LTE, NOT_BETWEEN, NOT_EQUALS, NOT_IN }; const checkCondition = (operatorKey, expectedValues, value) => { if (value === null || value === undefined) return false; return operators[operatorKey](expectedValues, value); }; var _default = exports.default = checkCondition; //# sourceMappingURL=condition-operators.js.map