UNPKG

@ecip/shared

Version:
72 lines 3.71 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from "@angular/core"; import { Subject } from "rxjs/Rx"; /** * @record */ function BroadcastEvent() { } if (false) { /** @type {?} */ BroadcastEvent.prototype.key; /** @type {?|undefined} */ BroadcastEvent.prototype.data; } var Broadcaster = /** @class */ (function () { function Broadcaster() { this._eventBus = new Subject(); } /** * @param {?} key * @param {?=} data * @return {?} */ Broadcaster.prototype.broadcast = /** * @param {?} key * @param {?=} data * @return {?} */ function (key, data) { this._eventBus.next({ key: key, data: data }); }; /** * @template T * @param {?} key * @return {?} */ Broadcaster.prototype.on = /** * @template T * @param {?} key * @return {?} */ function (key) { return this._eventBus.asObservable() .filter((/** * @param {?} event * @return {?} */ function (event) { return event.key === key; })) .map((/** * @param {?} event * @return {?} */ function (event) { return (/** @type {?} */ (event.data)); })); }; Broadcaster.decorators = [ { type: Injectable } ]; /** @nocollapse */ Broadcaster.ctorParameters = function () { return []; }; return Broadcaster; }()); export { Broadcaster }; if (false) { /** * @type {?} * @private */ Broadcaster.prototype._eventBus; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZWNpcC9zaGFyZWQvIiwic291cmNlcyI6WyJzcmMvYnJvYWRjYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLFNBQVMsQ0FBQzs7OztBQUU1Qyw2QkFHQzs7O0lBRkMsNkJBQVM7O0lBQ1QsOEJBQVc7O0FBR2I7SUFJRTtRQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7SUFDakQsQ0FBQzs7Ozs7O0lBRUQsK0JBQVM7Ozs7O0lBQVQsVUFBVSxHQUFRLEVBQUUsSUFBVTtRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsS0FBQSxFQUFFLElBQUksTUFBQSxFQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7Ozs7SUFFRCx3QkFBRTs7Ozs7SUFBRixVQUFNLEdBQVE7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO2FBQ2pDLE1BQU07Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFqQixDQUFpQixFQUFDO2FBQ2xDLEdBQUc7Ozs7UUFBQyxVQUFBLEtBQUssV0FBSSxtQkFBRyxLQUFLLENBQUMsSUFBSSxFQUFBLEdBQUEsRUFBQyxDQUFDO0lBQ2pDLENBQUM7O2dCQWhCRixVQUFVOzs7O0lBaUJYLGtCQUFDO0NBQUEsQUFqQkQsSUFpQkM7U0FoQlksV0FBVzs7Ozs7O0lBQ3RCLGdDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tIFwicnhqcy9SeFwiO1xyXG5cclxuaW50ZXJmYWNlIEJyb2FkY2FzdEV2ZW50IHtcclxuICBrZXk6IGFueTtcclxuICBkYXRhPzogYW55O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCcm9hZGNhc3RlciB7XHJcbiAgcHJpdmF0ZSBfZXZlbnRCdXM6IFN1YmplY3Q8QnJvYWRjYXN0RXZlbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuX2V2ZW50QnVzID0gbmV3IFN1YmplY3Q8QnJvYWRjYXN0RXZlbnQ+KCk7XHJcbiAgfVxyXG5cclxuICBicm9hZGNhc3Qoa2V5OiBhbnksIGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMuX2V2ZW50QnVzLm5leHQoe2tleSwgZGF0YX0pO1xyXG4gIH1cclxuXHJcbiAgb248VD4oa2V5OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9ldmVudEJ1cy5hc09ic2VydmFibGUoKVxyXG4gICAgICAuZmlsdGVyKGV2ZW50ID0+IGV2ZW50LmtleSA9PT0ga2V5KVxyXG4gICAgICAubWFwKGV2ZW50ID0+IDxUPmV2ZW50LmRhdGEpO1xyXG4gIH1cclxufVxyXG4iXX0=