UNPKG

@defindex/sdk

Version:

Official TypeScript SDK for DeFindex API

68 lines 2.1 kB
"use strict"; /** * Error types for DeFindex SDK */ Object.defineProperty(exports, "__esModule", { value: true }); exports.DefindexSDKError = void 0; exports.isApiError = isApiError; exports.isAuthError = isAuthError; exports.isValidationError = isValidationError; exports.isNetworkError = isNetworkError; exports.isRateLimitError = isRateLimitError; /** * Type guard to check if an error is an API error */ function isApiError(error) { return error && typeof error === 'object' && 'message' in error && 'statusCode' in error && 'error' in error; } /** * Type guard to check if an error is an authentication error */ function isAuthError(error) { return isApiError(error) && ['Unauthorized', 'Forbidden', 'TokenExpired', 'InvalidCredentials'].includes(error.error); } /** * Type guard to check if an error is a validation error */ function isValidationError(error) { return isApiError(error) && ['BadRequest', 'ValidationFailed'].includes(error.error); } /** * Type guard to check if an error is a network/blockchain error */ function isNetworkError(error) { return isApiError(error) && ['NetworkError', 'TransactionFailed', 'ContractError'].includes(error.error); } /** * Type guard to check if an error is a rate limit error */ function isRateLimitError(error) { return isApiError(error) && error.error === 'TooManyRequests'; } /** * Enhanced error class for SDK operations */ class DefindexSDKError extends Error { constructor(message, statusCode = 500, errorType = 'UnknownError', details) { super(message); this.name = 'DefindexSDKError'; this.statusCode = statusCode; this.errorType = errorType; this.details = details; } /** * Create SDK error from API error response */ static fromApiError(apiError) { return new DefindexSDKError(apiError.message, apiError.statusCode, apiError.error, 'details' in apiError ? apiError.details : undefined); } } exports.DefindexSDKError = DefindexSDKError; //# sourceMappingURL=error.types.js.map