UNPKG

@splitsoftware/splitio-commons

Version:
67 lines (66 loc) 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.matcherFactory = void 0; var all_1 = require("./all"); var segment_1 = require("./segment"); var large_segment_1 = require("./large_segment"); var whitelist_1 = require("./whitelist"); var eq_1 = require("./eq"); var gte_1 = require("./gte"); var lte_1 = require("./lte"); var between_1 = require("./between"); var eq_set_1 = require("./eq_set"); var cont_any_1 = require("./cont_any"); var cont_all_1 = require("./cont_all"); var part_of_1 = require("./part_of"); var ew_1 = require("./ew"); var sw_1 = require("./sw"); var cont_str_1 = require("./cont_str"); var dependency_1 = require("./dependency"); var boolean_1 = require("./boolean"); var string_1 = require("./string"); var semver_eq_1 = require("./semver_eq"); var semver_gte_1 = require("./semver_gte"); var semver_lte_1 = require("./semver_lte"); var semver_between_1 = require("./semver_between"); var semver_inlist_1 = require("./semver_inlist"); var rbsegment_1 = require("./rbsegment"); var matchers = [ undefined, all_1.allMatcherContext, segment_1.segmentMatcherContext, whitelist_1.whitelistMatcherContext, eq_1.equalToMatcherContext, gte_1.greaterThanEqualMatcherContext, lte_1.lessThanEqualMatcherContext, between_1.betweenMatcherContext, eq_set_1.equalToSetMatcherContext, cont_any_1.containsAnySetMatcherContext, cont_all_1.containsAllSetMatcherContext, part_of_1.partOfSetMatcherContext, ew_1.endsWithMatcherContext, sw_1.startsWithMatcherContext, cont_str_1.containsStringMatcherContext, dependency_1.dependencyMatcherContext, boolean_1.booleanMatcherContext, string_1.stringMatcherContext, semver_eq_1.equalToSemverMatcherContext, semver_gte_1.greaterThanEqualToSemverMatcherContext, semver_lte_1.lessThanEqualToSemverMatcherContext, semver_between_1.betweenSemverMatcherContext, semver_inlist_1.inListSemverMatcherContext, large_segment_1.largeSegmentMatcherContext, rbsegment_1.ruleBasedSegmentMatcherContext // IN_RULE_BASED_SEGMENT: 24 ]; /** * Matcher factory. */ function matcherFactory(log, matcherDto, storage) { var type = matcherDto.type, value = matcherDto.value; var matcherFn; // @ts-ignore if (matchers[type]) matcherFn = matchers[type](value, storage, log); // There is no index-out-of-bound exception in JavaScript return matcherFn; } exports.matcherFactory = matcherFactory;