@avine/ng-if-non-nullish
Version:
Nullish coalescing operator as Angular structural directive and more...
36 lines (35 loc) • 1.91 kB
TypeScript
import { TemplateRef, ViewContainerRef } from '@angular/core';
import { IfNonNullishContext, IfNullish } from './if-non-nullish.types';
import * as i0 from "@angular/core";
export declare class IfNonNullishDirective<T = unknown> {
private viewContainerRef;
private templateRef;
set ifNonNullish(data: T);
set ifNonNullishFallback(fallbackTemplate: TemplateRef<unknown> | IfNullish);
private context;
private hasNoData;
private fallbackTemplate;
private viewState;
/**
* Assert the correct type of the expression bound to the `ifNonNullish` input within the template.
*
* @see https://angular.io/guide/structural-directives#improving-template-type-checking-for-custom-directives
*/
static ngTemplateGuard_ifNonNullish<T>(_directive: IfNonNullishDirective<T>, data: T): data is Exclude<T, IfNullish>;
/**
* Asserts the correct type of the context for the template that `IfNonNullish` will render.
*
* @see https://angular.io/guide/structural-directives#improving-template-type-checking-for-custom-directives
*/
static ngTemplateContextGuard<T>(_directive: IfNonNullishDirective<T>, context: any): context is IfNonNullishContext<Exclude<T, IfNullish>>;
constructor(viewContainerRef: ViewContainerRef, templateRef: TemplateRef<IfNonNullishContext<T>>);
private updateView;
private switchToRegularView;
private switchToFallbackView;
private upsertContext;
private createRegularView;
private createFallbackView;
private clearView;
static ɵfac: i0.ɵɵFactoryDeclaration<IfNonNullishDirective<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<IfNonNullishDirective<any>, "[ifNonNullish]", never, { "ifNonNullish": { "alias": "ifNonNullish"; "required": false; }; "ifNonNullishFallback": { "alias": "ifNonNullishFallback"; "required": false; }; }, {}, never, never, true, never>;
}