UNPKG

egg

Version:

A web application framework for Node.js

29 lines (28 loc) • 937 B
import { MessageUnhandledRejectionError } from "../../error/MessageUnhandledRejectionError.js"; import "../../egg.js"; import { EventEmitter, captureRejectionSymbol } from "node:events"; //#region src/lib/core/messenger/base.ts var BaseMessenger = class extends EventEmitter { egg; constructor(egg) { super({ captureRejections: true }); this.egg = egg; this[captureRejectionSymbol] = this.onRejection.bind(this); } onRejection(err, event, ...args) { this.egg.coreLogger.error(new MessageUnhandledRejectionError(err, event, args)); } emit(eventName, ...args) { const hasListeners = this.listenerCount(eventName) > 0; try { return super.emit(eventName, ...args); } catch (e) { let err = e; if (!(err instanceof Error)) err = new Error(String(err)); this.egg.coreLogger.error(new MessageUnhandledRejectionError(err, eventName, args)); return hasListeners; } } }; //#endregion export { BaseMessenger };