UNPKG

945 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var EventBus = (function () {
4 function EventBus() {
5 this.listeners = {};
6 }
7 EventBus.prototype.emit = function (event, data) {
8 if (this.listeners[event]) {
9 this.listeners[event].forEach(function (listener) { return listener(data); });
10 }
11 };
12 EventBus.prototype.on = function (event, listener) {
13 if (!this.listeners[event]) {
14 this.listeners[event] = [];
15 }
16 this.listeners[event].push(listener);
17 };
18 EventBus.prototype.unsubscribe = function (listener) {
19 Object.values(this.listeners).forEach(function (listeners) {
20 var index = listeners.indexOf(listener);
21 if (index > -1) {
22 listeners.splice(index, 1);
23 }
24 });
25 };
26 return EventBus;
27}());
28exports.EventBus = EventBus;
29exports.eventBus = new EventBus();