fix: check for listener count before emitting error

This commit is contained in:
alina 🌸 2024-04-29 18:09:56 +03:00
parent 33515169ff
commit dc56deb08a
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI
3 changed files with 17 additions and 4 deletions

View file

@ -91,8 +91,11 @@ export abstract class BaseTcpTransport extends EventEmitter implements ITelegram
handleError(socket: unknown, error: Error): void {
this.log.error('error: %s', error.stack)
if (this.listenerCount('error') > 0) {
this.emit('error', error)
}
}
handleConnect(socket: Socket): void {
this._socket = socket
@ -109,7 +112,11 @@ export abstract class BaseTcpTransport extends EventEmitter implements ITelegram
this.emit('ready')
}
})
.catch((err) => this.emit('error', err))
.catch((err) => {
if (this.listenerCount('error') > 0) {
this.emit('error', err)
}
})
}
async send(bytes: Uint8Array): Promise<void> {

View file

@ -87,8 +87,11 @@ export abstract class BaseTcpTransport extends EventEmitter implements ITelegram
handleError(error: unknown): void {
this.log.error('error: %s', error)
if (this.listenerCount('error') > 0) {
this.emit('error', error)
}
}
async handleConnect(socket: Deno.TcpConn): Promise<void> {
this._socket = socket

View file

@ -84,8 +84,11 @@ export abstract class BaseTcpTransport extends EventEmitter implements ITelegram
handleError(error: Error): void {
this.log.error('error: %s', error.stack)
if (this.listenerCount('error') > 0) {
this.emit('error', error)
}
}
handleConnect(): void {
this.log.info('connected')