UNPKG

@yyasinaslan/easyform

Version:
35 lines 3.76 kB
import { isObservable } from "rxjs"; import { ChangeDetectorRef, inject, Pipe } from "@angular/core"; import { AsyncPipe } from "@angular/common"; import * as i0 from "@angular/core"; /** * Observe both Observable and Signal values */ export class ObservePipe { constructor() { this.cdr = inject(ChangeDetectorRef); this.asyncPipe = new AsyncPipe(this.cdr); } transform(value) { if (value === undefined) return null; if (isObservable(value)) { return this.asyncPipe.transform(value); } return value; } ngOnDestroy() { this.asyncPipe.ngOnDestroy(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ObservePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ObservePipe, isStandalone: true, name: "observe", pure: false }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ObservePipe, decorators: [{ type: Pipe, args: [{ name: 'observe', pure: false, standalone: true }] }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Vhc3ktZm9ybS9zcmMvbGliL3BpcGVzL29ic2VydmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFhLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUcxQzs7R0FFRztBQU1ILE1BQU0sT0FBTyxXQUFXO0lBS3RCO1FBSlEsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBS3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBMkM7UUFDbkQsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXJDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0FyQlUsV0FBVzs2R0FBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUx2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBpbmplY3QsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcblxyXG4vKipcclxuICogT2JzZXJ2ZSBib3RoIE9ic2VydmFibGUgYW5kIFNpZ25hbCB2YWx1ZXNcclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnb2JzZXJ2ZScsXHJcbiAgcHVyZTogZmFsc2UsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2JzZXJ2ZVBpcGU8VD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgcHJpdmF0ZSBhc3luY1BpcGU6IEFzeW5jUGlwZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmFzeW5jUGlwZSA9IG5ldyBBc3luY1BpcGUodGhpcy5jZHIpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPiB8IHVuZGVmaW5lZCB8IG51bGwpOiBUIHwgbnVsbCB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXN5bmNQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmFzeW5jUGlwZS5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19