X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fbroadcast-channel%2FUIServiceWorkerBroadcastChannel.ts;h=d328291636ac8da6f37ce6fc1eebca288e67d339;hb=6a4032b5d8f3cbaa18d3beddcdfe9d335c1cba90;hp=89058cebd1b79337ec3f0a9ef7be7852f78d0f51;hpb=5edd8ba0f8978cfb3ca9d80f299d9748c6c5970e;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 89058ceb..d3282916 100644 --- a/src/charging-station/broadcast-channel/UIServiceWorkerBroadcastChannel.ts +++ b/src/charging-station/broadcast-channel/UIServiceWorkerBroadcastChannel.ts @@ -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(); } @@ -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[], }), }; }