air-lib
Version:
This is Air's angular component library
69 lines • 4.38 kB
JavaScript
/**
* @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