UNPKG

@absmartly/javascript-sdk

Version:

A/B Smartly Javascript SDK

28 lines (27 loc) 912 B
"use strict"; 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;