unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
44 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultStrategy = exports.safeName = exports.resolveContextValue = exports.createFallbackFunction = void 0;
function createFallbackFunction(name, context, fallback) {
const createEvalResult = (enabled) => ({
result: enabled,
strategies: [],
});
if (typeof fallback === 'function') {
return () => createEvalResult(fallback(name, context));
}
if (typeof fallback === 'boolean') {
return () => createEvalResult(fallback);
}
return () => createEvalResult(false);
}
exports.createFallbackFunction = createFallbackFunction;
function resolveContextValue(context, field) {
if (context[field]) {
return context[field];
}
if (context.properties && context.properties[field]) {
return context.properties[field];
}
return undefined;
}
exports.resolveContextValue = resolveContextValue;
function safeName(str = '') {
return str.replace(/\//g, '_');
}
exports.safeName = safeName;
function getDefaultStrategy(featureName) {
return {
name: 'flexibleRollout',
constraints: [],
parameters: {
rollout: '100',
stickiness: 'default',
groupId: featureName,
},
};
}
exports.getDefaultStrategy = getDefaultStrategy;
//# sourceMappingURL=helpers.js.map