X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes%2FChargingStationWorker.ts;h=4d47a5e3698bb96a5bad1e9f3093af396993be32;hb=9388120364d5a2f3b9103f05802e1756d2dad04f;hp=5e56d4fd0e088fbc13deeb5e9fec08842bd7ba2a;hpb=db54d2e00fdb75fa3f25cb08bc7bba94dbebc122;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index 5e56d4fd..4d47a5e3 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -1,64 +1,68 @@ -import type { WebSocket } from 'ws'; +import type { WebSocket } from 'ws' -import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator'; -import { ChargingStationEvents } from './ChargingStation'; -import type { ChargingStationInfo } from './ChargingStationInfo'; -import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration'; -import type { ConnectorStatus } from './ConnectorStatus'; -import type { EvseStatus } from './Evse'; -import type { JsonObject } from './JsonType'; -import type { BootNotificationResponse } from './ocpp/Responses'; -import type { Statistics } from './Statistics'; -import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker'; +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 { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration.js' +import type { ConnectorStatus } from './ConnectorStatus.js' +import type { EvseStatus } from './Evse.js' +import type { JsonObject } from './JsonType.js' +import type { BootNotificationResponse } from './ocpp/Responses.js' +import type { Statistics } from './Statistics.js' -interface ChargingStationWorkerOptions extends JsonObject { - elementStartDelay?: number; +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 { - index: number; - templateFile: string; - chargingStationWorkerOptions?: ChargingStationWorkerOptions; + index: number + templateFile: string + options?: ChargingStationOptions } export type EvseStatusWorkerType = Omit & { - connectors?: ConnectorStatus[]; -}; + connectors?: ConnectorStatus[] +} export interface ChargingStationData extends WorkerData { - started: boolean; - stationInfo: ChargingStationInfo; - connectors: ConnectorStatus[]; - evses: EvseStatusWorkerType[]; - ocppConfiguration: ChargingStationOcppConfiguration; + started: boolean + stationInfo: ChargingStationInfo + connectors: ConnectorStatus[] + evses: EvseStatusWorkerType[] + ocppConfiguration: ChargingStationOcppConfiguration + supervisionUrl: string wsState?: - | typeof WebSocket.CONNECTING - | typeof WebSocket.OPEN - | typeof WebSocket.CLOSING - | typeof WebSocket.CLOSED; - bootNotificationResponse?: BootNotificationResponse; - automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration; + | typeof WebSocket.CONNECTING + | typeof WebSocket.OPEN + | typeof WebSocket.CLOSING + | typeof WebSocket.CLOSED + bootNotificationResponse?: BootNotificationResponse + automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration } enum ChargingStationMessageEvents { - performanceStatistics = 'performanceStatistics', + performanceStatistics = 'performanceStatistics' } export const ChargingStationWorkerMessageEvents = { - ...WorkerMessageEvents, ...ChargingStationEvents, - ...ChargingStationMessageEvents, -} as const; + ...ChargingStationMessageEvents +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare export type ChargingStationWorkerMessageEvents = - | WorkerMessageEvents | ChargingStationEvents - | ChargingStationMessageEvents; + | ChargingStationMessageEvents -export type ChargingStationWorkerMessageData = ChargingStationData | Statistics; +export type ChargingStationWorkerMessageData = ChargingStationData | Statistics -export type ChargingStationWorkerMessage = Omit< - WorkerMessage, - 'event' -> & { - event: ChargingStationWorkerMessageEvents; -}; +export interface ChargingStationWorkerMessage { + event: ChargingStationWorkerMessageEvents + data: T +}