import {
- type MessagePort,
+ isMainThread,
type TransferListItem,
- type Worker,
- isMainThread
+ type Worker
} from 'node:worker_threads'
+
import type { MessageValue } from '../../utility-types.js'
import { AbstractPool } from '../abstract-pool.js'
import { type PoolOptions, type PoolType, PoolTypes } from '../pool.js'
message: MessageValue<Data>,
transferList?: TransferListItem[]
): void {
- this.workerNodes[workerNodeKey].messageChannel?.port1.postMessage(
- { ...message, workerId: this.getWorkerInfo(workerNodeKey)?.id },
+ this.workerNodes[workerNodeKey]?.messageChannel?.port1.postMessage(
+ {
+ ...message,
+ workerId: this.getWorkerInfo(workerNodeKey)?.id
+ } satisfies MessageValue<Data>,
transferList
)
}
protected sendStartupMessageToWorker (workerNodeKey: number): void {
const workerNode = this.workerNodes[workerNodeKey]
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- const port2: MessagePort = workerNode.messageChannel!.port2
+ const port2 = workerNode.messageChannel!.port2
workerNode.worker.postMessage(
{
ready: false,
workerId: this.getWorkerInfo(workerNodeKey)?.id,
port: port2
- },
+ } satisfies MessageValue<Data>,
[port2]
)
}