build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Requests.ts
index ed9dac1a71fe2d8de071adb90093a945de149eff..c718f1e03ab5b61c6fc8b92cdf49dd1154f179fd 100644 (file)
-import type ChargingStation from '../../charging-station/ChargingStation';
-import OCPPError from '../../exception/OCPPError';
-import { JsonType } from '../JsonType';
-import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
-import { OCPP16MeterValuesRequest } from './1.6/MeterValues';
+import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus.js'
+import type { OCPP16MeterValuesRequest } from './1.6/MeterValues.js'
 import {
   OCPP16AvailabilityType,
-  OCPP16BootNotificationRequest,
-  OCPP16HeartbeatRequest,
+  type OCPP16BootNotificationRequest,
+  type OCPP16CancelReservationRequest,
+  type OCPP16DataTransferRequest,
+  type OCPP16DiagnosticsStatusNotificationRequest,
+  OCPP16FirmwareStatus,
+  type OCPP16FirmwareStatusNotificationRequest,
+  type OCPP16HeartbeatRequest,
   OCPP16IncomingRequestCommand,
+  OCPP16MessageTrigger,
   OCPP16RequestCommand,
-  OCPP16StatusNotificationRequest,
-} from './1.6/Requests';
-import { MessageType } from './MessageType';
-
-export type RequestCommand = OCPP16RequestCommand;
+  type OCPP16ReserveNowRequest,
+  type OCPP16StatusNotificationRequest
+} from './1.6/Requests.js'
+import { OperationalStatusEnumType } from './2.0/Common.js'
+import {
+  type OCPP20BootNotificationRequest,
+  OCPP20IncomingRequestCommand,
+  OCPP20RequestCommand,
+  type OCPP20StatusNotificationRequest
+} from './2.0/Requests.js'
+import type { MessageType } from './MessageType.js'
+import type { ChargingStation } from '../../charging-station/index.js'
+import type { OCPPError } from '../../exception/index.js'
+import type { JsonType } from '../JsonType.js'
 
 export const RequestCommand = {
   ...OCPP16RequestCommand,
-};
+  ...OCPP20RequestCommand
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type RequestCommand = OCPP16RequestCommand | OCPP20RequestCommand
 
-export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType];
+export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]
 
 export interface RequestParams {
-  skipBufferingOnError?: boolean;
-  triggerMessage?: boolean;
+  skipBufferingOnError?: boolean
+  triggerMessage?: boolean
+  throwError?: boolean
 }
 
-export type IncomingRequestCommand = OCPP16IncomingRequestCommand;
-
 export const IncomingRequestCommand = {
   ...OCPP16IncomingRequestCommand,
-};
+  ...OCPP20IncomingRequestCommand
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type IncomingRequestCommand = OCPP16IncomingRequestCommand | OCPP20IncomingRequestCommand
+
+export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]
+
+export type IncomingRequestHandler = (
+  chargingStation: ChargingStation,
+  commandPayload: JsonType
+) => JsonType | Promise<JsonType>
+
+export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void
 
-export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType];
+export type ErrorCallback = (ocppError: OCPPError, requestStatistic?: boolean) => void
 
 export type CachedRequest = [
-  (payload: JsonType, requestPayload: JsonType) => void,
-  (error: OCPPError, requestStatistic?: boolean) => void,
+  ResponseCallback,
+  ErrorCallback,
   RequestCommand | IncomingRequestCommand,
   JsonType
-];
+]
 
-export type BootNotificationRequest = OCPP16BootNotificationRequest;
+export const MessageTrigger = {
+  ...OCPP16MessageTrigger
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type MessageTrigger = OCPP16MessageTrigger
 
-export type HeartbeatRequest = OCPP16HeartbeatRequest;
+export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20BootNotificationRequest
 
-export type StatusNotificationRequest = OCPP16StatusNotificationRequest;
+export type HeartbeatRequest = OCPP16HeartbeatRequest
 
-export type MeterValuesRequest = OCPP16MeterValuesRequest;
+export type StatusNotificationRequest =
+  | OCPP16StatusNotificationRequest
+  | OCPP20StatusNotificationRequest
 
-export type IncomingRequestHandler = (
-  chargingStation: ChargingStation,
-  commandPayload: JsonType
-) => JsonType | Promise<JsonType>;
+export type MeterValuesRequest = OCPP16MeterValuesRequest
+
+export type DataTransferRequest = OCPP16DataTransferRequest
+
+export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotificationRequest
 
-export type AvailabilityType = OCPP16AvailabilityType;
+export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest
 
 export const AvailabilityType = {
   ...OCPP16AvailabilityType,
-};
-
-export type DiagnosticsStatus = OCPP16DiagnosticsStatus;
+  ...OperationalStatusEnumType
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type AvailabilityType = OCPP16AvailabilityType | OperationalStatusEnumType
 
 export const DiagnosticsStatus = {
-  ...OCPP16DiagnosticsStatus,
-};
+  ...OCPP16DiagnosticsStatus
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type DiagnosticsStatus = OCPP16DiagnosticsStatus
+
+export const FirmwareStatus = {
+  ...OCPP16FirmwareStatus
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type FirmwareStatus = OCPP16FirmwareStatus
+
+export type ResponseType = JsonType | OCPPError
+
+export type ReserveNowRequest = OCPP16ReserveNowRequest
 
-export type ResponseType = JsonType | OCPPError;
+export type CancelReservationRequest = OCPP16CancelReservationRequest