@absmartly/javascript-sdk
Version:
A/B Smartly Javascript SDK
46 lines (45 loc) • 1.54 kB
JavaScript
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;
;