Ensure number conversion helpers do not return NaN
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Requests.ts
... / ...
CommitLineData
1import type ChargingStation from '../../charging-station/ChargingStation';
2import type OCPPError from '../../exception/OCPPError';
3import type { JsonType } from '../JsonType';
4import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
5import type { OCPP16MeterValuesRequest } from './1.6/MeterValues';
6import {
7 OCPP16AvailabilityType,
8 OCPP16BootNotificationRequest,
9 OCPP16DataTransferRequest,
10 OCPP16HeartbeatRequest,
11 OCPP16IncomingRequestCommand,
12 OCPP16MessageTrigger,
13 OCPP16RequestCommand,
14 OCPP16StatusNotificationRequest,
15} from './1.6/Requests';
16import type { MessageType } from './MessageType';
17
18export type RequestCommand = OCPP16RequestCommand;
19
20export const RequestCommand = {
21 ...OCPP16RequestCommand,
22};
23
24export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType];
25
26export type RequestParams = {
27 skipBufferingOnError?: boolean;
28 triggerMessage?: boolean;
29};
30
31export type IncomingRequestCommand = OCPP16IncomingRequestCommand;
32
33export const IncomingRequestCommand = {
34 ...OCPP16IncomingRequestCommand,
35};
36
37export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType];
38
39export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void;
40
41export type ErrorCallback = (error: OCPPError, requestStatistic?: boolean) => void;
42
43export type CachedRequest = [
44 ResponseCallback,
45 ErrorCallback,
46 RequestCommand | IncomingRequestCommand,
47 JsonType
48];
49
50export type MessageTrigger = OCPP16MessageTrigger;
51
52export const MessageTrigger = {
53 ...OCPP16MessageTrigger,
54};
55
56export type BootNotificationRequest = OCPP16BootNotificationRequest;
57
58export type HeartbeatRequest = OCPP16HeartbeatRequest;
59
60export type StatusNotificationRequest = OCPP16StatusNotificationRequest;
61
62export type MeterValuesRequest = OCPP16MeterValuesRequest;
63
64export type DataTransferRequest = OCPP16DataTransferRequest;
65
66export type IncomingRequestHandler = (
67 chargingStation: ChargingStation,
68 commandPayload: JsonType
69) => JsonType | Promise<JsonType>;
70
71export type AvailabilityType = OCPP16AvailabilityType;
72
73export const AvailabilityType = {
74 ...OCPP16AvailabilityType,
75};
76
77export type DiagnosticsStatus = OCPP16DiagnosticsStatus;
78
79export const DiagnosticsStatus = {
80 ...OCPP16DiagnosticsStatus,
81};
82
83export type ResponseType = JsonType | OCPPError;