@absmartly/javascript-sdk
Version:
A/B Smartly Javascript SDK
28 lines (27 loc) • 912 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.InOperator = void 0;
const binary_1 = require("./binary");
const utils_1 = require("../../utils");
class InOperator extends binary_1.BinaryOperator {
binary(evaluator, haystack, needle) {
if (Array.isArray(haystack)) {
for (const item of haystack) {
if (evaluator.compare(item, needle) === 0) {
return true;
}
}
return false;
} else if (typeof haystack === "string") {
const needleString = evaluator.stringConvert(needle);
return needleString !== null && haystack.includes(needleString);
} else if ((0, utils_1.isObject)(haystack)) {
const needleString = evaluator.stringConvert(needle);
return needleString != null && Object.prototype.hasOwnProperty.call(haystack, needleString);
}
return null;
}
}
exports.InOperator = InOperator;
;