@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
29 lines (28 loc) • 1.05 kB
JavaScript
import { CONTROL } from '../../utils/constants';
import { isString } from '../../utils/lang';
export var FALLBACK_PREFIX = 'fallback - ';
export 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 ?
isString(fallback) ?
{
treatment: fallback,
config: null,
label: "".concat(FALLBACK_PREFIX).concat(label),
} :
{
treatment: fallback.treatment,
config: fallback.config,
label: "".concat(FALLBACK_PREFIX).concat(label),
} :
{
treatment: CONTROL,
config: null,
label: label,
};
};
}