UNPKG

@schoolbelle/common

Version:

62 lines 3.75 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import { filter } from 'rxjs/operators'; import * as i0 from "@angular/core"; export class PubsubEvent { } if (false) { /** @type {?} */ PubsubEvent.prototype.name; /** @type {?} */ PubsubEvent.prototype.data; } export class PubsubService { constructor() { this.publishEvent = new Subject(); } /** * @param {?} name * @param {?} data * @return {?} */ pub(name, data) { this.publishEvent.next({ name: name, data: data }); } /** * @param {?} name * @return {?} */ sub(name) { return this.publishEvent .pipe(filter((/** * @param {?} event * @return {?} */ event => { if (typeof name === 'string') return event.name === name; else return name.includes(event.name); }))); } } PubsubService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ PubsubService.ctorParameters = () => []; /** @nocollapse */ PubsubService.ngInjectableDef = i0.defineInjectable({ factory: function PubsubService_Factory() { return new PubsubService(); }, token: PubsubService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ PubsubService.prototype.publishEvent; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVic3ViLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2Nob29sYmVsbGUvY29tbW9uLyIsInNvdXJjZXMiOlsicHVic3ViL3NyYy9saWIvcHVic3ViLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3hDLE1BQU0sT0FBTyxXQUFXO0NBR3ZCOzs7SUFGQywyQkFBVzs7SUFDWCwyQkFBUTs7QUFLVixNQUFNLE9BQU8sYUFBYTtJQUV4QjtRQURRLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztJQUNuQyxDQUFDOzs7Ozs7SUFDaEIsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJO1FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Ozs7O0lBQ0QsR0FBRyxDQUFDLElBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDdkIsSUFBSSxDQUNILE1BQU07Ozs7UUFBQyxLQUFLLENBQUEsRUFBRTtZQUNaLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTtnQkFBRSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFBOztnQkFDbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBakJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7Ozs7Ozs7OztJQUVDLHFDQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5leHBvcnQgY2xhc3MgUHVic3ViRXZlbnQge1xuICBuYW1lOnN0cmluZ1xuICBkYXRhOmFueVxufVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHVic3ViU2VydmljZSB7XG4gIHByaXZhdGUgcHVibGlzaEV2ZW50ID0gbmV3IFN1YmplY3Q8UHVic3ViRXZlbnQ+KCk7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgcHViKG5hbWUsIGRhdGEpIHtcbiAgICB0aGlzLnB1Ymxpc2hFdmVudC5uZXh0KHsgbmFtZTogbmFtZSwgZGF0YTogZGF0YSB9KTtcbiAgfVxuICBzdWIobmFtZTogc3RyaW5nfHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxQdWJzdWJFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLnB1Ymxpc2hFdmVudFxuICAgIC5waXBlKFxuICAgICAgZmlsdGVyKGV2ZW50PT57XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycpIHJldHVybiBldmVudC5uYW1lID09PSBuYW1lXG4gICAgICAgIGVsc2UgcmV0dXJuIG5hbWUuaW5jbHVkZXMoZXZlbnQubmFtZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==