import fp from 'fastify-plugin'
import { availableParallelism, DynamicThreadPool } from 'poolifier'
-import {
- type FastifyPoolifierOptions,
- type WorkerData,
- type WorkerResponse
+import type {
+ FastifyPoolifierOptions,
+ WorkerData,
+ WorkerResponse,
} from './types.js'
const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
options = {
...{
minWorkers: 1,
- maxWorkers: availableParallelism()
+ maxWorkers: availableParallelism(),
},
- ...options
+ ...options,
}
const { workerFile, minWorkers, maxWorkers, ...poolOptions } = options
const pool = new DynamicThreadPool<WorkerData, WorkerResponse>(
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
minWorkers!,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
maxWorkers!,
workerFile,
poolOptions
export const fastifyPoolifier = fp(fastifyPoolifierPlugin, {
fastify: '4.x',
- name: 'fastify-poolifier'
+ name: 'fastify-poolifier',
})