cmc-api
Version:
CoinMarketCap RESTful API Wrapper
32 lines (31 loc) • 1.67 kB
TypeScript
import type { CmcApikeyDisabledError } from "../errors/cmc-apikey-disabled.error";
import type { CmcApikeyRequiredError } from "../errors/cmc-apikey-required.error";
import type { CmcInvalidError } from "../errors/cmc-invalid.error";
import type { CmcMissingError } from "../errors/cmc-missing.error";
import type { CmcPaymentExpiredError } from "../errors/cmc-payment-expired.error";
import type { CmcPaymentRequiredError } from "../errors/cmc-payment-required.error";
import type { CmcPlanUnauthorizeError } from "../errors/cmc-plan-unauthorize.error";
import type { CmcDailyRateLimitError } from "../errors/cmc-rate-limit-daily.error";
import type { CmcIpRateLimitError } from "../errors/cmc-rate-limit-ip.error";
import type { CmcMinuteRateLimitError } from "../errors/cmc-rate-limit-minute.error";
import type { CmcMonthlyRateLimitError } from "../errors/cmc-rate-limit-monthly.error";
import type { CmcRequestError } from "../errors/cmc-request.error";
export type CmcBaseResponse<TData = unknown> = {
data: TData;
status: CmcStatusResponse;
} | {
data?: {
data: TData;
status: CmcStatusResponse;
};
status?: CmcStatusResponse;
};
export interface CmcStatusResponse {
timestamp: string;
error_code: number | null;
error_message: string;
elapsed: number;
credit_count: number;
notice?: string;
}
export type CmcErrorClass = CmcInvalidError | CmcMissingError | CmcPaymentRequiredError | CmcPaymentExpiredError | CmcApikeyRequiredError | CmcPlanUnauthorizeError | CmcApikeyDisabledError | CmcMinuteRateLimitError | CmcDailyRateLimitError | CmcMonthlyRateLimitError | CmcIpRateLimitError | CmcRequestError;