From c71e61c65de3e4b6d880cfb0c40bc5c52df5f025 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Tue, 21 Apr 2026 21:14:12 +0200 Subject: [PATCH] fix: replace isAsyncFunction with instanceof Promise in handleKillMessage --- src/worker/abstract-worker.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/worker/abstract-worker.ts b/src/worker/abstract-worker.ts index ac2e55b46..d70a073d3 100644 --- a/src/worker/abstract-worker.ts +++ b/src/worker/abstract-worker.ts @@ -292,22 +292,22 @@ export abstract class AbstractWorker< */ protected handleKillMessage (message: MessageValue): void { this.stopCheckActive() - if (isAsyncFunction(this.opts.killHandler)) { - ;(this.opts.killHandler as () => Promise)() - .then(() => { - this.sendToMainWorker({ kill: 'success' }) - return undefined - }) - .catch(() => { - this.sendToMainWorker({ kill: 'failure' }) - }) - } else { - try { - ;(this.opts.killHandler as (() => void) | undefined)?.() + try { + const result = this.opts.killHandler?.() + if (result instanceof Promise) { + result + .then(() => { + this.sendToMainWorker({ kill: 'success' }) + return undefined + }) + .catch(() => { + this.sendToMainWorker({ kill: 'failure' }) + }) + } else { this.sendToMainWorker({ kill: 'success' }) - } catch { - this.sendToMainWorker({ kill: 'failure' }) } + } catch { + this.sendToMainWorker({ kill: 'failure' }) } } -- 2.43.0