Files
Autonomous-Bug-Explorer/dist/shared/infrastructure/InProcessEventBus.js
2026-03-04 16:26:32 -05:00

24 lines
832 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InProcessEventBus = void 0;
const events_1 = require("events");
class InProcessEventBus {
constructor(logger) {
this.emitter = new events_1.EventEmitter();
this.emitter.setMaxListeners(50);
this.logger = logger;
}
async publish(event) {
this.logger.debug({ eventName: event.eventName, aggregateId: event.aggregateId }, 'Publishing domain event');
this.emitter.emit(event.eventName, event);
}
subscribe(eventName, handler) {
this.emitter.on(eventName, (event) => {
handler.handle(event).catch((err) => {
this.logger.error({ eventName, err }, 'Error in event handler');
});
});
}
}
exports.InProcessEventBus = InProcessEventBus;