UNPKG

@karelics/angular-unleash-proxy-client

Version:

Angular wrapper for [unleash-proxy-client](https://github.com/Unleash/unleash-proxy-client-js).

15 lines 4.19 kB
import { inject } from '@angular/core'; import { UnleashService } from '../unleash.service'; import { redirectResult } from './utils'; export function featureDisabled(toggleNames, operatorOrRedirectUrl, redirectUrl) { return () => { const unleashService = inject(UnleashService); const effectiveToggleNames = Array.isArray(toggleNames) ? toggleNames : [toggleNames]; const effectiveOperator = Array.isArray(toggleNames) ? (operatorOrRedirectUrl ?? 'or') : 'or'; const effectiveRedirectUrl = Array.isArray(toggleNames) ? redirectUrl : operatorOrRedirectUrl; const states = effectiveToggleNames.map(toggle => unleashService.isDisabled(toggle)); const disabledState = effectiveOperator === 'and' ? states.every(Boolean) : states.some(Boolean); return disabledState || redirectResult(effectiveRedirectUrl); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kaXNhYmxlZC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdW5sZWFzaC1wcm94eS1jbGllbnQvc3JjL2xpYi9ndWFyZHMvZmVhdHVyZS1kaXNhYmxlZC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBS3pDLE1BQU0sVUFBVSxlQUFlLENBQzdCLFdBQThCLEVBQzlCLHFCQUF1RCxFQUN2RCxXQUE4QjtJQUU5QixPQUFPLEdBQUcsRUFBRTtRQUNWLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5QyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUcsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHFCQUEyQyxDQUFDO1FBRXBILE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRixNQUFNLGFBQWEsR0FBRyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakcsT0FBTyxhQUFhLElBQUksY0FBYyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGVGbiwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVbmxlYXNoU2VydmljZSB9IGZyb20gJy4uL3VubGVhc2guc2VydmljZSc7XG5pbXBvcnQgeyByZWRpcmVjdFJlc3VsdCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgSm9pbk9wZXJhdG9yIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9qb2luLW9wZXJhdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVEaXNhYmxlZCh0b2dnbGVOYW1lOiBzdHJpbmcsIHJlZGlyZWN0VXJsPzogc3RyaW5nIHwgVXJsVHJlZSk6IENhbkFjdGl2YXRlRm47XG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZURpc2FibGVkKHRvZ2dsZU5hbWVzOiBzdHJpbmdbXSwgb3BlcmF0b3I/OiBKb2luT3BlcmF0b3IsIHJlZGlyZWN0VXJsPzogc3RyaW5nIHwgVXJsVHJlZSk6IENhbkFjdGl2YXRlRm47XG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZURpc2FibGVkKFxuICB0b2dnbGVOYW1lczogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wZXJhdG9yT3JSZWRpcmVjdFVybD86IEpvaW5PcGVyYXRvciB8IHN0cmluZyB8IFVybFRyZWUsXG4gIHJlZGlyZWN0VXJsPzogc3RyaW5nIHwgVXJsVHJlZVxuKTogQ2FuQWN0aXZhdGVGbiB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgY29uc3QgdW5sZWFzaFNlcnZpY2UgPSBpbmplY3QoVW5sZWFzaFNlcnZpY2UpO1xuXG4gICAgY29uc3QgZWZmZWN0aXZlVG9nZ2xlTmFtZXMgPSBBcnJheS5pc0FycmF5KHRvZ2dsZU5hbWVzKSA/IHRvZ2dsZU5hbWVzIDogW3RvZ2dsZU5hbWVzXTtcbiAgICBjb25zdCBlZmZlY3RpdmVPcGVyYXRvciA9IEFycmF5LmlzQXJyYXkodG9nZ2xlTmFtZXMpID8gKG9wZXJhdG9yT3JSZWRpcmVjdFVybCA/PyAnb3InKSBhcyBKb2luT3BlcmF0b3IgOiAnb3InO1xuICAgIGNvbnN0IGVmZmVjdGl2ZVJlZGlyZWN0VXJsID0gQXJyYXkuaXNBcnJheSh0b2dnbGVOYW1lcykgPyByZWRpcmVjdFVybCA6IG9wZXJhdG9yT3JSZWRpcmVjdFVybCBhcyAoc3RyaW5nIHwgVXJsVHJlZSk7XG5cbiAgICBjb25zdCBzdGF0ZXMgPSBlZmZlY3RpdmVUb2dnbGVOYW1lcy5tYXAodG9nZ2xlID0+IHVubGVhc2hTZXJ2aWNlLmlzRGlzYWJsZWQodG9nZ2xlKSk7XG4gICAgY29uc3QgZGlzYWJsZWRTdGF0ZSA9IGVmZmVjdGl2ZU9wZXJhdG9yID09PSAnYW5kJyA/IHN0YXRlcy5ldmVyeShCb29sZWFuKSA6IHN0YXRlcy5zb21lKEJvb2xlYW4pO1xuXG4gICAgcmV0dXJuIGRpc2FibGVkU3RhdGUgfHwgcmVkaXJlY3RSZXN1bHQoZWZmZWN0aXZlUmVkaXJlY3RVcmwpO1xuICB9O1xufVxuIl19