X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FChargingStationWorker.ts;h=d53152dc00dd4c2cf56f0d23064d35548468d9cc;hb=1185579a331f3484e8ed7882203d2e58466635dd;hp=4cbe8ba7069706ea6080f41b2560705ed39c5f10;hpb=452a82cadd0f08148f5f3d5e5b78fa6cac9da0a7;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index 4cbe8ba7..d53152dc 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -1,11 +1,17 @@ -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, + ChargingStationOcppConfiguration, + ConnectorStatus, + JsonObject, + Statistics, +} from './internal'; +import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker'; + +interface ChargingStationWorkerOptions extends JsonObject { elementStartDelay?: number; } @@ -16,10 +22,17 @@ export interface ChargingStationWorkerData extends WorkerData { } export interface ChargingStationData extends WorkerData { - stationInfo: ChargingStationInfo; started: boolean; - bootNotificationResponse: BootNotificationResponse; + stationInfo: ChargingStationInfo; connectors: ConnectorStatus[]; + ocppConfiguration: ChargingStationOcppConfiguration; + wsState?: + | typeof WebSocket.CONNECTING + | typeof WebSocket.OPEN + | typeof WebSocket.CLOSING + | typeof WebSocket.CLOSED; + bootNotificationResponse?: BootNotificationResponse; + automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration; } enum ChargingStationMessageEvents { @@ -29,16 +42,17 @@ 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 - extends Omit, 'id'> { +export type ChargingStationWorkerMessage = Omit< + WorkerMessage, + 'id' +> & { id: ChargingStationWorkerMessageEvents; -} +};