docs: improve configuration file documentation
[e-mobility-charging-stations-simulator.git] / src / exception / OCPPError.ts
index cfcc4f40c8dacc0c6eefcd07e71706877cbb3c01..d6347652dad92d82d6ca9234e6f72f0b13e22a68 100644 (file)
@@ -1,20 +1,29 @@
-// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
+import { BaseError } from './BaseError.js'
+import {
+  type ErrorType,
+  type IncomingRequestCommand,
+  type JsonType,
+  type RequestCommand
+} from '../types/index.js'
+import { Constants } from '../utils/index.js'
 
-import BaseError from './BaseError';
-import { ErrorType } from '../types/ocpp/ErrorType';
+export class OCPPError extends BaseError {
+  code: ErrorType
+  command?: RequestCommand | IncomingRequestCommand
+  details?: JsonType
 
-export default class OCPPError extends BaseError {
-  code: ErrorType | IncomingRequestCommand;
-  command?: RequestCommand | IncomingRequestCommand;
-  details?: Record<string, unknown>;
+  constructor (
+    code: ErrorType,
+    message: string,
+    command?: RequestCommand | IncomingRequestCommand,
+    details?: JsonType
+  ) {
+    super(message)
 
-  constructor(code: ErrorType | IncomingRequestCommand, message: string, command?: RequestCommand | IncomingRequestCommand, details?: Record<string, unknown>) {
-    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
   }
 }