UNPKG

api-wizard

Version:

A powerful TypeScript wrapper for native Fetch API with token management, interceptors, and type-safe HTTP requests

49 lines (48 loc) 1.64 kB
import { FetchResponse, FetchRequestConfig, FetchClient } from './interface/Http'; interface AxiosCompatibleError extends Error { response?: { data: any; status: number; statusText: string; headers: any; }; request?: any; config?: any; status?: number; _retry?: boolean; } export declare class FetchError extends Error implements AxiosCompatibleError { response?: { data: any; status: number; statusText: string; headers: any; }; request?: any; config?: any; status: number; _retry?: boolean; constructor(status: number, statusText: string, originalResponse: Response, url: string, data?: any, requestConfig?: any); } export declare class FetchClientImpl implements FetchClient { private baseURL; private defaultHeaders; private defaultConfig; constructor(config?: { baseURL?: string; headers?: HeadersInit; requestConfig?: RequestInit; }); private buildURL; private mergeHeaders; private transformResponse; request<T>(config: FetchRequestConfig & { url: string; }): Promise<FetchResponse<T>>; get<T>(url: string, config?: FetchRequestConfig): Promise<FetchResponse<T>>; post<T>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>; put<T>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>; patch<T>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>; delete<T>(url: string, config?: FetchRequestConfig): Promise<FetchResponse<T>>; } export {};