UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

53 lines 1.53 kB
export 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); } export function resolveContextValue(context, field) { if (context[field]) { return context[field]; } if (context.properties?.[field]) { return context.properties[field]; } return undefined; } export function safeName(str = '') { return str.replace(/\//g, '_'); } export function getDefaultStrategy(featureName) { return { name: 'flexibleRollout', constraints: [], disabled: false, parameters: { rollout: '100', stickiness: 'default', groupId: featureName, }, }; } function resolveGroupId(defaultStrategy, featureName) { const groupId = defaultStrategy?.parameters?.groupId !== '' ? defaultStrategy.parameters?.groupId : featureName; return groupId || ''; } export function getProjectDefaultStrategy(defaultStrategy, featureName) { return { ...defaultStrategy, parameters: { ...defaultStrategy.parameters, groupId: resolveGroupId(defaultStrategy, featureName), }, }; } //# sourceMappingURL=helpers.js.map