UNPKG

@absmartly/javascript-sdk

Version:

A/B Smartly Javascript SDK

46 lines (45 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonExpr = void 0; const value_1 = require("./operators/value"); const and_1 = require("./operators/and"); const or_1 = require("./operators/or"); const var_1 = require("./operators/var"); const not_1 = require("./operators/not"); const null_1 = require("./operators/null"); const match_1 = require("./operators/match"); const in_1 = require("./operators/in"); const evaluator_1 = require("./evaluator"); const eq_1 = require("./operators/eq"); const gt_1 = require("./operators/gt"); const gte_1 = require("./operators/gte"); const lt_1 = require("./operators/lt"); const lte_1 = require("./operators/lte"); const operators = { and: new and_1.AndCombinator(), or: new or_1.OrCombinator(), value: new value_1.ValueOperator(), var: new var_1.VarOperator(), null: new null_1.NullOperator(), not: new not_1.NotOperator(), in: new in_1.InOperator(), match: new match_1.MatchOperator(), eq: new eq_1.EqualsOperator(), gt: new gt_1.GreaterThanOperator(), gte: new gte_1.GreaterThanOrEqualOperator(), lt: new lt_1.LessThanOperator(), lte: new lte_1.LessThanOrEqualOperator() }; class JsonExpr { evaluateBooleanExpr(expr, vars) { const evaluator = new evaluator_1.Evaluator(operators, vars); return evaluator.booleanConvert(evaluator.evaluate(expr)); } evaluateExpr(expr, vars) { const evaluator = new evaluator_1.Evaluator(operators, vars); return evaluator.evaluate(expr); } } exports.JsonExpr = JsonExpr;