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 6559f815a364048cb2b2c4f4c1ebf2adcd82c3b5..75062774d57b0871d7a2d595b4e5bdd5d1590a9f 100644 (file)
@@ -1,16 +1,35 @@
-import { OCPP16StandardParametersKey, OCPP16SupportedFeatureProfiles } from './1.6/Configuration';
-
-export type StandardParametersKey = OCPP16StandardParametersKey;
+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 const StandardParametersKey = {
-  ...OCPP16StandardParametersKey
-};
+  ...OCPP16StandardParametersKey,
+  ...OCPP20RequiredVariableName,
+  ...OCPP20OptionalVariableName
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type StandardParametersKey = OCPP16StandardParametersKey
 
-export type SupportedFeatureProfiles = OCPP16SupportedFeatureProfiles;
+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',
@@ -20,11 +39,13 @@ export enum ConnectorPhaseRotation {
   SRT = 'SRT',
   STR = 'STR',
   TRS = 'TRS',
-  TSR = 'TSR'
+  TSR = 'TSR',
 }
 
-export interface OCPPConfigurationKey {
-  key: string | StandardParametersKey;
-  readonly: boolean;
-  value?: string;
-}
+export type ConfigurationKeyType = string | StandardParametersKey | VendorParametersKey
+
+export type OCPPConfigurationKey = {
+  key: ConfigurationKeyType
+  readonly: boolean
+  value?: string
+} & JsonObject