@kubb/plugin-client
Version:
API client generator plugin for Kubb, creating type-safe HTTP clients (Axios, Fetch) from OpenAPI specifications for making API requests.
39 lines • 1.4 kB
text/typescript
//#region src/clients/fetch.d.ts
/**
* RequestCredentials
*/
type RequestCredentials = 'omit' | 'same-origin' | 'include';
/**
* Subset of FetchRequestConfig
*/
type RequestConfig<TData = unknown> = {
baseURL?: string;
url?: string;
method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD';
params?: unknown;
data?: TData | FormData;
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
signal?: AbortSignal;
headers?: [string, string][] | Record<string, string>;
credentials?: RequestCredentials;
};
/**
* Subset of FetchResponse
*/
type ResponseConfig<TData = unknown> = {
data: TData;
status: number;
statusText: string;
headers: Headers;
};
declare const getConfig: () => Partial<RequestConfig<unknown>>;
declare const setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
type ResponseErrorConfig<TError = unknown> = TError;
declare const client: {
<TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
getConfig: () => Partial<RequestConfig<unknown>>;
setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
};
//#endregion
export { RequestConfig, RequestCredentials, ResponseConfig, ResponseErrorConfig, client, client as default, getConfig, setConfig };
//# sourceMappingURL=fetch.d.cts.map