@schoolbelle/common
Version:
62 lines • 3.75 kB
JavaScript
/**
* @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==