@ngneat/overview
Version:
The Template for Success in Template Management
25 lines • 3.02 kB
JavaScript
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import * as i0 from "@angular/core";
export class TeleportService {
constructor() {
this.outlets = new BehaviorSubject('');
this.ports = new Map();
}
outlet$(name) {
return this.outlets.pipe(filter((current) => current === name), map((name) => this.ports.get(name)));
}
newOutlet(name) {
this.outlets.next(name);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TeleportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TeleportService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TeleportService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9vdmVydmlldy9zcmMvbGliL3RlbGVwb3J0L3RlbGVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sZUFBZTtJQUg1QjtRQUlVLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQVNsRCxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7S0FLN0M7SUFaQyxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUlELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBZFUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGVsZXBvcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvdXRsZXRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBvdXRsZXQkKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm91dGxldHMucGlwZShcbiAgICAgIGZpbHRlcigoY3VycmVudCkgPT4gY3VycmVudCA9PT0gbmFtZSksXG4gICAgICBtYXAoKG5hbWUpID0+IHRoaXMucG9ydHMuZ2V0KG5hbWUpKVxuICAgICk7XG4gIH1cblxuICBwb3J0cyA9IG5ldyBNYXA8c3RyaW5nLCBWaWV3Q29udGFpbmVyUmVmPigpO1xuXG4gIG5ld091dGxldChuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLm91dGxldHMubmV4dChuYW1lKTtcbiAgfVxufVxuIl19