-import type ChargingStationInfo from './ChargingStationInfo';
-import type { ConnectorStatus } from './ConnectorStatus';
-import type { JsonObject } from './JsonType';
-import type { BootNotificationResponse } from './ocpp/Responses';
-import type Statistics from './Statistics';
-import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
-
-export interface ChargingStationWorkerOptions extends JsonObject {
+import type { WebSocket } from 'ws';
+
+import type {
+ BootNotificationResponse,
+ ChargingStationAutomaticTransactionGeneratorConfiguration,
+ ChargingStationInfo,
+ ConnectorStatus,
+ JsonObject,
+ Statistics,
+} from './internal';
+import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker';
+
+interface ChargingStationWorkerOptions extends JsonObject {
elementStartDelay?: number;
}
export interface ChargingStationData extends WorkerData {
stationInfo: ChargingStationInfo;
started: boolean;
- bootNotificationResponse: BootNotificationResponse;
+ wsState?:
+ | typeof WebSocket.CONNECTING
+ | typeof WebSocket.OPEN
+ | typeof WebSocket.CLOSING
+ | typeof WebSocket.CLOSED;
+ bootNotificationResponse?: BootNotificationResponse;
connectors: ConnectorStatus[];
+ automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration;
}
enum ChargingStationMessageEvents {
PERFORMANCE_STATISTICS = 'performanceStatistics',
}
-export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
-
export const ChargingStationWorkerMessageEvents = {
...WorkerMessageEvents,
...ChargingStationMessageEvents,
-};
+} as const;
+export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
export type ChargingStationWorkerMessageData = ChargingStationData | Statistics;
-export interface ChargingStationWorkerMessage<T extends WorkerData>
- extends Omit<WorkerMessage<T>, 'id'> {
+export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
+ WorkerMessage<T>,
+ 'id'
+> & {
id: ChargingStationWorkerMessageEvents;
-}
+};