refactor: cleanup worker message channel handling
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 7 May 2024 21:48:34 +0000 (23:48 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 7 May 2024 21:48:34 +0000 (23:48 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/worker/abstract-worker.ts

index 2a5f1121521f15c193df29022aa755ed2aabee8f..bb6ac5666e0252195b4f1cafbda38471ec7fcf07 100644 (file)
@@ -324,19 +324,27 @@ export abstract class AbstractWorker<
    */
   protected messageListener (message: MessageValue<Data>): void {
     this.checkMessageWorkerId(message)
-    if (message.statistics != null) {
+    const {
+      statistics,
+      checkActive,
+      taskFunctionOperation,
+      taskId,
+      data,
+      kill
+    } = message
+    if (statistics != null) {
       // Statistics message received
-      this.statistics = message.statistics
-    } else if (message.checkActive != null) {
+      this.statistics = statistics
+    } else if (checkActive != null) {
       // Check active message received
-      message.checkActive ? this.startCheckActive() : this.stopCheckActive()
-    } else if (message.taskFunctionOperation != null) {
+      checkActive ? this.startCheckActive() : this.stopCheckActive()
+    } else if (taskFunctionOperation != null) {
       // Task function operation message received
       this.handleTaskFunctionOperationMessage(message)
-    } else if (message.taskId != null && message.data != null) {
+    } else if (taskId != null && data != null) {
       // Task message received
       this.run(message)
-    } else if (message.kill === true) {
+    } else if (kill === true) {
       // Kill message received
       this.handleKillMessage(message)
     }