json-expression-eval
Version:
json serializable rule engine / boolean expression evaluator
81 lines • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isMathOp = exports.isWithRef = exports.isNinCompareOp = exports.isInqCompareOp = exports.isNotEqualCompareOp = exports.isEqualCompareOp = exports.isExistsCompareOp = exports.isRegexiCompareOp = exports.isRegexCompareOp = exports.isLtCompareOp = exports.isLteCompareOp = exports.isGteCompareOp = exports.isGtCompareOp = exports.isBetweenCompareOp = exports.isNotCompareOp = exports.isOrCompareOp = exports.isAndCompareOp = exports.isRuleFunction = exports.isFunctionCompareOp = exports._isObject = void 0;
const _isObject = (obj) => {
const type = typeof obj;
return type === 'function' || type === 'object' && !!obj;
};
exports._isObject = _isObject;
const isFunctionCompareOp = (expression, functionsTable, key) => {
return key in functionsTable;
};
exports.isFunctionCompareOp = isFunctionCompareOp;
const isRuleFunction = (expression, ruleFunctionsTable, key) => {
return key in ruleFunctionsTable;
};
exports.isRuleFunction = isRuleFunction;
const isAndCompareOp = (expression) => {
return Array.isArray(expression.and);
};
exports.isAndCompareOp = isAndCompareOp;
const isOrCompareOp = (expression) => {
return Array.isArray(expression.or);
};
exports.isOrCompareOp = isOrCompareOp;
const isNotCompareOp = (expression) => {
return (0, exports._isObject)(expression.not);
};
exports.isNotCompareOp = isNotCompareOp;
const isBetweenCompareOp = (op) => {
return Array.isArray(op.between);
};
exports.isBetweenCompareOp = isBetweenCompareOp;
const isGtCompareOp = (op) => {
return op.gt !== undefined;
};
exports.isGtCompareOp = isGtCompareOp;
const isGteCompareOp = (op) => {
return op.gte !== undefined;
};
exports.isGteCompareOp = isGteCompareOp;
const isLteCompareOp = (op) => {
return op.lte !== undefined;
};
exports.isLteCompareOp = isLteCompareOp;
const isLtCompareOp = (op) => {
return op.lt !== undefined;
};
exports.isLtCompareOp = isLtCompareOp;
const isRegexCompareOp = (op) => {
return op.regexp !== undefined;
};
exports.isRegexCompareOp = isRegexCompareOp;
const isRegexiCompareOp = (op) => {
return op.regexpi !== undefined;
};
exports.isRegexiCompareOp = isRegexiCompareOp;
const isExistsCompareOp = (op) => {
return op.exists !== undefined;
};
exports.isExistsCompareOp = isExistsCompareOp;
const isEqualCompareOp = (op) => {
return op.eq !== undefined;
};
exports.isEqualCompareOp = isEqualCompareOp;
const isNotEqualCompareOp = (op) => {
return op.neq !== undefined;
};
exports.isNotEqualCompareOp = isNotEqualCompareOp;
const isInqCompareOp = (op) => {
return Array.isArray(op.inq);
};
exports.isInqCompareOp = isInqCompareOp;
const isNinCompareOp = (op) => {
return Array.isArray(op.nin);
};
exports.isNinCompareOp = isNinCompareOp;
const isWithRef = (x) => Boolean(x.ref);
exports.isWithRef = isWithRef;
const isMathOp = (x) => Boolean(x.op);
exports.isMathOp = isMathOp;
//# sourceMappingURL=typeGuards.js.map