+// 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.command = command;
this.details = details ?? {};
-
- Object.setPrototypeOf(this, new.target.prototype);
-
- Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : (this.stack = (new Error()).stack);
}
}