Cleanup
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / OCPPError.ts
index ed77d54c22fa3446677a96d2328ced2629d26c8f..cdb75027986bf1413b0571bc5d908f4bed0217b5 100644 (file)
@@ -1,23 +1,20 @@
+// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+
 import { IncomingRequestCommand, RequestCommand } from '../../types/ocpp/Requests';
 
+import BaseError from '../../exception/BaseError';
 import { ErrorType } from '../../types/ocpp/ErrorType';
 
-export default class OCPPError extends Error {
+export default class OCPPError extends BaseError {
   code: ErrorType | IncomingRequestCommand;
   command?: RequestCommand | IncomingRequestCommand;
-  details?: unknown;
+  details?: Record<string, unknown>;
 
-  constructor(code: ErrorType | IncomingRequestCommand, message: string, command?: RequestCommand | IncomingRequestCommand, details?: unknown) {
+  constructor(code: ErrorType | IncomingRequestCommand, message: string, command?: RequestCommand | IncomingRequestCommand, details?: Record<string, unknown>) {
     super(message);
 
-    this.name = new.target.name;
     this.code = code ?? ErrorType.GENERIC_ERROR;
-    this.message = message ?? '';
-    this.message = command ?? '';
+    this.command = command;
     this.details = details ?? {};
-
-    Object.setPrototypeOf(this, new.target.prototype);
-
-    Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : (this.stack = (new Error()).stack);
   }
 }