repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
UI server: permit to address all charging stations
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
WorkerBroadcastChannel.ts
diff --git
a/src/charging-station/WorkerBroadcastChannel.ts
b/src/charging-station/WorkerBroadcastChannel.ts
index 12a877c12add623365c0c8c6c6068c62841000d2..b19bf946dc633db77e5c690e75dd4b921de6868a 100644
(file)
--- a/
src/charging-station/WorkerBroadcastChannel.ts
+++ b/
src/charging-station/WorkerBroadcastChannel.ts
@@
-1,6
+1,12
@@
import { BroadcastChannel } from 'worker_threads';
import { BroadcastChannel } from 'worker_threads';
-import { BroadcastChannelRequest, BroadcastChannelResponse } from '../types/WorkerBroadcastChannel';
+import BaseError from '../exception/BaseError';
+import type { JsonType } from '../types/JsonType';
+import type {
+ BroadcastChannelRequest,
+ BroadcastChannelResponse,
+ MessageEvent,
+} from '../types/WorkerBroadcastChannel';
export default abstract class WorkerBroadcastChannel extends BroadcastChannel {
protected constructor() {
export default abstract class WorkerBroadcastChannel extends BroadcastChannel {
protected constructor() {
@@
-15,11
+21,17
@@
export default abstract class WorkerBroadcastChannel extends BroadcastChannel {
this.postMessage(response);
}
this.postMessage(response);
}
- protected isRequest(message:
any
): boolean {
+ protected isRequest(message:
JsonType[]
): boolean {
return Array.isArray(message) && message.length === 3;
}
return Array.isArray(message) && message.length === 3;
}
- protected isResponse(message:
any
): boolean {
+ protected isResponse(message:
JsonType[]
): boolean {
return Array.isArray(message) && message.length === 2;
}
return Array.isArray(message) && message.length === 2;
}
+
+ protected validateMessageEvent(messageEvent: MessageEvent): void {
+ if (Array.isArray(messageEvent.data) === false) {
+ throw new BaseError('Worker broadcast channel protocol message event data is not an array');
+ }
+ }
}
}