build(ci): silence linter error
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 24 Sep 2024 16:44:45 +0000 (18:44 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 24 Sep 2024 16:44:45 +0000 (18:44 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/worker/abstract-worker.ts
src/worker/cluster-worker.ts
src/worker/thread-worker.ts

index 57f64171258208fd02799bf3f028dfaef79aa4b0..53ec62f9b8b0cd91e32e39987f7a20782abca5da 100644 (file)
@@ -179,7 +179,7 @@ export abstract class AbstractWorker<
   protected statistics?: WorkerStatistics
 
   /**
-   * Task function object(s) processed by the worker when the pool's `execution` function is invoked.
+   * Task function object(s) processed by the worker when the pool's `execute` method is invoked.
    */
   protected taskFunctions!: Map<string, TaskFunctionObject<Data, Response>>
 
@@ -187,7 +187,7 @@ export abstract class AbstractWorker<
    * Constructs a new poolifier worker.
    * @param isMain - Whether this is the main worker or not.
    * @param mainWorker - Reference to main worker.
-   * @param taskFunctions - Task function(s) processed by the worker when the pool's `execution` function is invoked. The first function is the default function.
+   * @param taskFunctions - Task function(s) processed by the worker when the pool's `execute` method is invoked. The first function is the default function.
    * @param opts - Options for the worker.
    */
   public constructor (
@@ -272,19 +272,25 @@ export abstract class AbstractWorker<
     let response: TaskFunctionOperationResult
     switch (taskFunctionOperation) {
       case 'add':
-        response = this.addTaskFunction(taskFunctionProperties.name, {
-          // eslint-disable-next-line @typescript-eslint/no-implied-eval, no-new-func
-          taskFunction: new Function(
-            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-            `return ${taskFunction!}`
-          )() as TaskFunction<Data, Response>,
-          ...(taskFunctionProperties.priority != null && {
-            priority: taskFunctionProperties.priority,
-          }),
-          ...(taskFunctionProperties.strategy != null && {
-            strategy: taskFunctionProperties.strategy,
-          }),
-        })
+        if (typeof taskFunction === 'string') {
+          response = this.addTaskFunction(taskFunctionProperties.name, {
+            // eslint-disable-next-line @typescript-eslint/no-implied-eval, no-new-func, @typescript-eslint/no-unsafe-call
+            taskFunction: new Function(
+              `return ${taskFunction}`
+            )() as TaskFunction<Data, Response>,
+            ...(taskFunctionProperties.priority != null && {
+              priority: taskFunctionProperties.priority,
+            }),
+            ...(taskFunctionProperties.strategy != null && {
+              strategy: taskFunctionProperties.strategy,
+            }),
+          })
+        } else {
+          response = {
+            error: new Error("'taskFunction' property is not a string"),
+            status: false,
+          }
+        }
         break
       case 'default':
         response = this.setDefaultTaskFunction(taskFunctionProperties.name)
index e6ffe0e25d0519cf1d7cc0f978fa30a2304b8f9f..e01e54e5f64e1b48b9d328e7d08c71ff100cee6e 100644 (file)
@@ -35,7 +35,7 @@ export class ClusterWorker<
 
   /**
    * Constructs a new poolifier cluster worker.
-   * @param taskFunctions - Task function(s) processed by the worker when the pool's `execution` function is invoked.
+   * @param taskFunctions - Task function(s) processed by the worker when the pool's `execute` method is invoked.
    * @param opts - Options for the worker.
    */
   public constructor (
index 85ec86814466749a14513daa22bc0884997c699d..82305d3fc8841e0239263df3baee41544cbcce50 100644 (file)
@@ -45,7 +45,7 @@ export class ThreadWorker<
 
   /**
    * Constructs a new poolifier thread worker.
-   * @param taskFunctions - Task function(s) processed by the worker when the pool's `execution` function is invoked.
+   * @param taskFunctions - Task function(s) processed by the worker when the pool's `execute` method is invoked.
    * @param opts - Options for the worker.
    */
   public constructor (