UNPKG

@splitsoftware/splitio-commons

Version:
33 lines (32 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FallbackTreatmentsCalculator = exports.FALLBACK_PREFIX = void 0; var constants_1 = require("../../utils/constants"); var lang_1 = require("../../utils/lang"); exports.FALLBACK_PREFIX = 'fallback - '; function FallbackTreatmentsCalculator(fallbacks) { if (fallbacks === void 0) { fallbacks = {}; } return function (flagName, label) { var _a; if (label === void 0) { label = ''; } var fallback = ((_a = fallbacks.byFlag) === null || _a === void 0 ? void 0 : _a[flagName]) || fallbacks.global; return fallback ? (0, lang_1.isString)(fallback) ? { treatment: fallback, config: null, label: "".concat(exports.FALLBACK_PREFIX).concat(label), } : { treatment: fallback.treatment, config: fallback.config, label: "".concat(exports.FALLBACK_PREFIX).concat(label), } : { treatment: constants_1.CONTROL, config: null, label: label, }; }; } exports.FallbackTreatmentsCalculator = FallbackTreatmentsCalculator;