diff --git a/src/CraftgateError.ts b/src/CraftgateError.ts index 03a4373..cb763f9 100644 --- a/src/CraftgateError.ts +++ b/src/CraftgateError.ts @@ -1,18 +1,26 @@ +type ProviderError = { + errorCode?: string; + errorMessage?: string; +}; + type ErrorResponse = { errorCode: string; errorDescription: string; + providerError?: ProviderError; }; export default class CraftgateError extends Error { private _errorCode: string; private _errorDescription: string; + private _providerError?: ProviderError; private _errorData: any; - constructor({errorCode, errorDescription, ...rest}: ErrorResponse) { + constructor({errorCode, errorDescription, providerError, ...rest}: ErrorResponse) { super(errorDescription); this._errorCode = errorCode; this._errorDescription = errorDescription; + this._providerError = providerError; this._errorData = rest; Object.setPrototypeOf(this, CraftgateError.prototype); @@ -26,6 +34,10 @@ export default class CraftgateError extends Error { return this._errorDescription; } + getProviderError(): ProviderError | undefined { + return this._providerError; + } + getErrorData(): any { return this._errorData; }