@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
17 lines (16 loc) • 869 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.inListSemverMatcherContext = void 0;
var Semver_1 = require("../../utils/Semver");
function inListSemverMatcherContext(ruleAttr) {
// @TODO ruleAttr validation should be done at the `parser` or `matchersTransform` level to reuse for all matchers
if (!ruleAttr || ruleAttr.length === 0)
throw new Error('whitelistMatcherData is required for IN_LIST_SEMVER matcher type');
var listOfSemvers = new Set(ruleAttr.map(function (version) { return new Semver_1.Semver(version).version; }));
return function inListSemverMatcher(runtimeAttr) {
var runtimeSemver = new Semver_1.Semver(runtimeAttr).version;
var isInList = listOfSemvers.has(runtimeSemver);
return isInList;
};
}
exports.inListSemverMatcherContext = inListSemverMatcherContext;