Merge dependabot/npm_and_yarn/examples/typescript/http-client-pool/types/node-20...
[poolifier.git] / examples / typescript / http-server-pool / fastify-hybrid / src / fastify-poolifier.ts
index 2d13758028f8105f893226d91ed1c8ff07482949..b4369082833e5409823401a9c61608765d97138a 100644 (file)
@@ -1,11 +1,13 @@
 import type { TransferListItem } from 'node:worker_threads'
-import { DynamicThreadPool, availableParallelism } from 'poolifier'
-import { type FastifyPluginCallback } from 'fastify'
+
+import type { FastifyPluginCallback } from 'fastify'
 import fp from 'fastify-plugin'
-import {
-  type FastifyPoolifierOptions,
-  type ThreadWorkerData,
-  type ThreadWorkerResponse
+import { availableParallelism, DynamicThreadPool } from 'poolifier'
+
+import type {
+  FastifyPoolifierOptions,
+  ThreadWorkerData,
+  ThreadWorkerResponse
 } from './types.js'
 
 const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
@@ -22,8 +24,8 @@ const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
   }
   const { workerFile, minWorkers, maxWorkers, ...poolOptions } = options
   const pool = new DynamicThreadPool<ThreadWorkerData, ThreadWorkerResponse>(
-    minWorkers as number,
-    maxWorkers as number,
+    minWorkers!,
+    maxWorkers!,
     workerFile,
     poolOptions
   )
@@ -36,7 +38,7 @@ const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
       async (
         data?: ThreadWorkerData,
         name?: string,
-        transferList?: TransferListItem[]
+        transferList?: readonly TransferListItem[]
       ): Promise<ThreadWorkerResponse> =>
         await pool.execute(data, name, transferList)
     )