build: switch to NodeNext module resolution
[e-mobility-charging-stations-simulator.git] / src / exception / OCPPError.ts
index 563575a321fbcc1d1e985decea92fb9b34523ffd..4fb9ea165a1a827d952a7422e4f13c423061deef 100644 (file)
@@ -1,11 +1,15 @@
-// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import { JsonType } from '../types/JsonType';
-import { ErrorType } from '../types/ocpp/ErrorType';
-import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
-import BaseError from './BaseError';
+import { BaseError } from './BaseError.js';
+import {
+  ErrorType,
+  type IncomingRequestCommand,
+  type JsonType,
+  type RequestCommand,
+} from '../types/index.js';
+import { Constants } from '../utils/index.js';
 
-export default class OCPPError extends BaseError {
+export class OCPPError extends BaseError {
   code: ErrorType;
   command?: RequestCommand | IncomingRequestCommand;
   details?: JsonType;
@@ -14,12 +18,13 @@ export default class OCPPError extends BaseError {
     code: ErrorType,
     message: string,
     command?: RequestCommand | IncomingRequestCommand,
-    details?: JsonType
+    details?: JsonType,
   ) {
     super(message);
 
-    this.code = code ?? ErrorType.GENERIC_ERROR;
-    this.command = command;
-    this.details = details ?? {};
+    this.code = code;
+    this.command =
+      command ?? (Constants.UNKNOWN_COMMAND as RequestCommand | IncomingRequestCommand);
+    this.details = details;
   }
 }