+/* eslint-disable @typescript-eslint/strict-boolean-expressions */
+
import FixedThreadPool, {
FixedThreadPoolOptions,
WorkerWithMessageChannel
}
protected _chooseWorker (): WorkerWithMessageChannel {
- let worker: WorkerWithMessageChannel
+ let worker: WorkerWithMessageChannel | undefined
for (const entry of this.tasks) {
if (entry[1] === 0) {
worker = entry[0]
}
// all workers are busy create a new worker
const worker = this._newWorker()
- worker.port2.on('message', (message) => {
+ worker.port2?.on('message', (message: { kill?: number }) => {
if (message.kill) {
worker.postMessage({ kill: 1 })
- worker.terminate()
+ // eslint-disable-next-line no-void
+ void worker.terminate()
// clean workers from data structures
const workerIndex = this.workers.indexOf(worker)
this.workers.splice(workerIndex, 1)