+// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+
+import { IncomingRequestCommand, RequestCommand } from '../../types/ocpp/Requests';
+
import { ErrorType } from '../../types/ocpp/ErrorType';
-import { IncomingRequestCommand } from '../../types/ocpp/Requests';
export default class OCPPError extends Error {
code: ErrorType | IncomingRequestCommand;
- details?: unknown;
+ command?: RequestCommand | IncomingRequestCommand;
+ details?: Record<string, unknown>;
- constructor(code: ErrorType | IncomingRequestCommand, message: string, 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.command = command;
this.details = details ?? {};
Object.setPrototypeOf(this, new.target.prototype);