UNPKG

kinde-angular

Version:

Angular wrapper for the Kinde TypeScript SDK

42 lines 5.05 kB
import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core'; import { KindeAngularService } from "./kinde-angular.service"; import * as i0 from "@angular/core"; export class FeatureFlagDirective { constructor() { this.templateRef = inject((TemplateRef)); this.viewContainerRef = inject(ViewContainerRef); this.kindeAngularService = inject(KindeAngularService); } async ngOnInit() { try { const featureFlag = await this.kindeAngularService.getFeatureFlag(this.featureFlag); featureFlag.value ? this.onIf() : this.onElse(); } catch (error) { this.onElse(); } } onIf() { this.createView(this.templateRef); } onElse() { if (!this.featureFlagElse) { return; } this.createView(this.featureFlagElse); } createView(templateRef) { this.viewContainerRef.createEmbeddedView(templateRef); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: FeatureFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: FeatureFlagDirective, isStandalone: true, selector: "[featureFlag]", inputs: { featureFlag: "featureFlag", featureFlagElse: "featureFlagElse" }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: FeatureFlagDirective, decorators: [{ type: Directive, args: [{ selector: '[featureFlag]', standalone: true }] }], propDecorators: { featureFlag: [{ type: Input }], featureFlagElse: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFnLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpbmRlLWFuZ3VsYXIvc3JjL2xpYi9mZWF0dXJlLWZsYWcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzlELE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFPVSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFdBQW9CLENBQUEsQ0FBQyxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBMEIzRDtJQXhCQyxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEYsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFVBQVUsQ0FBQyxXQUFpQztRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FqQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7OEJBR3hELFdBQVc7c0JBRFYsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtpbmRlQW5ndWxhclNlcnZpY2UgfSBmcm9tIFwiLi9raW5kZS1hbmd1bGFyLnNlcnZpY2VcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ZlYXR1cmVGbGFnXScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRmxhZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGZlYXR1cmVGbGFnITogc3RyaW5nO1xuICBASW5wdXQoKVxuICBmZWF0dXJlRmxhZ0Vsc2U/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBwcml2YXRlIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPHVua25vd24+KTtcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIGtpbmRlQW5ndWxhclNlcnZpY2UgPSBpbmplY3QoS2luZGVBbmd1bGFyU2VydmljZSk7XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZlYXR1cmVGbGFnID0gYXdhaXQgdGhpcy5raW5kZUFuZ3VsYXJTZXJ2aWNlLmdldEZlYXR1cmVGbGFnKHRoaXMuZmVhdHVyZUZsYWcpO1xuICAgICAgZmVhdHVyZUZsYWcudmFsdWUgPyB0aGlzLm9uSWYoKSA6IHRoaXMub25FbHNlKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMub25FbHNlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbklmKCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgb25FbHNlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mZWF0dXJlRmxhZ0Vsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZVZpZXcodGhpcy5mZWF0dXJlRmxhZ0Vsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWaWV3KHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPik6IHZvaWQge1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuICB9XG59XG4iXX0=