UNPKG

react-event-connector

Version:
41 lines (40 loc) 1.62 kB
var EventConnector = /** @class */ (function () { function EventConnector() { this.subscribers = new Map(); } EventConnector.getInstance = function () { return EventConnector.instance; }; EventConnector.prototype.subscribe = function (signalName, id, subscriber) { if (!this.subscribers.has(signalName)) this.subscribers.set(signalName, []); var subscribers = this.subscribers.get(signalName); subscribers.push({ subscriber: subscriber, id: id }); }; EventConnector.prototype.emit = function (signalName) { var _this = this; return function (value) { var subscribers = _this.subscribers.get(signalName); if (!subscribers) { console.warn("No subscribers found for signal: " + signalName); return; } subscribers.forEach(function (s) { return s.subscriber(value); }); }; }; EventConnector.prototype.findSubscriber = function (signalName, id) { var subscribers = this.subscribers.get(signalName); if (!subscribers) return null; return subscribers.find(function (s) { return s.id === id; }); }; EventConnector.prototype.removeSubscriber = function (signalName, id) { var subscribers = this.subscribers.get(signalName); if (!subscribers) return; this.subscribers.set(signalName, subscribers.filter(function (s) { return s.id !== id; })); }; EventConnector.instance = new EventConnector(); return EventConnector; }()); export { EventConnector };