dexpaprika-sdk
Version:
JavaScript SDK for the DexPaprika API
60 lines (59 loc) • 1.87 kB
JavaScript
;
/**
* Custom error classes for DexPaprika SDK
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeprecatedEndpointError = exports.ApiError = exports.PoolNotFoundError = exports.NetworkNotFoundError = exports.DexPaprikaError = void 0;
/**
* Base error class for all DexPaprika SDK errors
*/
class DexPaprikaError extends Error {
constructor(message) {
super(message);
this.name = 'DexPaprikaError';
}
}
exports.DexPaprikaError = DexPaprikaError;
/**
* Error thrown when a network is not found or invalid
*/
class NetworkNotFoundError extends DexPaprikaError {
constructor(networkId) {
super(`Network not found: ${networkId}`);
this.name = 'NetworkNotFoundError';
}
}
exports.NetworkNotFoundError = NetworkNotFoundError;
/**
* Error thrown when a pool is not found
*/
class PoolNotFoundError extends DexPaprikaError {
constructor(poolAddress) {
super(`Pool not found: ${poolAddress}`);
this.name = 'PoolNotFoundError';
}
}
exports.PoolNotFoundError = PoolNotFoundError;
/**
* General API error with status code
*/
class ApiError extends DexPaprikaError {
constructor(message, statusCode) {
super(`API Error (${statusCode}): ${message}`);
this.statusCode = statusCode;
this.name = 'ApiError';
}
}
exports.ApiError = ApiError;
/**
* Error thrown when trying to use a deprecated endpoint
*/
class DeprecatedEndpointError extends DexPaprikaError {
constructor(endpoint, alternative) {
super(`The ${endpoint} endpoint has been deprecated and removed. ` +
`Please use ${alternative} instead. ` +
`For more information, visit: https://docs.dexpaprika.com/changelog/changelog`);
this.name = 'DeprecatedEndpointError';
}
}
exports.DeprecatedEndpointError = DeprecatedEndpointError;