UNPKG

air-lib

Version:

This is Air's angular component library

69 lines 4.38 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; } var BroadcasterService = /** @class */ (function () { function BroadcasterService() { this._eventBus = new Subject(); } /** * @param {?} key * @param {?=} data * @return {?} */ BroadcasterService.prototype.broadcast = /** * @param {?} key * @param {?=} data * @return {?} */ function (key, data) { this._eventBus.next({ key: key, data: data }); }; /** * @template T * @param {?} key * @return {?} */ BroadcasterService.prototype.on = /** * @template T * @param {?} key * @return {?} */ function (key) { return this._eventBus.asObservable() .filter(function (event) { return event.key === key; }) .map(function (event) { return (/** @type {?} */ (event.data)); }); }; BroadcasterService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; BroadcasterService.ctorParameters = function () { return []; }; /** @nocollapse */ BroadcasterService.ngInjectableDef = i0.defineInjectable({ factory: function BroadcasterService_Factory() { return new BroadcasterService(); }, token: BroadcasterService, providedIn: "root" }); return BroadcasterService; }()); export { BroadcasterService }; if (false) { /** * @type {?} * @private */ BroadcasterService.prototype._eventBus; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fpci1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvQnJvYWRjYXN0ZXIvYnJvYWRjYXN0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE9BQU8sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyx1QkFBdUIsQ0FBQzs7Ozs7QUFFL0IsOEJBR0M7OztJQUZDLDhCQUFTOztJQUNULCtCQUFXOztBQUliO0lBT0k7UUFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO0lBQ3BELENBQUM7Ozs7OztJQUVELHNDQUFTOzs7OztJQUFULFVBQVUsR0FBUSxFQUFFLElBQVU7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUEsRUFBRSxJQUFJLE1BQUEsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBRUQsK0JBQUU7Ozs7O0lBQUYsVUFBTSxHQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTthQUMvQixNQUFNLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBakIsQ0FBaUIsQ0FBQzthQUNsQyxHQUFHLENBQUMsVUFBQSxLQUFLLFdBQUksbUJBQUcsS0FBSyxDQUFDLElBQUksRUFBQSxHQUFBLENBQUMsQ0FBQztJQUNyQyxDQUFDOztnQkFuQkosVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs2QkFkRDtDQWdDQyxBQXBCRCxJQW9CQztTQWpCWSxrQkFBa0I7Ozs7OztJQUU3Qix1Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzL1N1YmplY3QnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcclxuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9maWx0ZXInO1xyXG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL21hcCc7XHJcblxyXG5pbnRlcmZhY2UgSUJyb2FkY2FzdEV2ZW50IHtcclxuICBrZXk6IGFueTtcclxuICBkYXRhPzogYW55O1xyXG59XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJvYWRjYXN0ZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBfZXZlbnRCdXM6IFN1YmplY3Q8SUJyb2FkY2FzdEV2ZW50PjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLl9ldmVudEJ1cyA9IG5ldyBTdWJqZWN0PElCcm9hZGNhc3RFdmVudD4oKTtcclxuICAgIH1cclxuXHJcbiAgICBicm9hZGNhc3Qoa2V5OiBhbnksIGRhdGE/OiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9ldmVudEJ1cy5uZXh0KHsga2V5LCBkYXRhIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uPFQ+KGtleTogYW55KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50QnVzLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5maWx0ZXIoZXZlbnQgPT4gZXZlbnQua2V5ID09PSBrZXkpXHJcbiAgICAgICAgICAgIC5tYXAoZXZlbnQgPT4gPFQ+ZXZlbnQuZGF0YSk7XHJcbiAgICB9XHJcbn1cclxuIl19