@kubb/plugin-client 4.14.0 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"axios.cjs","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/axios.ts"],"sourcesContent":["import type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport axios from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n validateStatus?: (status: number) => boolean\n headers?: AxiosRequestConfig['headers']\n paramsSerializer?: AxiosRequestConfig['paramsSerializer']\n}\n\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: AxiosResponse['headers']\n}\n\nexport type ResponseErrorConfig<TError = unknown> = AxiosError<TError>\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const client = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TData, ResponseConfig<TData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;;;;AAkCA,IAAIA,UAAkC;CACpC,SAAS,OAAO,eAAe,cAAc,aAAa;CAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,cAAc,GAAoB;CAC/F;AAED,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAA0B;AAClD,WAAU;AACV,QAAO,WAAW;;AAGpB,MAAa,gBAAgB,cAAM,OAAO,WAAW,CAAC;AAEtD,MAAa,SAAS,OAAsD,WAAsE;CAChJ,MAAM,eAAe,WAAW;AAEhC,QAAO,cACJ,QAAsC;EACrC,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAG,aAAa;GAChB,GAAG,OAAO;GACX;EACF,CAAC,CACD,OAAO,MAA0B;AAChC,QAAM;GACN;;AAGN,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
1
+ {"version":3,"file":"axios.cjs","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/axios.ts"],"sourcesContent":["import type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport axios from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n validateStatus?: (status: number) => boolean\n headers?: AxiosRequestConfig['headers']\n paramsSerializer?: AxiosRequestConfig['paramsSerializer']\n}\n\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: AxiosResponse['headers']\n}\n\nexport type ResponseErrorConfig<TError = unknown> = AxiosError<TError>\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const client = async <TResponseData, TError = unknown, TRequestData = unknown>(\n config: RequestConfig<TRequestData>,\n): Promise<ResponseConfig<TResponseData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TResponseData, ResponseConfig<TResponseData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;;;;AAkCA,IAAIA,UAAkC;CACpC,SAAS,OAAO,eAAe,cAAc,aAAa;CAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,cAAc,GAAoB;CAC/F;AAED,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAA0B;AAClD,WAAU;AACV,QAAO,WAAW;;AAGpB,MAAa,gBAAgB,cAAM,OAAO,WAAW,CAAC;AAEtD,MAAa,SAAS,OACpB,WAC2C;CAC3C,MAAM,eAAe,WAAW;AAEhC,QAAO,cACJ,QAAsD;EACrD,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAG,aAAa;GAChB,GAAG,OAAO;GACX;EACF,CAAC,CACD,OAAO,MAA0B;AAChC,QAAM;GACN;;AAGN,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
@@ -31,7 +31,7 @@ declare const getConfig: () => Partial<RequestConfig<unknown>>;
31
31
  declare const setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
32
32
  declare const axiosInstance: axios0.AxiosInstance;
33
33
  declare const client: {
34
- <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
34
+ <TResponseData, TError = unknown, TRequestData = unknown>(config: RequestConfig<TRequestData>): Promise<ResponseConfig<TResponseData>>;
35
35
  getConfig: () => Partial<RequestConfig<unknown>>;
36
36
  setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
37
37
  };
@@ -31,7 +31,7 @@ declare const getConfig: () => Partial<RequestConfig<unknown>>;
31
31
  declare const setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
32
32
  declare const axiosInstance: axios0.AxiosInstance;
33
33
  declare const client: {
34
- <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
34
+ <TResponseData, TError = unknown, TRequestData = unknown>(config: RequestConfig<TRequestData>): Promise<ResponseConfig<TResponseData>>;
35
35
  getConfig: () => Partial<RequestConfig<unknown>>;
36
36
  setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"axios.js","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/axios.ts"],"sourcesContent":["import type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport axios from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n validateStatus?: (status: number) => boolean\n headers?: AxiosRequestConfig['headers']\n paramsSerializer?: AxiosRequestConfig['paramsSerializer']\n}\n\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: AxiosResponse['headers']\n}\n\nexport type ResponseErrorConfig<TError = unknown> = AxiosError<TError>\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const client = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TData, ResponseConfig<TData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;AAkCA,IAAIA,UAAkC;CACpC,SAAS,OAAO,eAAe,cAAc,aAAa;CAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,cAAc,GAAoB;CAC/F;AAED,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAA0B;AAClD,WAAU;AACV,QAAO,WAAW;;AAGpB,MAAa,gBAAgB,MAAM,OAAO,WAAW,CAAC;AAEtD,MAAa,SAAS,OAAsD,WAAsE;CAChJ,MAAM,eAAe,WAAW;AAEhC,QAAO,cACJ,QAAsC;EACrC,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAG,aAAa;GAChB,GAAG,OAAO;GACX;EACF,CAAC,CACD,OAAO,MAA0B;AAChC,QAAM;GACN;;AAGN,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
1
+ {"version":3,"file":"axios.js","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/axios.ts"],"sourcesContent":["import type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport axios from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n validateStatus?: (status: number) => boolean\n headers?: AxiosRequestConfig['headers']\n paramsSerializer?: AxiosRequestConfig['paramsSerializer']\n}\n\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: AxiosResponse['headers']\n}\n\nexport type ResponseErrorConfig<TError = unknown> = AxiosError<TError>\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const client = async <TResponseData, TError = unknown, TRequestData = unknown>(\n config: RequestConfig<TRequestData>,\n): Promise<ResponseConfig<TResponseData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TResponseData, ResponseConfig<TResponseData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;AAkCA,IAAIA,UAAkC;CACpC,SAAS,OAAO,eAAe,cAAc,aAAa;CAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,cAAc,GAAoB;CAC/F;AAED,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAA0B;AAClD,WAAU;AACV,QAAO,WAAW;;AAGpB,MAAa,gBAAgB,MAAM,OAAO,WAAW,CAAC;AAEtD,MAAa,SAAS,OACpB,WAC2C;CAC3C,MAAM,eAAe,WAAW;AAEhC,QAAO,cACJ,QAAsD;EACrD,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAG,aAAa;GAChB,GAAG,OAAO;GACX;EACF,CAAC,CACD,OAAO,MAA0B;AAChC,QAAM;GACN;;AAGN,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.cjs","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/fetch.ts"],"sourcesContent":["/**\n * RequestCredentials\n */\nexport type RequestCredentials = 'omit' | 'same-origin' | 'include'\n\n/**\n * Subset of FetchRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: [string, string][] | Record<string, string>\n credentials?: RequestCredentials\n}\n\n/**\n * Subset of FetchResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: Headers\n}\n\nlet _config: Partial<RequestConfig> = {}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: Partial<RequestConfig>) => {\n _config = config\n return getConfig()\n}\n\nexport type ResponseErrorConfig<TError = unknown> = TError\n\nexport const client = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const normalizedParams = new URLSearchParams()\n\n const globalConfig = getConfig()\n const config = {\n ...globalConfig,\n ...paramsConfig,\n headers: {\n ...(Array.isArray(globalConfig.headers) ? Object.fromEntries(globalConfig.headers) : globalConfig.headers),\n ...(Array.isArray(paramsConfig.headers) ? Object.fromEntries(paramsConfig.headers) : paramsConfig.headers),\n },\n }\n\n Object.entries(config.params || {}).forEach(([key, value]) => {\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }\n })\n\n let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')\n\n if (config.params) {\n targetUrl += `?${normalizedParams}`\n }\n\n const response = await fetch(targetUrl, {\n credentials: config.credentials || 'same-origin',\n method: config.method?.toUpperCase(),\n body: config.data instanceof FormData ? config.data : JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()\n\n return {\n data: data as TData,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers as Headers,\n }\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;AA8BA,IAAIA,UAAkC,EAAE;AAExC,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAAmC;AAC3D,WAAU;AACV,QAAO,WAAW;;AAKpB,MAAa,SAAS,OAAuD,iBAA4E;CACvJ,MAAM,mBAAmB,IAAI,iBAAiB;CAE9C,MAAM,eAAe,WAAW;CAChC,MAAM,SAAS;EACb,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GAClG,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GACnG;EACF;AAED,QAAO,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;AAC5D,MAAI,UAAU,OACZ,kBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,MAAM,UAAU,CAAC;GAE1E;CAEF,IAAI,YAAY,CAAC,OAAO,SAAS,OAAO,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AAErE,KAAI,OAAO,OACT,cAAa,IAAI;CAGnB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,aAAa,OAAO,eAAe;EACnC,QAAQ,OAAO,QAAQ,aAAa;EACpC,MAAM,OAAO,gBAAgB,WAAW,OAAO,OAAO,KAAK,UAAU,OAAO,KAAK;EACjF,QAAQ,OAAO;EACf,SAAS,OAAO;EACjB,CAAC;AAIF,QAAO;EACL,MAHW;GAAC;GAAK;GAAK;GAAI,CAAC,SAAS,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,SAAS,MAAM;EAInG,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,SAAS;EACnB;;AAGH,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
1
+ {"version":3,"file":"fetch.cjs","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/fetch.ts"],"sourcesContent":["/**\n * RequestCredentials\n */\nexport type RequestCredentials = 'omit' | 'same-origin' | 'include'\n\n/**\n * Subset of FetchRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: [string, string][] | Record<string, string>\n credentials?: RequestCredentials\n}\n\n/**\n * Subset of FetchResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: Headers\n}\n\nlet _config: Partial<RequestConfig> = {}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: Partial<RequestConfig>) => {\n _config = config\n return getConfig()\n}\n\nexport type ResponseErrorConfig<TError = unknown> = TError\n\nexport const client = async <TResponseData, _TError = unknown, RequestData = unknown>(\n paramsConfig: RequestConfig<RequestData>,\n): Promise<ResponseConfig<TResponseData>> => {\n const normalizedParams = new URLSearchParams()\n\n const globalConfig = getConfig()\n const config = {\n ...globalConfig,\n ...paramsConfig,\n headers: {\n ...(Array.isArray(globalConfig.headers) ? Object.fromEntries(globalConfig.headers) : globalConfig.headers),\n ...(Array.isArray(paramsConfig.headers) ? Object.fromEntries(paramsConfig.headers) : paramsConfig.headers),\n },\n }\n\n Object.entries(config.params || {}).forEach(([key, value]) => {\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }\n })\n\n let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')\n\n if (config.params) {\n targetUrl += `?${normalizedParams}`\n }\n\n const response = await fetch(targetUrl, {\n credentials: config.credentials || 'same-origin',\n method: config.method?.toUpperCase(),\n body: config.data instanceof FormData ? config.data : JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()\n\n return {\n data: data as TResponseData,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers as Headers,\n }\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;AA8BA,IAAIA,UAAkC,EAAE;AAExC,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAAmC;AAC3D,WAAU;AACV,QAAO,WAAW;;AAKpB,MAAa,SAAS,OACpB,iBAC2C;CAC3C,MAAM,mBAAmB,IAAI,iBAAiB;CAE9C,MAAM,eAAe,WAAW;CAChC,MAAM,SAAS;EACb,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GAClG,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GACnG;EACF;AAED,QAAO,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;AAC5D,MAAI,UAAU,OACZ,kBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,MAAM,UAAU,CAAC;GAE1E;CAEF,IAAI,YAAY,CAAC,OAAO,SAAS,OAAO,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AAErE,KAAI,OAAO,OACT,cAAa,IAAI;CAGnB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,aAAa,OAAO,eAAe;EACnC,QAAQ,OAAO,QAAQ,aAAa;EACpC,MAAM,OAAO,gBAAgB,WAAW,OAAO,OAAO,KAAK,UAAU,OAAO,KAAK;EACjF,QAAQ,OAAO;EACf,SAAS,OAAO;EACjB,CAAC;AAIF,QAAO;EACL,MAHW;GAAC;GAAK;GAAK;GAAI,CAAC,SAAS,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,SAAS,MAAM;EAInG,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,SAAS;EACnB;;AAGH,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
@@ -30,7 +30,7 @@ declare const getConfig: () => Partial<RequestConfig<unknown>>;
30
30
  declare const setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
31
31
  type ResponseErrorConfig<TError = unknown> = TError;
32
32
  declare const client: {
33
- <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
33
+ <TResponseData, _TError = unknown, RequestData = unknown>(paramsConfig: RequestConfig<RequestData>): Promise<ResponseConfig<TResponseData>>;
34
34
  getConfig: () => Partial<RequestConfig<unknown>>;
35
35
  setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
36
36
  };
@@ -30,7 +30,7 @@ declare const getConfig: () => Partial<RequestConfig<unknown>>;
30
30
  declare const setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
31
31
  type ResponseErrorConfig<TError = unknown> = TError;
32
32
  declare const client: {
33
- <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
33
+ <TResponseData, _TError = unknown, RequestData = unknown>(paramsConfig: RequestConfig<RequestData>): Promise<ResponseConfig<TResponseData>>;
34
34
  getConfig: () => Partial<RequestConfig<unknown>>;
35
35
  setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
36
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/fetch.ts"],"sourcesContent":["/**\n * RequestCredentials\n */\nexport type RequestCredentials = 'omit' | 'same-origin' | 'include'\n\n/**\n * Subset of FetchRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: [string, string][] | Record<string, string>\n credentials?: RequestCredentials\n}\n\n/**\n * Subset of FetchResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: Headers\n}\n\nlet _config: Partial<RequestConfig> = {}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: Partial<RequestConfig>) => {\n _config = config\n return getConfig()\n}\n\nexport type ResponseErrorConfig<TError = unknown> = TError\n\nexport const client = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const normalizedParams = new URLSearchParams()\n\n const globalConfig = getConfig()\n const config = {\n ...globalConfig,\n ...paramsConfig,\n headers: {\n ...(Array.isArray(globalConfig.headers) ? Object.fromEntries(globalConfig.headers) : globalConfig.headers),\n ...(Array.isArray(paramsConfig.headers) ? Object.fromEntries(paramsConfig.headers) : paramsConfig.headers),\n },\n }\n\n Object.entries(config.params || {}).forEach(([key, value]) => {\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }\n })\n\n let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')\n\n if (config.params) {\n targetUrl += `?${normalizedParams}`\n }\n\n const response = await fetch(targetUrl, {\n credentials: config.credentials || 'same-origin',\n method: config.method?.toUpperCase(),\n body: config.data instanceof FormData ? config.data : JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()\n\n return {\n data: data as TData,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers as Headers,\n }\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";AA8BA,IAAIA,UAAkC,EAAE;AAExC,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAAmC;AAC3D,WAAU;AACV,QAAO,WAAW;;AAKpB,MAAa,SAAS,OAAuD,iBAA4E;CACvJ,MAAM,mBAAmB,IAAI,iBAAiB;CAE9C,MAAM,eAAe,WAAW;CAChC,MAAM,SAAS;EACb,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GAClG,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GACnG;EACF;AAED,QAAO,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;AAC5D,MAAI,UAAU,OACZ,kBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,MAAM,UAAU,CAAC;GAE1E;CAEF,IAAI,YAAY,CAAC,OAAO,SAAS,OAAO,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AAErE,KAAI,OAAO,OACT,cAAa,IAAI;CAGnB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,aAAa,OAAO,eAAe;EACnC,QAAQ,OAAO,QAAQ,aAAa;EACpC,MAAM,OAAO,gBAAgB,WAAW,OAAO,OAAO,KAAK,UAAU,OAAO,KAAK;EACjF,QAAQ,OAAO;EACf,SAAS,OAAO;EACjB,CAAC;AAIF,QAAO;EACL,MAHW;GAAC;GAAK;GAAK;GAAI,CAAC,SAAS,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,SAAS,MAAM;EAInG,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,SAAS;EACnB;;AAGH,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
1
+ {"version":3,"file":"fetch.js","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/fetch.ts"],"sourcesContent":["/**\n * RequestCredentials\n */\nexport type RequestCredentials = 'omit' | 'same-origin' | 'include'\n\n/**\n * Subset of FetchRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: [string, string][] | Record<string, string>\n credentials?: RequestCredentials\n}\n\n/**\n * Subset of FetchResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: Headers\n}\n\nlet _config: Partial<RequestConfig> = {}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: Partial<RequestConfig>) => {\n _config = config\n return getConfig()\n}\n\nexport type ResponseErrorConfig<TError = unknown> = TError\n\nexport const client = async <TResponseData, _TError = unknown, RequestData = unknown>(\n paramsConfig: RequestConfig<RequestData>,\n): Promise<ResponseConfig<TResponseData>> => {\n const normalizedParams = new URLSearchParams()\n\n const globalConfig = getConfig()\n const config = {\n ...globalConfig,\n ...paramsConfig,\n headers: {\n ...(Array.isArray(globalConfig.headers) ? Object.fromEntries(globalConfig.headers) : globalConfig.headers),\n ...(Array.isArray(paramsConfig.headers) ? Object.fromEntries(paramsConfig.headers) : paramsConfig.headers),\n },\n }\n\n Object.entries(config.params || {}).forEach(([key, value]) => {\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }\n })\n\n let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')\n\n if (config.params) {\n targetUrl += `?${normalizedParams}`\n }\n\n const response = await fetch(targetUrl, {\n credentials: config.credentials || 'same-origin',\n method: config.method?.toUpperCase(),\n body: config.data instanceof FormData ? config.data : JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()\n\n return {\n data: data as TResponseData,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers as Headers,\n }\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";AA8BA,IAAIA,UAAkC,EAAE;AAExC,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAAmC;AAC3D,WAAU;AACV,QAAO,WAAW;;AAKpB,MAAa,SAAS,OACpB,iBAC2C;CAC3C,MAAM,mBAAmB,IAAI,iBAAiB;CAE9C,MAAM,eAAe,WAAW;CAChC,MAAM,SAAS;EACb,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GAClG,GAAI,MAAM,QAAQ,aAAa,QAAQ,GAAG,OAAO,YAAY,aAAa,QAAQ,GAAG,aAAa;GACnG;EACF;AAED,QAAO,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;AAC5D,MAAI,UAAU,OACZ,kBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,MAAM,UAAU,CAAC;GAE1E;CAEF,IAAI,YAAY,CAAC,OAAO,SAAS,OAAO,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AAErE,KAAI,OAAO,OACT,cAAa,IAAI;CAGnB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,aAAa,OAAO,eAAe;EACnC,QAAQ,OAAO,QAAQ,aAAa;EACpC,MAAM,OAAO,gBAAgB,WAAW,OAAO,OAAO,KAAK,UAAU,OAAO,KAAK;EACjF,QAAQ,OAAO;EACf,SAAS,OAAO;EACjB,CAAC;AAIF,QAAO;EACL,MAHW;GAAC;GAAK;GAAK;GAAI,CAAC,SAAS,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,SAAS,MAAM;EAInG,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,SAAS;EACnB;;AAGH,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
@@ -1,4 +1,4 @@
1
- import { i as OperationSchemas, n as PluginClient, o as Operation } from "./types-poqH3dHx.cjs";
1
+ import { i as OperationSchemas, n as PluginClient, o as Operation } from "./types-Cpd2x1x0.cjs";
2
2
  import { FunctionParams } from "@kubb/react-fabric";
3
3
  import { KubbNode } from "@kubb/react-fabric/types";
4
4
 
@@ -1,4 +1,4 @@
1
- import { i as OperationSchemas, n as PluginClient, o as Operation } from "./types-DTBKBmWe.js";
1
+ import { i as OperationSchemas, n as PluginClient, o as Operation } from "./types-Cl1Fo_jT.js";
2
2
  import { FunctionParams } from "@kubb/react-fabric";
3
3
  import { KubbNode } from "@kubb/react-fabric/types";
4
4
 
@@ -1,4 +1,4 @@
1
- import { n as PluginClient, r as ReactGenerator } from "./types-poqH3dHx.cjs";
1
+ import { n as PluginClient, r as ReactGenerator } from "./types-Cpd2x1x0.cjs";
2
2
 
3
3
  //#region src/generators/classClientGenerator.d.ts
4
4
  declare const classClientGenerator: ReactGenerator<PluginClient>;
@@ -1,4 +1,4 @@
1
- import { n as PluginClient, r as ReactGenerator } from "./types-DTBKBmWe.js";
1
+ import { n as PluginClient, r as ReactGenerator } from "./types-Cl1Fo_jT.js";
2
2
 
3
3
  //#region src/generators/classClientGenerator.d.ts
4
4
  declare const classClientGenerator: ReactGenerator<PluginClient>;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as UserPluginWithLifeCycle, n as PluginClient, t as Options } from "./types-poqH3dHx.cjs";
1
+ import { a as UserPluginWithLifeCycle, n as PluginClient, t as Options } from "./types-Cpd2x1x0.cjs";
2
2
 
3
3
  //#region src/plugin.d.ts
4
4
  declare const pluginClientName = "plugin-client";
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as UserPluginWithLifeCycle, n as PluginClient, t as Options } from "./types-DTBKBmWe.js";
1
+ import { a as UserPluginWithLifeCycle, n as PluginClient, t as Options } from "./types-Cl1Fo_jT.js";
2
2
 
3
3
  //#region src/plugin.d.ts
4
4
  declare const pluginClientName = "plugin-client";
@@ -391,6 +391,13 @@ type Config<TInput = Input> = {
391
391
  * @default 'simple'
392
392
  */
393
393
  defaultBanner?: 'simple' | 'full' | false;
394
+ /**
395
+ * Whether to override existing external files if they already exist.
396
+ * When setting the option in the global configuration, all plugins inherit the same behavior by default.
397
+ * However, all plugins also have an `output.override` option, which can be used to override the behavior for a specific plugin.
398
+ * @default false
399
+ */
400
+ override?: boolean;
394
401
  };
395
402
  /**
396
403
  * An array of Kubb plugins that will be used in the generation.
@@ -578,6 +585,11 @@ type Output<TOptions> = {
578
585
  * Add a footer text in the beginning of every file
579
586
  */
580
587
  footer?: string | ((options: TOptions) => string);
588
+ /**
589
+ * Whether to override existing external files if they already exist.
590
+ * @default false
591
+ */
592
+ override?: boolean;
581
593
  };
582
594
  type GroupContext = {
583
595
  group: string;
@@ -827,9 +839,11 @@ type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
827
839
  */
828
840
  plugin: Plugin<TPluginOptions>;
829
841
  mode: KubbFile.Mode;
842
+ UNSTABLE_NAMING?: true;
830
843
  };
831
844
  declare class OperationGenerator<TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TPluginOptions['resolvedOptions'], Context$1<TPluginOptions['resolvedOptions'], TPluginOptions>> {
832
845
  #private;
846
+ getOptions(operation: Operation$1, method: HttpMethod): Partial<TPluginOptions['resolvedOptions']>;
833
847
  getSchemas(operation: Operation$1, {
834
848
  resolveName
835
849
  }?: {
@@ -1294,4 +1308,4 @@ type ResolvedOptions = {
1294
1308
  type PluginClient = PluginFactoryOptions<'plugin-client', Options, ResolvedOptions, never, ResolvePathOptions>;
1295
1309
  //#endregion
1296
1310
  export { UserPluginWithLifeCycle as a, OperationSchemas as i, PluginClient as n, Operation$1 as o, ReactGenerator as r, Options as t };
1297
- //# sourceMappingURL=types-DTBKBmWe.d.ts.map
1311
+ //# sourceMappingURL=types-Cl1Fo_jT.d.ts.map
@@ -391,6 +391,13 @@ type Config<TInput = Input> = {
391
391
  * @default 'simple'
392
392
  */
393
393
  defaultBanner?: 'simple' | 'full' | false;
394
+ /**
395
+ * Whether to override existing external files if they already exist.
396
+ * When setting the option in the global configuration, all plugins inherit the same behavior by default.
397
+ * However, all plugins also have an `output.override` option, which can be used to override the behavior for a specific plugin.
398
+ * @default false
399
+ */
400
+ override?: boolean;
394
401
  };
395
402
  /**
396
403
  * An array of Kubb plugins that will be used in the generation.
@@ -578,6 +585,11 @@ type Output<TOptions> = {
578
585
  * Add a footer text in the beginning of every file
579
586
  */
580
587
  footer?: string | ((options: TOptions) => string);
588
+ /**
589
+ * Whether to override existing external files if they already exist.
590
+ * @default false
591
+ */
592
+ override?: boolean;
581
593
  };
582
594
  type GroupContext = {
583
595
  group: string;
@@ -827,9 +839,11 @@ type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
827
839
  */
828
840
  plugin: Plugin<TPluginOptions>;
829
841
  mode: KubbFile.Mode;
842
+ UNSTABLE_NAMING?: true;
830
843
  };
831
844
  declare class OperationGenerator<TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TPluginOptions['resolvedOptions'], Context$1<TPluginOptions['resolvedOptions'], TPluginOptions>> {
832
845
  #private;
846
+ getOptions(operation: Operation$1, method: HttpMethod): Partial<TPluginOptions['resolvedOptions']>;
833
847
  getSchemas(operation: Operation$1, {
834
848
  resolveName
835
849
  }?: {
@@ -1294,4 +1308,4 @@ type ResolvedOptions = {
1294
1308
  type PluginClient = PluginFactoryOptions<'plugin-client', Options, ResolvedOptions, never, ResolvePathOptions>;
1295
1309
  //#endregion
1296
1310
  export { UserPluginWithLifeCycle as a, OperationSchemas as i, PluginClient as n, Operation$1 as o, ReactGenerator as r, Options as t };
1297
- //# sourceMappingURL=types-poqH3dHx.d.cts.map
1311
+ //# sourceMappingURL=types-Cpd2x1x0.d.cts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-client",
3
- "version": "4.14.0",
3
+ "version": "4.15.0",
4
4
  "description": "API client generator plugin for Kubb, creating type-safe HTTP clients (Axios, Fetch) from OpenAPI specifications for making API requests.",
5
5
  "keywords": [
6
6
  "api-client",
@@ -87,11 +87,11 @@
87
87
  ],
88
88
  "dependencies": {
89
89
  "@kubb/react-fabric": "0.9.2",
90
- "@kubb/core": "4.14.0",
91
- "@kubb/oas": "4.14.0",
92
- "@kubb/plugin-oas": "4.14.0",
93
- "@kubb/plugin-ts": "4.14.0",
94
- "@kubb/plugin-zod": "4.14.0"
90
+ "@kubb/core": "4.15.0",
91
+ "@kubb/oas": "4.15.0",
92
+ "@kubb/plugin-oas": "4.15.0",
93
+ "@kubb/plugin-ts": "4.15.0",
94
+ "@kubb/plugin-zod": "4.15.0"
95
95
  },
96
96
  "devDependencies": {
97
97
  "axios": "^1.13.2"
@@ -46,11 +46,13 @@ export const setConfig = (config: RequestConfig) => {
46
46
 
47
47
  export const axiosInstance = axios.create(getConfig())
48
48
 
49
- export const client = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {
49
+ export const client = async <TResponseData, TError = unknown, TRequestData = unknown>(
50
+ config: RequestConfig<TRequestData>,
51
+ ): Promise<ResponseConfig<TResponseData>> => {
50
52
  const globalConfig = getConfig()
51
53
 
52
54
  return axiosInstance
53
- .request<TData, ResponseConfig<TData>>({
55
+ .request<TResponseData, ResponseConfig<TResponseData>>({
54
56
  ...globalConfig,
55
57
  ...config,
56
58
  headers: {
@@ -39,7 +39,9 @@ export const setConfig = (config: Partial<RequestConfig>) => {
39
39
 
40
40
  export type ResponseErrorConfig<TError = unknown> = TError
41
41
 
42
- export const client = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {
42
+ export const client = async <TResponseData, _TError = unknown, RequestData = unknown>(
43
+ paramsConfig: RequestConfig<RequestData>,
44
+ ): Promise<ResponseConfig<TResponseData>> => {
43
45
  const normalizedParams = new URLSearchParams()
44
46
 
45
47
  const globalConfig = getConfig()
@@ -75,7 +77,7 @@ export const client = async <TData, _TError = unknown, TVariables = unknown>(par
75
77
  const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()
76
78
 
77
79
  return {
78
- data: data as TData,
80
+ data: data as TResponseData,
79
81
  status: response.status,
80
82
  statusText: response.statusText,
81
83
  headers: response.headers as Headers,