@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
33 lines (32 loc) • 1.29 kB
JavaScript
;
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;