Merge dependabot/npm_and_yarn/ui/web/jsdom-23.1.0 into combined-prs-branch
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Configuration.ts
index 57b3f90f150309c7fb21b58d10ce96566fd9084c..75062774d57b0871d7a2d595b4e5bdd5d1590a9f 100644 (file)
@@ -1,7 +1,51 @@
-import { StandardParametersKey } from './1.6/Configuration';
+import {
+  OCPP16StandardParametersKey,
+  OCPP16SupportedFeatureProfiles,
+  OCPP16VendorParametersKey
+} from './1.6/Configuration.js'
+import {
+  OCPP20OptionalVariableName,
+  OCPP20RequiredVariableName,
+  OCPP20VendorVariableName
+} from './2.0/Variables.js'
+import type { JsonObject } from '../JsonType.js'
 
-export interface OCPPConfigurationKey {
-  key: string | StandardParametersKey;
-  readonly: boolean;
-  value?: string;
+export const StandardParametersKey = {
+  ...OCPP16StandardParametersKey,
+  ...OCPP20RequiredVariableName,
+  ...OCPP20OptionalVariableName
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type StandardParametersKey = OCPP16StandardParametersKey
+
+export const VendorParametersKey = {
+  ...OCPP16VendorParametersKey,
+  ...OCPP20VendorVariableName
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type VendorParametersKey = OCPP16VendorParametersKey
+
+export const SupportedFeatureProfiles = {
+  ...OCPP16SupportedFeatureProfiles
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type SupportedFeatureProfiles = OCPP16SupportedFeatureProfiles
+
+export enum ConnectorPhaseRotation {
+  NotApplicable = 'NotApplicable',
+  Unknown = 'Unknown',
+  RST = 'RST',
+  RTS = 'RTS',
+  SRT = 'SRT',
+  STR = 'STR',
+  TRS = 'TRS',
+  TSR = 'TSR',
 }
+
+export type ConfigurationKeyType = string | StandardParametersKey | VendorParametersKey
+
+export type OCPPConfigurationKey = {
+  key: ConfigurationKeyType
+  readonly: boolean
+  value?: string
+} & JsonObject