docs: fix README.md formatting
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Requests.ts
index e931e83fcbbee1a4ea8a7161a8e00bd823c01678..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';
+  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 type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType];
+export const RequestCommand = {
+  ...OCPP16RequestCommand,
+  ...OCPP20RequestCommand
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type RequestCommand = OCPP16RequestCommand | OCPP20RequestCommand
 
-export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType];
+export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]
 
-export type CachedRequest = [
-  (payload: JsonType, requestPayload: JsonType) => void,
-  (error: OCPPError, requestStatistic?: boolean) => void,
-  RequestCommand | IncomingRequestCommand,
-  JsonType
-];
+export interface RequestParams {
+  skipBufferingOnError?: boolean
+  triggerMessage?: boolean
+  throwError?: boolean
+}
+
+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>;
+) => JsonType | Promise<JsonType>
 
-export type ResponseType = JsonType | OCPPError;
+export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void
 
-export interface RequestParams {
-  skipBufferingOnError?: boolean;
-  triggerMessage?: boolean;
-}
+export type ErrorCallback = (ocppError: OCPPError, requestStatistic?: boolean) => void
 
-export type BootNotificationRequest = OCPP16BootNotificationRequest;
+export type CachedRequest = [
+  ResponseCallback,
+  ErrorCallback,
+  RequestCommand | IncomingRequestCommand,
+  JsonType
+]
+
+export const MessageTrigger = {
+  ...OCPP16MessageTrigger
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type MessageTrigger = OCPP16MessageTrigger
+
+export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20BootNotificationRequest
+
+export type HeartbeatRequest = OCPP16HeartbeatRequest
+
+export type StatusNotificationRequest =
+  | OCPP16StatusNotificationRequest
+  | OCPP20StatusNotificationRequest
 
-export type HeartbeatRequest = OCPP16HeartbeatRequest;
+export type MeterValuesRequest = OCPP16MeterValuesRequest
 
-export type StatusNotificationRequest = OCPP16StatusNotificationRequest;
+export type DataTransferRequest = OCPP16DataTransferRequest
 
-export type MeterValuesRequest = OCPP16MeterValuesRequest;
+export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotificationRequest
 
-export type AvailabilityType = OCPP16AvailabilityType;
+export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest
 
 export const AvailabilityType = {
   ...OCPP16AvailabilityType,
-};
+  ...OperationalStatusEnumType
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type AvailabilityType = OCPP16AvailabilityType | OperationalStatusEnumType
 
-export type RequestCommand = OCPP16RequestCommand;
+export const DiagnosticsStatus = {
+  ...OCPP16DiagnosticsStatus
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type DiagnosticsStatus = OCPP16DiagnosticsStatus
 
-export const RequestCommand = {
-  ...OCPP16RequestCommand,
-};
+export const FirmwareStatus = {
+  ...OCPP16FirmwareStatus
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type FirmwareStatus = OCPP16FirmwareStatus
 
-export type IncomingRequestCommand = OCPP16IncomingRequestCommand;
+export type ResponseType = JsonType | OCPPError
 
-export const IncomingRequestCommand = {
-  ...OCPP16IncomingRequestCommand,
-};
-
-export type DiagnosticsStatus = OCPP16DiagnosticsStatus;
+export type ReserveNowRequest = OCPP16ReserveNowRequest
 
-export const DiagnosticsStatus = {
-  ...OCPP16DiagnosticsStatus,
-};
+export type CancelReservationRequest = OCPP16CancelReservationRequest