-import type { TransferListItem } from 'worker_threads'
-import { DynamicThreadPool, availableParallelism } from 'poolifier'
-import { type FastifyPluginCallback } from 'fastify'
+import type { TransferListItem } from 'node:worker_threads'
+
+import type { FastifyPluginCallback } from 'fastify'
import fp from 'fastify-plugin'
+import { availableParallelism, DynamicThreadPool } from 'poolifier'
+
import {
type FastifyPoolifierOptions,
type WorkerData,
}
const { workerFile, minWorkers, maxWorkers, ...poolOptions } = options
const pool = new DynamicThreadPool<WorkerData, WorkerResponse>(
- minWorkers as number,
- maxWorkers as number,
+ minWorkers!,
+ maxWorkers!,
workerFile,
poolOptions
)
async (
data?: WorkerData,
name?: string,
- transferList?: TransferListItem[]
+ transferList?: readonly TransferListItem[]
): Promise<WorkerResponse> => await pool.execute(data, name, transferList)
)
}