{"version":3,"file":"venta.one-ngx-structurals.mjs","sources":["../../../projects/ngx-structurals/src/lib/ngx-subscribe/ngx-subscribe.directive.ts","../../../projects/ngx-structurals/src/lib/ngx-subscribe/ngx-subscribe.module.ts","../../../projects/ngx-structurals/src/lib/ngx-repeat/ngx-repeat.directive.ts","../../../projects/ngx-structurals/src/lib/ngx-repeat/ngx-repeat.module.ts","../../../projects/ngx-structurals/src/lib/ngx-alias/ngx-alias.directive.ts","../../../projects/ngx-structurals/src/lib/ngx-alias/ngx-alias.module.ts","../../../projects/ngx-structurals/src/lib/ngx-template-context/ngx-template-context.directive.ts","../../../projects/ngx-structurals/src/lib/ngx-template-context/ngx-template-context.module.ts","../../../projects/ngx-structurals/src/lib/ngx-structurals.module.ts","../../../projects/ngx-structurals/src/venta.one-ngx-structurals.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnDestroy, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n/**\r\n * Context provided when using the [ngxSubscribe] directive.\r\n *\r\n * @publicApi\r\n */\r\nexport class NgxSubscribeContext<T> {\r\n    /**\r\n     * The (most recently) emitted value of the bound observable.\r\n     *\r\n     * This always keeps the last emitted value of the bound observable and is {@code null} if the observable has not yet emitted.\r\n     * To distinguish an emitted {@code null} value from this, use the {@link count} context variable.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public $implicit: T | null = null;\r\n    /**\r\n     * Whether the bound observable has errored.\r\n     *\r\n     * This is {@code true} if and only if the currently bound observable has errored. You can access the error using {@link error}.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public errored = false;\r\n    /**\r\n     * Whether the bound observable has completed.\r\n     *\r\n     * This is {@code true} if and only if the currently bound observable has completed.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public completed = false;\r\n    /**\r\n     * Error thrown by the observable.\r\n     *\r\n     * Holds the error thrown by the observable if it has indeed errored. This can be checked using the {@link errored} context member.\r\n     * Otherwise this holds the value {@code null}.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public error: any | null = null;\r\n    /**\r\n     * Number of emitted values.\r\n     *\r\n     * This counter increases any time the currently bound observable emits a value.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public count = 0;\r\n}\r\n\r\n/**\r\n * Subscribes to a given observable and renders a template.\r\n *\r\n * You can use the [ngxSubscribe] structural directive to subscribe to an observable directly from the template of your Angular component.\r\n * Using the provided context information you have access to all important information. You can also define different templates to be\r\n * rendered depending on whether the observable has (not yet) emitted, errored or completed.\r\n *\r\n * @publicApi\r\n */\r\n@Directive({\r\n    selector: '[ngxSubscribe]',\r\n})\r\nexport class NgxSubscribeDirective<T> implements OnDestroy {\r\n\r\n    private context = new NgxSubscribeContext<T>();\r\n\r\n    private thenTemplateRef: TemplateRef<NgxSubscribeContext<T>> | null = null;\r\n    private thenViewRef: EmbeddedViewRef<NgxSubscribeContext<T>> | null = null;\r\n    private beforeAnyTemplate: TemplateRef<NgxSubscribeContext<T>> | null = null;\r\n    private beforeAnyViewRef: EmbeddedViewRef<NgxSubscribeContext<T>> | null = null;\r\n    private onErrorTemplateRef: TemplateRef<NgxSubscribeContext<T>> | null = null;\r\n    private onErrorViewRef: EmbeddedViewRef<NgxSubscribeContext<T>> | null = null;\r\n    private onCompletedTemplateRef: TemplateRef<NgxSubscribeContext<T>> | null = null;\r\n    private onCompletedViewRef: EmbeddedViewRef<NgxSubscribeContext<T>> | null = null;\r\n\r\n    private source$: Observable<T> | null = null;\r\n    private subscription: Subscription | null = null;\r\n\r\n    constructor(\r\n        private readonly viewContainer: ViewContainerRef,\r\n        @Optional() templateRef: TemplateRef<NgxSubscribeContext<T>>,\r\n    ) {\r\n        if (!templateRef) {\r\n            throw new Error(`[ngxSubscribe] can only be used as a structural directive or on an ng-template.`);\r\n        }\r\n\r\n        this.thenTemplateRef = templateRef;\r\n        this.beforeAnyTemplate = templateRef;\r\n        this.onErrorTemplateRef = templateRef;\r\n        this.onCompletedTemplateRef = templateRef;\r\n    }\r\n\r\n    /** @internal */\r\n    public static ngTemplateContextGuard<T>(dir: NgxSubscribeDirective<T>, ctx: unknown): ctx is NgxSubscribeContext<T> {\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * See {@link NgxSubscribeDirective#ngxSubscribeOf}.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxSubscribe(source$: Observable<T> | string) {\r\n        if (typeof source$ === 'string') {\r\n            // When using *ngxSubscribe=\"let value of source$\" the compile desuggars this to include ngxSubscribe=\"\".\r\n            // With Ivy's stricter template type-checking this will cause a typing error. Therefore, we do allow\r\n            // this input to be a string to make the type-checker happy, and simply do nothing if a string was\r\n            // passed as the ngxSubscribeOf input will be used instead.\r\n            return;\r\n        }\r\n\r\n        this.ngxSubscribeOf = source$;\r\n    }\r\n\r\n    /**\r\n     * Observable to subscribe to.\r\n     *\r\n     * This is the primary input for the {@code [ngxSubscribe]} directive and defines the observable which should be subscribed to.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxSubscribeOf(source$: Observable<T>) {\r\n        if (this.source$ === source$) {\r\n            return;\r\n        }\r\n\r\n        if (this.subscription) {\r\n            this.subscription.unsubscribe();\r\n            this.subscription = null;\r\n\r\n            this.context = new NgxSubscribeContext<T>();\r\n            this.clearViewRefs();\r\n        }\r\n\r\n        if (source$) {\r\n            this.subscription = source$.subscribe({\r\n                next: value => {\r\n                    this.context.$implicit = value;\r\n                    this.context.count++;\r\n                    this.updateView();\r\n                },\r\n                error: err => {\r\n                    this.context.errored = true;\r\n                    this.context.error = err;\r\n                    this.updateView();\r\n                },\r\n                complete: () => {\r\n                    this.context.completed = true;\r\n                    this.updateView();\r\n                },\r\n            });\r\n        }\r\n\r\n        this.updateView();\r\n    }\r\n\r\n    /**\r\n     * Template to show for emitted values.\r\n     *\r\n     * Defines the template to be shown when the observable emits a value.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxSubscribeThen(templateRef: TemplateRef<NgxSubscribeContext<T>> | null) {\r\n        this.thenTemplateRef = templateRef;\r\n        this.thenViewRef = null;\r\n        this.updateView();\r\n    }\r\n\r\n    /**\r\n     * Template to show while observable has not emitted, errored or completed.\r\n     *\r\n     * Defines the template to be shown before the observable has either emitted a value, errored or completed.\r\n     * If not specified, this defaults to the template on which the directive has been applied.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxSubscribeBeforeAny(templateRef: TemplateRef<NgxSubscribeContext<T>> | null) {\r\n        this.beforeAnyTemplate = templateRef;\r\n        this.beforeAnyViewRef = null;\r\n        this.updateView();\r\n    }\r\n\r\n    /**\r\n     * Template to show if the observable errored.\r\n     *\r\n     * Defines the template to be shown in case the observable has errored.\r\n     * If not specified, this defaults to the template on which the directive has been applied.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxSubscribeOnError(templateRef: TemplateRef<NgxSubscribeContext<T>> | null) {\r\n        this.onErrorTemplateRef = templateRef;\r\n        this.onErrorViewRef = null;\r\n        this.updateView();\r\n    }\r\n\r\n    /**\r\n     * Template to show if the observable completed.\r\n     *\r\n     * Defines the template to be shown in case the observable completed.\r\n     * If not specified, this defaults to the template on which the directive has been applied.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxSubscribeOnCompleted(templateRef: TemplateRef<NgxSubscribeContext<T>> | null) {\r\n        this.onCompletedTemplateRef = templateRef;\r\n        this.onCompletedViewRef = null;\r\n        this.updateView();\r\n    }\r\n\r\n    /** @internal */\r\n    public ngOnDestroy(): void {\r\n        if (this.subscription) {\r\n            this.subscription.unsubscribe();\r\n        }\r\n    }\r\n\r\n    private updateView(): void {\r\n        if (this.context.completed) {\r\n            if (!this.onCompletedViewRef) {\r\n                this.clearViewRefs();\r\n                if (this.onCompletedTemplateRef) {\r\n                    this.onCompletedViewRef = this.viewContainer.createEmbeddedView(this.onCompletedTemplateRef, this.context);\r\n                }\r\n            }\r\n        } else if (this.context.errored) {\r\n            if (!this.onErrorViewRef) {\r\n                this.clearViewRefs();\r\n                if (this.onErrorTemplateRef) {\r\n                    this.onErrorViewRef = this.viewContainer.createEmbeddedView(this.onErrorTemplateRef, this.context);\r\n                }\r\n            }\r\n        } else if (this.context.count === 0) {\r\n            if (!this.thenViewRef) {\r\n                this.clearViewRefs();\r\n                if (this.beforeAnyTemplate) {\r\n                    this.beforeAnyViewRef = this.viewContainer.createEmbeddedView(this.beforeAnyTemplate, this.context);\r\n                }\r\n            }\r\n        } else {\r\n            if (!this.thenViewRef) {\r\n                this.clearViewRefs();\r\n                if (this.thenTemplateRef) {\r\n                    this.thenViewRef = this.viewContainer.createEmbeddedView(this.thenTemplateRef, this.context);\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    private clearViewRefs(): void {\r\n        this.viewContainer.clear();\r\n\r\n        this.thenViewRef = null;\r\n        this.onErrorViewRef = null;\r\n        this.onCompletedViewRef = null;\r\n    }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxSubscribeDirective } from './ngx-subscribe.directive';\r\n\r\n@NgModule({\r\n    declarations: [NgxSubscribeDirective],\r\n    exports: [NgxSubscribeDirective],\r\n    imports: [\r\n        CommonModule,\r\n    ]\r\n})\r\nexport class NgxSubscribeModule {\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\n/**\r\n * Context provided when using the [ngxRepeat] directive.\r\n *\r\n * @publicApi\r\n */\r\nexport class NgxRepeatContext {\r\n    /**\r\n     * Index of the current template.\r\n     *\r\n     * This holds the index of the n-th template being currently rendered, i.e., if the template is repeated three times, this value\r\n     * is in the range 0–2.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public $implicit = 0;\r\n    /**\r\n     * Total number of repetitions.\r\n     *\r\n     * Represents the count given to the directive, i.e. how many instances of the template will be rendered.\r\n     */\r\n    public count = 0;\r\n\r\n    /**\r\n     * Whether the current index is even.\r\n     *\r\n     * Whether the current index as described in {@link $implicit} is an even number.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public get even(): boolean {\r\n        return this.$implicit % 2 === 0;\r\n    }\r\n\r\n    /**\r\n     * Whether the current index is odd.\r\n     *\r\n     * Whether the current index as described in {@link $implicit} is an odd number.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public get odd(): boolean {\r\n        return this.$implicit % 2 !== 0;\r\n    }\r\n\r\n    /**\r\n     * Whether this template instance is the first one.\r\n     *\r\n     * This is {@code true} only for the first template instance rendered.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public get first(): boolean {\r\n        return this.$implicit === 0;\r\n    }\r\n\r\n    /**\r\n     * Whether this template instance is the last one.\r\n     *\r\n     * This is {@code true} only for the last template instance rendered.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public get last(): boolean {\r\n        return this.$implicit + 1 === this.count;\r\n    }\r\n}\r\n\r\n/**\r\n * Repeats a template a given number of times.\r\n *\r\n * You can use [ngxRepeat] to render a template a specific number of times. This is similar to using {@code *ngFor} on an array of that\r\n * length, but avoids having to create such an array. The directive also exposes similar and useful context properties, see\r\n * {@link NgxRepeatContext}.\r\n *\r\n * @publicApi\r\n */\r\n@Directive({\r\n    selector: '[ngxRepeat]',\r\n})\r\nexport class NgxRepeatDirective {\r\n\r\n    constructor(\r\n        private readonly viewContainer: ViewContainerRef,\r\n        @Optional() private readonly templateRef: TemplateRef<NgxRepeatContext>,\r\n    ) {\r\n        if (!this.templateRef) {\r\n            throw new Error(`[ngxRepeat] can only be used as a structural directive or on an ng-template.`);\r\n        }\r\n    }\r\n\r\n    /** @internal */\r\n    public static ngTemplateContextGuard(dir: NgxRepeatDirective, ctx: unknown): ctx is NgxRepeatContext {\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * Defines how often the template should be rendered.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxRepeat(count: number) {\r\n        this.updateView(Number(count));\r\n    }\r\n\r\n    private updateView(count: number): void {\r\n        const current = this.viewContainer.length;\r\n        if (current === count) {\r\n            return;\r\n        }\r\n\r\n        for (let j = 0; j < current; j++) {\r\n            const viewRef = this.viewContainer.get(j) as EmbeddedViewRef<NgxRepeatContext>;\r\n            viewRef.context.count = count;\r\n        }\r\n\r\n        if (current > count) {\r\n            for (let i = count; i < current; i++) {\r\n                this.viewContainer.remove(i);\r\n            }\r\n        } else {\r\n            for (let i = current; i < count; i++) {\r\n                const context = new NgxRepeatContext();\r\n                context.$implicit = i;\r\n                context.count = count;\r\n\r\n                this.viewContainer.createEmbeddedView(this.templateRef, context);\r\n            }\r\n        }\r\n    }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxRepeatDirective } from './ngx-repeat.directive';\r\n\r\n@NgModule({\r\n    declarations: [NgxRepeatDirective],\r\n    exports: [NgxRepeatDirective],\r\n    imports: [\r\n        CommonModule\r\n    ]\r\n})\r\nexport class NgxRepeatModule {\r\n}\r\n","import { Directive, Input, OnInit, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\n/**\r\n * Context provided when using the [ngxAlias] directive.\r\n *\r\n * @publicApi\r\n */\r\nexport class NgxAliasContext<T> {\r\n    /**\r\n     * Value of the aliased expression.\r\n     *\r\n     * This simply mirrors the value of the expression given to ngxAlias.\r\n     *\r\n     * @publicApi\r\n     */\r\n    // tslint:disable-next-line: no-non-null-assertion justification https://github.com/angular/vscode-ng-language-service/issues/1137\r\n    public ngxAlias: T = null!;\r\n\r\n    /**\r\n     * Synonym for {@link ngxAlias}.\r\n     *\r\n     * @publicApi\r\n     */\r\n    public get $implicit(): T {\r\n        return this.ngxAlias;\r\n    }\r\n}\r\n\r\n/**\r\n * Aliases an expression for a template.\r\n *\r\n * You can use [ngxAlias] to unconditionally render a given template, but aliasing a potentially complex expression to a simpler\r\n * template input variable. The template will always be rendered, even if the value of the expression is falsy.\r\n *\r\n * @publicApi\r\n */\r\n@Directive({\r\n    selector: '[ngxAlias]',\r\n})\r\nexport class NgxAliasDirective<T> implements OnInit {\r\n\r\n    private readonly context = new NgxAliasContext();\r\n\r\n    constructor(\r\n        private readonly viewContainer: ViewContainerRef,\r\n        @Optional() private readonly templateRef: TemplateRef<unknown>,\r\n    ) {\r\n        if (!this.templateRef) {\r\n            throw new Error(`[ngxAlias] can only be used as a structural directive or on an ng-template.`);\r\n        }\r\n    }\r\n\r\n    /** @internal */\r\n    public static ngTemplateContextGuard<T>(dir: NgxAliasDirective<T>, ctx: unknown): ctx is NgxAliasContext<T> {\r\n        return true;\r\n    }\r\n\r\n    public ngOnInit(): void {\r\n        this.viewContainer.createEmbeddedView(this.templateRef, this.context);\r\n    }\r\n\r\n    /**\r\n     * Expression to alias.\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    public set ngxAlias(expression: T) {\r\n        this.context.ngxAlias = expression;\r\n    }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxAliasDirective } from './ngx-alias.directive';\r\n\r\n@NgModule({\r\n    declarations: [NgxAliasDirective],\r\n    exports: [NgxAliasDirective],\r\n    imports: [\r\n        CommonModule\r\n    ]\r\n})\r\nexport class NgxAliasModule {\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\n\r\n/**\r\n * Defines the template context\r\n *\r\n * You can use [ngxTemplateContext] to specify the the template context inside a ng-template tag body\r\n * by providing a variable with the desired type.\r\n *\r\n * @publicApi\r\n */\r\n@Directive({\r\n    selector: '[ngxTemplateContext]'\r\n})\r\nexport class NgxTemplateContextDirective<T> {\r\n    /**\r\n     * Variable defining the Template Context\r\n     *\r\n     * @publicApi\r\n     */\r\n    @Input()\r\n    ngxTemplateContext?: T;\r\n\r\n    /** @internal */\r\n    static ngTemplateContextGuard<T>(\r\n        dir: NgxTemplateContextDirective<T>,\r\n        ctx: unknown\r\n    ): ctx is T {\r\n        return true;\r\n    }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxTemplateContextDirective } from './ngx-template-context.directive';\r\n\r\n@NgModule({\r\n    declarations: [NgxTemplateContextDirective],\r\n    exports: [NgxTemplateContextDirective],\r\n    imports: [\r\n        CommonModule\r\n    ]\r\n})\r\nexport class NgxTemplateContextModule {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxSubscribeModule } from './ngx-subscribe/ngx-subscribe.module';\r\nimport { NgxRepeatModule } from './ngx-repeat/ngx-repeat.module';\r\nimport { NgxAliasModule } from './ngx-alias/ngx-alias.module';\r\nimport { NgxTemplateContextModule } from './ngx-template-context/ngx-template-context.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        NgxSubscribeModule,\r\n        NgxRepeatModule,\r\n        NgxAliasModule,\r\n        NgxTemplateContextModule,\r\n    ],\r\n    exports: [\r\n        NgxSubscribeModule,\r\n        NgxRepeatModule,\r\n        NgxAliasModule,\r\n        NgxTemplateContextModule,\r\n    ],\r\n})\r\nexport class NgxStructuralsModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}