@absmartly/javascript-sdk
Version:
A/B Smartly Javascript SDK
28 lines (27 loc) • 774 B
JavaScript
require("core-js/modules/es.array.filter.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.AudienceMatcher = void 0;
const utils_1 = require("./utils");
const jsonexpr_1 = require("./jsonexpr/jsonexpr");
class AudienceMatcher {
constructor() {
this._jsonExpr = new jsonexpr_1.JsonExpr();
}
evaluate(audienceString, vars) {
try {
const audience = JSON.parse(audienceString);
if (audience && audience.filter) {
if (Array.isArray(audience.filter) || (0, utils_1.isObject)(audience.filter)) {
return this._jsonExpr.evaluateBooleanExpr(audience.filter, vars);
}
}
} catch (e) {
console.error(e);
}
return null;
}
}
exports.AudienceMatcher = AudienceMatcher;
;