build(deps): apply updates
[e-mobility-charging-stations-simulator.git] / src / charging-station / broadcast-channel / UIServiceWorkerBroadcastChannel.ts
index 89058cebd1b79337ec3f0a9ef7be7852f78d0f51..d328291636ac8da6f37ce6fc1eebca288e67d339 100644 (file)
@@ -11,11 +11,11 @@ import type { AbstractUIService } from '../ui-server/ui-services/AbstractUIServi
 
 const moduleName = 'UIServiceWorkerBroadcastChannel';
 
-type Responses = {
+interface Responses {
   responsesExpected: number;
   responsesReceived: number;
   responses: BroadcastChannelResponsePayload[];
-};
+}
 
 export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
   private readonly uiService: AbstractUIService;
@@ -24,8 +24,8 @@ export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
   constructor(uiService: AbstractUIService) {
     super();
     this.uiService = uiService;
-    this.onmessage = this.responseHandler.bind(this) as (message: MessageEvent) => void;
-    this.onmessageerror = this.messageErrorHandler.bind(this) as (message: MessageEvent) => void;
+    this.onmessage = this.responseHandler.bind(this) as (message: unknown) => void;
+    this.onmessageerror = this.messageErrorHandler.bind(this) as (message: unknown) => void;
     this.responses = new Map<string, Responses>();
   }
 
@@ -45,9 +45,9 @@ export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
         responses: [responsePayload],
       });
     } else if (
-      this.responses.get(uuid)?.responsesReceived <= this.responses.get(uuid)?.responsesExpected
+      this.responses.get(uuid)!.responsesReceived <= this.responses.get(uuid)!.responsesExpected
     ) {
-      ++this.responses.get(uuid).responsesReceived;
+      ++this.responses.get(uuid)!.responsesReceived;
       this.responses.get(uuid)?.responses.push(responsePayload);
     }
     if (
@@ -70,31 +70,31 @@ export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
       status: responsesStatus,
       hashIdsSucceeded: this.responses
         .get(uuid)
-        ?.responses.filter(({ hashId }) => !isNullOrUndefined(hashId))
-        .map(({ status, hashId }) => {
-          if (status === ResponseStatus.SUCCESS) {
+        ?.responses.map(({ status, hashId }) => {
+          if (hashId !== undefined && status === ResponseStatus.SUCCESS) {
             return hashId;
           }
-        }),
+        })
+        .filter((hashId) => !isNullOrUndefined(hashId)) as string[],
       ...(responsesStatus === ResponseStatus.FAILURE && {
         hashIdsFailed: this.responses
           .get(uuid)
-          ?.responses.filter(({ hashId }) => !isNullOrUndefined(hashId))
-          .map(({ status, hashId }) => {
-            if (status === ResponseStatus.FAILURE) {
+          ?.responses.map(({ status, hashId }) => {
+            if (hashId !== undefined && status === ResponseStatus.FAILURE) {
               return hashId;
             }
-          }),
+          })
+          .filter((hashId) => !isNullOrUndefined(hashId)) as string[],
       }),
       ...(responsesStatus === ResponseStatus.FAILURE && {
         responsesFailed: this.responses
           .get(uuid)
-          ?.responses.filter((response) => !isNullOrUndefined(response))
-          .map((response) => {
-            if (response.status === ResponseStatus.FAILURE) {
+          ?.responses.map((response) => {
+            if (response !== undefined && response.status === ResponseStatus.FAILURE) {
               return response;
             }
-          }),
+          })
+          .filter((response) => !isNullOrUndefined(response)) as BroadcastChannelResponsePayload[],
       }),
     };
   }