perf: reduce OCPPUtils memory usage
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Requests.ts
index 72555e64d5006ced8ecef53a05cff62c5b449e9d..8d19078e448f0584b33c357f41e248852c069655 100644 (file)
@@ -1,27 +1,31 @@
-import type { ChargingStation } from '../../charging-station';
-import type { OCPPError } from '../../exception';
+import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
+import type { OCPP16MeterValuesRequest } from './1.6/MeterValues';
 import {
-  type JsonType,
-  type MessageType,
   OCPP16AvailabilityType,
   type OCPP16BootNotificationRequest,
+  type OCPP16CancelReservationRequest,
   type OCPP16DataTransferRequest,
-  OCPP16DiagnosticsStatus,
   type OCPP16DiagnosticsStatusNotificationRequest,
   OCPP16FirmwareStatus,
   type OCPP16FirmwareStatusNotificationRequest,
   type OCPP16HeartbeatRequest,
   OCPP16IncomingRequestCommand,
   OCPP16MessageTrigger,
-  type OCPP16MeterValuesRequest,
   OCPP16RequestCommand,
+  type OCPP16ReserveNowRequest,
   type OCPP16StatusNotificationRequest,
+} from './1.6/Requests';
+import { OperationalStatusEnumType } from './2.0/Common';
+import {
   type OCPP20BootNotificationRequest,
   OCPP20IncomingRequestCommand,
   OCPP20RequestCommand,
   type OCPP20StatusNotificationRequest,
-  OperationalStatusEnumType,
-} from '../internal';
+} from './2.0/Requests';
+import type { MessageType } from './MessageType';
+import type { ChargingStation } from '../../charging-station';
+import type { OCPPError } from '../../exception';
+import type { JsonType } from '../JsonType';
 
 export const RequestCommand = {
   ...OCPP16RequestCommand,
@@ -31,11 +35,11 @@ export type RequestCommand = OCPP16RequestCommand | OCPP20RequestCommand;
 
 export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType];
 
-export type RequestParams = {
+export interface RequestParams {
   skipBufferingOnError?: boolean;
   triggerMessage?: boolean;
   throwError?: boolean;
-};
+}
 
 export const IncomingRequestCommand = {
   ...OCPP16IncomingRequestCommand,
@@ -45,15 +49,20 @@ export type IncomingRequestCommand = OCPP16IncomingRequestCommand | OCPP20Incomi
 
 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 ErrorCallback = (error: OCPPError, requestStatistic?: boolean) => void;
+export type ErrorCallback = (ocppError: OCPPError, requestStatistic?: boolean) => void;
 
 export type CachedRequest = [
   ResponseCallback,
   ErrorCallback,
   RequestCommand | IncomingRequestCommand,
-  JsonType
+  JsonType,
 ];
 
 export const MessageTrigger = {
@@ -77,11 +86,6 @@ export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotifi
 
 export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest;
 
-export type IncomingRequestHandler = (
-  chargingStation: ChargingStation,
-  commandPayload: JsonType
-) => JsonType | Promise<JsonType>;
-
 export const AvailabilityType = {
   ...OCPP16AvailabilityType,
   ...OperationalStatusEnumType,
@@ -99,3 +103,7 @@ export const FirmwareStatus = {
 export type FirmwareStatus = OCPP16FirmwareStatus;
 
 export type ResponseType = JsonType | OCPPError;
+
+export type ReserveNowRequest = OCPP16ReserveNowRequest;
+
+export type CancelReservationRequest = OCPP16CancelReservationRequest;