Merge branch 'main' of github.com:SAP/e-mobility-charging-stations-simulator
[e-mobility-charging-stations-simulator.git] / src / charging-station / UIServiceWorkerBroadcastChannel.ts
index 0e84b3a120af43f277445b3ed3f98327fbb90862..5f77b0e3450768bc79a87cacbfa744e77c3f268b 100644 (file)
@@ -1,12 +1,12 @@
-import type AbstractUIService from './ui-server/ui-services/AbstractUIService';
-import WorkerBroadcastChannel from './WorkerBroadcastChannel';
-import { type ResponsePayload, ResponseStatus } from '../types/UIProtocol';
-import type {
-  BroadcastChannelResponse,
-  BroadcastChannelResponsePayload,
-  MessageEvent,
-} from '../types/WorkerBroadcastChannel';
-import logger from '../utils/Logger';
+import { type AbstractUIService, WorkerBroadcastChannel } from './internal';
+import {
+  type BroadcastChannelResponse,
+  type BroadcastChannelResponsePayload,
+  type MessageEvent,
+  type ResponsePayload,
+  ResponseStatus,
+} from '../types';
+import { Utils, logger } from '../utils';
 
 const moduleName = 'UIServiceWorkerBroadcastChannel';
 
@@ -16,7 +16,7 @@ type Responses = {
   responses: BroadcastChannelResponsePayload[];
 };
 
-export default class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
+export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
   private readonly uiService: AbstractUIService;
   private readonly responses: Map<string, Responses>;
 
@@ -69,31 +69,31 @@ export default class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChan
       status: responsesStatus,
       hashIdsSucceeded: this.responses
         .get(uuid)
-        ?.responses.map(({ status, hashId }) => {
+        ?.responses.filter(({ hashId }) => !Utils.isNullOrUndefined(hashId))
+        .map(({ status, hashId }) => {
           if (status === ResponseStatus.SUCCESS) {
             return hashId;
           }
-        })
-        .filter((hashId) => hashId !== undefined),
+        }),
       ...(responsesStatus === ResponseStatus.FAILURE && {
         hashIdsFailed: this.responses
           .get(uuid)
-          ?.responses.map(({ status, hashId }) => {
+          ?.responses.filter(({ hashId }) => !Utils.isNullOrUndefined(hashId))
+          .map(({ status, hashId }) => {
             if (status === ResponseStatus.FAILURE) {
               return hashId;
             }
-          })
-          .filter((hashId) => hashId !== undefined),
+          }),
       }),
       ...(responsesStatus === ResponseStatus.FAILURE && {
         responsesFailed: this.responses
           .get(uuid)
-          ?.responses.map((response) => {
+          ?.responses.filter((response) => !Utils.isNullOrUndefined(response))
+          .map((response) => {
             if (response.status === ResponseStatus.FAILURE) {
               return response;
             }
-          })
-          .filter((response) => response !== undefined),
+          }),
       }),
     };
   }