-// 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 {
+ 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';
-import { JsonObject } from '../types/JsonType';
-
-export default class OCPPError extends BaseError {
+export class OCPPError extends BaseError {
code: ErrorType;
command?: RequestCommand | IncomingRequestCommand;
- details?: JsonObject;
+ details?: JsonType;
constructor(
code: ErrorType,
message: string,
command?: RequestCommand | IncomingRequestCommand,
- details?: JsonObject
+ 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;
}
}