fix: fix pool.addTaskFunction() type definition
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 9 May 2024 17:31:40 +0000 (19:31 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 9 May 2024 17:31:40 +0000 (19:31 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/pools/pool.ts

index 66815bf90bdab3f2eb8a54baec75147b8aa08341..67409eea7afd3984e07ac2b15fa351fab1143244 100644 (file)
@@ -3,7 +3,10 @@ import type { EventEmitterAsyncResource } from 'node:events'
 import type { TransferListItem, WorkerOptions } from 'node:worker_threads'
 
 import type { TaskFunctionProperties } from '../utility-types.js'
-import type { TaskFunction } from '../worker/task-functions.js'
+import type {
+  TaskFunction,
+  TaskFunctionObject
+} from '../worker/task-functions.js'
 import type {
   WorkerChoiceStrategy,
   WorkerChoiceStrategyOptions
@@ -308,11 +311,11 @@ export interface IPool<
    * @param fn - The task function.
    * @returns `true` if the task function was added, `false` otherwise.
    * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `name` parameter is not a string or an empty string.
-   * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `fn` parameter is not a function.
+   * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `fn` parameter is not a function or task function object.
    */
   readonly addTaskFunction: (
     name: string,
-    fn: TaskFunction<Data, Response>
+    fn: TaskFunction<Data, Response> | TaskFunctionObject<Data, Response>
   ) => Promise<boolean>
   /**
    * Removes a task function from this pool.