UNPKG

air-lib

Version:

This is Air's angular component library

57 lines 3.83 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Subject } from 'rxjs/Subject'; import 'rxjs/add/operator/filter'; import 'rxjs/add/operator/map'; import * as i0 from "@angular/core"; /** * @record */ function IBroadcastEvent() { } if (false) { /** @type {?} */ IBroadcastEvent.prototype.key; /** @type {?|undefined} */ IBroadcastEvent.prototype.data; } export class BroadcasterService { constructor() { this._eventBus = new Subject(); } /** * @param {?} key * @param {?=} data * @return {?} */ broadcast(key, data) { this._eventBus.next({ key, data }); } /** * @template T * @param {?} key * @return {?} */ on(key) { return this._eventBus.asObservable() .filter(event => event.key === key) .map(event => (/** @type {?} */ (event.data))); } } BroadcasterService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; BroadcasterService.ctorParameters = () => []; /** @nocollapse */ BroadcasterService.ngInjectableDef = i0.defineInjectable({ factory: function BroadcasterService_Factory() { return new BroadcasterService(); }, token: BroadcasterService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ BroadcasterService.prototype._eventBus; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fpci1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvQnJvYWRjYXN0ZXIvYnJvYWRjYXN0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE9BQU8sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyx1QkFBdUIsQ0FBQzs7Ozs7QUFFL0IsOEJBR0M7OztJQUZDLDhCQUFTOztJQUNULCtCQUFXOztBQU9iLE1BQU07SUFJRjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7SUFDcEQsQ0FBQzs7Ozs7O0lBRUQsU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUFVO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBRUQsRUFBRSxDQUFJLEdBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO2FBQy9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO2FBQ2xDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQW5CSixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7Ozs7OztJQUdDLHVDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvU3ViamVjdCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xyXG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL2ZpbHRlcic7XHJcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWFwJztcclxuXHJcbmludGVyZmFjZSBJQnJvYWRjYXN0RXZlbnQge1xyXG4gIGtleTogYW55O1xyXG4gIGRhdGE/OiBhbnk7XHJcbn1cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcm9hZGNhc3RlclNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9ldmVudEJ1czogU3ViamVjdDxJQnJvYWRjYXN0RXZlbnQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuX2V2ZW50QnVzID0gbmV3IFN1YmplY3Q8SUJyb2FkY2FzdEV2ZW50PigpO1xyXG4gICAgfVxyXG5cclxuICAgIGJyb2FkY2FzdChrZXk6IGFueSwgZGF0YT86IGFueSkge1xyXG4gICAgICAgIHRoaXMuX2V2ZW50QnVzLm5leHQoeyBrZXksIGRhdGEgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb248VD4oa2V5OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRCdXMuYXNPYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgLmZpbHRlcihldmVudCA9PiBldmVudC5rZXkgPT09IGtleSlcclxuICAgICAgICAgICAgLm1hcChldmVudCA9PiA8VD5ldmVudC5kYXRhKTtcclxuICAgIH1cclxufVxyXG4iXX0=