@paritydeals/node-sdk
Version:
Node.js SDK for interacting with the ParityDeals API.
69 lines • 2.91 kB
JavaScript
"use strict";
// src/exceptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.NotFoundError = exports.ServerError = exports.InvalidRequestError = exports.AuthenticationError = exports.ApiError = void 0;
/**
* Base class for all API-related errors in the ParityDeals SDK.
*/
class ApiError extends Error {
constructor(message, statusCode, details, cause, requestUrl, requestMethod) {
super(message);
this.name = this.constructor.name;
this.statusCode = statusCode;
this.details = details;
this.cause = cause;
this.requestUrl = requestUrl;
this.requestMethod = requestMethod;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
}
toString() {
let str = `${this.name}: ${this.message}`;
if (this.statusCode) {
str += ` (Status Code: ${this.statusCode})`;
}
if (this.requestMethod && this.requestUrl) {
str += ` [${this.requestMethod} ${this.requestUrl}]`;
}
if (this.details) {
try {
const detailsStr = typeof this.details === 'string' ? this.details : JSON.stringify(this.details, null, 2);
str += `\nDetails:\n${detailsStr}`;
}
catch (e) {
str += `\nDetails: ${String(this.details)}`;
}
}
if (this.cause) {
str += `\nCaused by: ${this.cause.stack || this.cause.message}`;
}
return str;
}
}
exports.ApiError = ApiError;
class AuthenticationError extends ApiError {
constructor(message = "Authentication failed. Please check your access token and permissions.", statusCode, details, cause, requestUrl, requestMethod) {
super(message, statusCode, details, cause, requestUrl, requestMethod);
}
}
exports.AuthenticationError = AuthenticationError;
class InvalidRequestError extends ApiError {
constructor(message = "The request was invalid or malformed. Please check the input parameters.", statusCode, details, cause, requestUrl, requestMethod) {
super(message, statusCode, details, cause, requestUrl, requestMethod);
}
}
exports.InvalidRequestError = InvalidRequestError;
class ServerError extends ApiError {
constructor(message = "The API server encountered an internal error. Please try again later.", statusCode, details, cause, requestUrl, requestMethod) {
super(message, statusCode, details, cause, requestUrl, requestMethod);
}
}
exports.ServerError = ServerError;
class NotFoundError extends ApiError {
constructor(message = "The requested resource was not found.", statusCode, details, cause, requestUrl, requestMethod) {
super(message, statusCode, details, cause, requestUrl, requestMethod);
}
}
exports.NotFoundError = NotFoundError;
//# sourceMappingURL=exceptions.js.map