import type { WebSocket } from 'ws'
+import type { WorkerData } from '../worker/index.js'
import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator.js'
import { ChargingStationEvents } from './ChargingStationEvents.js'
import type { ChargingStationInfo } from './ChargingStationInfo.js'
import type { JsonObject } from './JsonType.js'
import type { BootNotificationResponse } from './ocpp/Responses.js'
import type { Statistics } from './Statistics.js'
-import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker/index.js'
export interface ChargingStationOptions extends JsonObject {
+ supervisionUrls?: string | string[]
persistentConfiguration?: boolean
autoStart?: boolean
autoRegister?: boolean
enableStatistics?: boolean
ocppStrictCompliance?: boolean
+ stopTransactionsOnStopped?: boolean
}
export interface ChargingStationWorkerData extends WorkerData {
}
export const ChargingStationWorkerMessageEvents = {
- ...WorkerMessageEvents,
...ChargingStationEvents,
...ChargingStationMessageEvents
} as const
// eslint-disable-next-line @typescript-eslint/no-redeclare
export type ChargingStationWorkerMessageEvents =
- | WorkerMessageEvents
| ChargingStationEvents
| ChargingStationMessageEvents
-export interface ChargingStationWorkerEventError extends WorkerData {
- event: WorkerMessageEvents
- name: string
- message: string
- stack?: string
-}
-
-export type ChargingStationWorkerMessageData =
- | ChargingStationData
- | Statistics
- | ChargingStationWorkerEventError
+export type ChargingStationWorkerMessageData = ChargingStationData | Statistics
-export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
-WorkerMessage<T>,
-'event'
-> & {
+export interface ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> {
event: ChargingStationWorkerMessageEvents
+ data: T
}