angular4-events
Version:
Events is a publish-subscribe style event system based on sqlProvider/angular2-pubsub
40 lines • 1.67 kB
JavaScript
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
var ServiceName = "Events Service";
var EventsService = /** @class */ (function () {
function EventsService() {
this.events = {};
}
EventsService.prototype.subscribe = function (event, callback, error, complete) {
if (!event) {
throw new Error("[" + ServiceName + "] => Subscription method must get event name.");
}
if (this.events[event] === undefined) {
this.events[event] = new Subject();
}
if (typeof callback !== 'function') {
return this.events[event].asObservable();
}
else {
return this.events[event].asObservable().subscribe(callback, error, complete);
}
};
EventsService.prototype.publish = function (event, eventObject) {
if (!event) {
throw new Error("[" + ServiceName + "] => Publish method must get event name.");
}
else if (!this.events[event]) {
return;
}
this.events[event].next(eventObject);
};
EventsService.ɵfac = function EventsService_Factory(t) { return new (t || EventsService)(); };
EventsService.ɵprov = i0.ɵɵdefineInjectable({ token: EventsService, factory: EventsService.ɵfac });
return EventsService;
}());
export { EventsService };
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventsService, [{
type: Injectable
}], function () { return []; }, null); })();
//# sourceMappingURL=angular4-events.service.js.map