UNPKG

@aviarytech/didcomm-messaging

Version:

DIDComm Messaging library for sending and receiving DIDComm messages

34 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventBus = void 0; class EventBus { constructor() { this.subscribers = {}; } dispatch(event, arg) { const subscriber = this.subscribers[event]; if (subscriber === undefined) { return; } Object.keys(subscriber).forEach((key) => subscriber[key].handle(arg)); } register(event, callbackClass) { const id = this.getNextId(); if (!this.subscribers[event]) this.subscribers[event] = {}; this.subscribers[event][id] = callbackClass; return { unregister: () => { delete this.subscribers[event][id]; if (Object.keys(this.subscribers[event]).length === 0) delete this.subscribers[event]; }, }; } getNextId() { return EventBus.nextId++; } } exports.EventBus = EventBus; EventBus.nextId = 0; //# sourceMappingURL=event-bus.js.map