@airwallex/node-sdk
Version:
Airwallex Node.js SDK
76 lines • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RETRYABLE_ERRORS = exports.ServerError = exports.ValidationError = exports.RateLimitError = exports.NotFoundError = exports.AuthorizationError = exports.AuthenticationError = exports.TimeoutError = exports.NetworkError = exports.ApiError = void 0;
exports.isRetryableError = isRetryableError;
class ApiError extends Error {
constructor(message, options = {}) {
super(message);
this.name = 'ApiError';
this.status = options.status;
this.httpCode = options.httpCode;
this.data = options.data;
this.headers = options.headers;
}
}
exports.ApiError = ApiError;
class NetworkError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'NetworkError';
}
}
exports.NetworkError = NetworkError;
class TimeoutError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'TimeoutError';
}
}
exports.TimeoutError = TimeoutError;
class AuthenticationError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'AuthenticationError';
}
}
exports.AuthenticationError = AuthenticationError;
class AuthorizationError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'AuthorizationError';
}
}
exports.AuthorizationError = AuthorizationError;
class NotFoundError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'NotFoundError';
}
}
exports.NotFoundError = NotFoundError;
class RateLimitError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'RateLimitError';
}
}
exports.RateLimitError = RateLimitError;
class ValidationError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'ValidationError';
}
}
exports.ValidationError = ValidationError;
class ServerError extends ApiError {
constructor(message, options = {}) {
super(message, options);
this.name = 'ServerError';
}
}
exports.ServerError = ServerError;
exports.RETRYABLE_ERRORS = [TimeoutError, NetworkError];
function isRetryableError(error) {
return exports.RETRYABLE_ERRORS.some((retryableError) => error instanceof retryableError);
}
//# sourceMappingURL=errors.js.map