build(deps-dev): apply updates
[poolifier.git] / examples / typescript / http-server-pool / fastify-hybrid / src / fastify-poolifier.ts
index 2bdf2040bbbb3354ea1d703318ca3832ba109904..753f6df1872f39d879800d600780e6d598511cd6 100644 (file)
@@ -1,11 +1,13 @@
 import type { TransferListItem } from 'node:worker_threads'
-import { DynamicThreadPool, availableParallelism } from 'poolifier'
+
 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> = (
@@ -16,14 +18,16 @@ const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
   options = {
     ...{
       minWorkers: 1,
-      maxWorkers: availableParallelism()
+      maxWorkers: availableParallelism(),
     },
-    ...options
+    ...options,
   }
   const { workerFile, minWorkers, maxWorkers, ...poolOptions } = options
   const pool = new DynamicThreadPool<ThreadWorkerData, ThreadWorkerResponse>(
-    minWorkers as number,
-    maxWorkers as number,
+    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+    minWorkers!,
+    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+    maxWorkers!,
     workerFile,
     poolOptions
   )
@@ -36,7 +40,7 @@ const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
       async (
         data?: ThreadWorkerData,
         name?: string,
-        transferList?: TransferListItem[]
+        transferList?: readonly TransferListItem[]
       ): Promise<ThreadWorkerResponse> =>
         await pool.execute(data, name, transferList)
     )
@@ -46,5 +50,5 @@ const fastifyPoolifierPlugin: FastifyPluginCallback<FastifyPoolifierOptions> = (
 
 export const fastifyPoolifier = fp(fastifyPoolifierPlugin, {
   fastify: '4.x',
-  name: 'fastify-poolifier'
+  name: 'fastify-poolifier',
 })