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
fix: fix 'Cannot read properties of undefined' with revervation enabled
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
ChargingStationWorker.ts
diff --git
a/src/charging-station/ChargingStationWorker.ts
b/src/charging-station/ChargingStationWorker.ts
index de0b7a9fd95be118b6f6e154e9bc5a25504cf2be..3a723eca25dd5dd86902c510354c9069332643d6 100644
(file)
--- a/
src/charging-station/ChargingStationWorker.ts
+++ b/
src/charging-station/ChargingStationWorker.ts
@@
-10,36
+10,36
@@
import type { ChargingStationWorkerData } from '../types';
import { Configuration } from '../utils';
import { WorkerConstants, type WorkerMessage, WorkerMessageEvents } from '../worker';
import { Configuration } from '../utils';
import { WorkerConstants, type WorkerMessage, WorkerMessageEvents } from '../worker';
+const moduleName = 'ChargingStationWorker';
+
/**
/**
- * Create
and start
a charging station instance
+ * Create
s and starts
a charging station instance
*
* @param data - workerData
*/
*
* @param data - workerData
*/
-const startChargingStation = (data: ChargingStationWorkerData): void => {
- new ChargingStation(data
.index, data
.templateFile).start();
+const startChargingStation = (data
?
: ChargingStationWorkerData): void => {
+ new ChargingStation(data
!.index, data!
.templateFile).start();
};
class ChargingStationWorker extends AsyncResource {
constructor() {
};
class ChargingStationWorker extends AsyncResource {
constructor() {
- super(
'ChargingStationWorker'
);
+ super(
moduleName
);
// Add message listener to create and start charging station from the main thread
parentPort?.on('message', (message: WorkerMessage<ChargingStationWorkerData>) => {
// Add message listener to create and start charging station from the main thread
parentPort?.on('message', (message: WorkerMessage<ChargingStationWorkerData>) => {
- if (message.
id
=== WorkerMessageEvents.startWorkerElement) {
+ if (message.
event
=== WorkerMessageEvents.startWorkerElement) {
this.runInAsyncScope(
this.runInAsyncScope(
- startChargingStation.bind(this) as (data: ChargingStationWorkerData) => void,
+ startChargingStation.bind(this) as (data
?
: ChargingStationWorkerData) => void,
this,
this,
- message.data
+ message.data
,
);
}
});
}
}
);
}
});
}
}
-export let chargingStationWorker: ChargingStationWorker;
-// Conditionally export ThreadWorker instance for pool usage
-export let threadWorker: ThreadWorker;
+export let chargingStationWorker: ChargingStationWorker | ThreadWorker<ChargingStationWorkerData>;
if (Configuration.workerPoolInUse()) {
if (Configuration.workerPoolInUse()) {
-
thread
Worker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation, {
+
chargingStation
Worker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation, {
maxInactiveTime: WorkerConstants.POOL_MAX_INACTIVE_TIME,
});
} else {
maxInactiveTime: WorkerConstants.POOL_MAX_INACTIVE_TIME,
});
} else {