X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fbroadcast-channel%2FUIServiceWorkerBroadcastChannel.ts;h=d328291636ac8da6f37ce6fc1eebca288e67d339;hb=6a4032b5d8f3cbaa18d3beddcdfe9d335c1cba90;hp=b66cd8a09d21ca9179361c8232babe6e7f1c76c3;hpb=041936041d9803859ac2faad9316c20e49b658c9;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/broadcast-channel/UIServiceWorkerBroadcastChannel.ts b/src/charging-station/broadcast-channel/UIServiceWorkerBroadcastChannel.ts index b66cd8a0..d3282916 100644 --- a/src/charging-station/broadcast-channel/UIServiceWorkerBroadcastChannel.ts +++ b/src/charging-station/broadcast-channel/UIServiceWorkerBroadcastChannel.ts @@ -6,16 +6,16 @@ import { type ResponsePayload, ResponseStatus, } from '../../types'; -import { Utils, logger } from '../../utils'; +import { isNullOrUndefined, logger } from '../../utils'; import type { AbstractUIService } from '../ui-server/ui-services/AbstractUIService'; 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(); } @@ -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 }) => !Utils.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 }) => !Utils.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) => !Utils.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[], }), }; } @@ -102,7 +102,7 @@ export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel { private messageErrorHandler(messageEvent: MessageEvent): void { logger.error( `${this.uiService.logPrefix(moduleName, 'messageErrorHandler')} Error at handling message:`, - messageEvent + messageEvent, ); } }