@kubb/plugin-client
Version:
API client generator plugin for Kubb, creating type-safe HTTP clients (Axios, Fetch) from OpenAPI specifications for making API requests.
38 lines (36 loc) • 1.37 kB
TypeScript
/**
* 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>>;
};
export { type RequestConfig, type RequestCredentials, type ResponseConfig, type ResponseErrorConfig, client, client as default, getConfig, setConfig };