UNPKG

json-expression-eval

Version:

json serializable rule engine / boolean expression evaluator

81 lines 3 kB
"use strict"; 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