@vegajs/http-client-adapter
Version:
A flexible, type-safe HTTP client adapter for TypeScript and JavaScript. Supports custom adapters and includes an out-of-the-box Axios adapter for easy HTTP request handling.
20 lines (19 loc) • 1.03 kB
TypeScript
export type SearchParams = Record<string, string | number | boolean>;
export type Headers = Record<string, string>;
export type MethodParams<P = SearchParams> = {
searchParams?: P;
headers?: Headers;
signal?: AbortSignal;
};
export type InitParams = {
baseURL?: string;
};
export interface HttpClient {
get<Data = unknown, Params = SearchParams>(point: string, params?: MethodParams<Params>): Promise<Data>;
post<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
put<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
patch<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
delete<Data = unknown, Params = SearchParams>(point: string, params?: MethodParams<Params>): Promise<Data>;
addHeaders(headers: Headers): void;
init(params: InitParams): void;
}