@kubb/plugin-client
Version:
API client generator plugin for Kubb, creating type-safe HTTP clients (Axios, Fetch) from OpenAPI specifications for making API requests.
43 lines (42 loc) • 1.87 kB
TypeScript
import { t as __name } from "../chunk-DKWOrOAv.js";
import * as axios$1 from "axios";
import { AxiosError, AxiosRequestConfig, AxiosResponse } from "axios";
//#region src/clients/axios.d.ts
/**
* Subset of AxiosRequestConfig
*/
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;
validateStatus?: (status: number) => boolean;
headers?: AxiosRequestConfig['headers'];
paramsSerializer?: AxiosRequestConfig['paramsSerializer'];
};
/**
* Subset of AxiosResponse
*/
type ResponseConfig<TData = unknown> = {
data: TData;
status: number;
statusText: string;
headers: AxiosResponse['headers'];
};
type ResponseErrorConfig<TError = unknown> = AxiosError<TError>;
type Client = <TResponseData, _TError = unknown, TRequestData = unknown>(config: RequestConfig<TRequestData>) => Promise<ResponseConfig<TResponseData>>;
declare const getConfig: () => Partial<RequestConfig<unknown>>;
declare const setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
declare const mergeConfig: <T extends RequestConfig>(...configs: Array<Partial<T>>) => Partial<T>;
declare const axiosInstance: axios$1.AxiosInstance;
declare const client: {
<TResponseData, TError = unknown, TRequestData = unknown>(config: RequestConfig<TRequestData>): Promise<ResponseConfig<TResponseData>>;
getConfig: () => Partial<RequestConfig<unknown>>;
setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
};
//#endregion
export { Client, RequestConfig, ResponseConfig, ResponseErrorConfig, axiosInstance, client, client as default, getConfig, mergeConfig, setConfig };
//# sourceMappingURL=axios.d.ts.map