fix: remove worker task usage at task function removal
[poolifier.git] / src / worker / abstract-worker.ts
index bd03d86e06eefee9871215a49aeb11343236be0d..6c6de861156e040285fc3a4ad4c50ba5e796f04f 100644 (file)
@@ -386,7 +386,7 @@ export abstract class AbstractWorker<
         new Function(`return ${taskFunction as string}`)() as TaskFunction<
         Data,
         Response
-        > /* NOSONAR */
+        >
       )
     } else if (taskFunctionOperation === 'remove') {
       response = this.removeTaskFunction(taskFunctionName as string)
@@ -396,10 +396,14 @@ export abstract class AbstractWorker<
     this.sendToMainWorker({
       taskFunctionOperation,
       taskFunctionOperationStatus: response.status,
-      workerError: {
-        name: taskFunctionName as string,
-        message: this.handleError(response.error as Error | string)
-      }
+      taskFunctionName,
+      ...(!response.status &&
+        response?.error != null && {
+        workerError: {
+          name: taskFunctionName as string,
+          message: this.handleError(response.error as Error | string)
+        }
+      })
     })
   }