fork of hey-api/openapi-ts because I need some additional things
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #2382 from idbenami/feat/accept-axios-instance

authored by

Lubos and committed by
GitHub
ed7500ca 073d56ec

+424 -199
+5
.changeset/odd-ligers-jump.md
··· 1 + --- 2 + "@hey-api/openapi-ts": patch 3 + --- 4 + 5 + fix(client-axios): allow passing `AxiosInstance` into `axios` field
+20 -3
docs/openapi-ts/clients/axios.md
··· 210 210 You can implement your own `axios` instance. This is useful if you need to extend the default `axios` instance with extra functionality, or replace it altogether. 211 211 212 212 ```js 213 + import axios from 'axios'; 213 214 import { client } from 'client/client.gen'; 214 215 216 + // Customize the default axios instance 217 + axios.defaults.baseURL = 'https://example.com'; 218 + 215 219 client.setConfig({ 216 - axios: () => { 217 - /* custom `axios` instance */ 218 - }, 220 + axios: axios, 221 + }); 222 + ``` 223 + 224 + or you can pass an `AxiosInstance` created with `axios.create()`: 225 + 226 + ```js 227 + import axios from 'axios'; 228 + import { client } from 'client/client.gen'; 229 + 230 + const customAxiosInstance = axios.create({ 231 + baseURL: 'https://example.com', 232 + }); 233 + 234 + client.setConfig({ 235 + axios: customAxiosInstance, 219 236 }); 220 237 ``` 221 238
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/content-types/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/content-types/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/parameter-explode-false-axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/parameter-explode-false-axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-false/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-false/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-number/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-number/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-strict/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-strict/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-string/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-string/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-optional/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-optional/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-required/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-required/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/tsconfig-nodenext-sdk/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types.js'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/tsconfig-nodenext-sdk/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/content-types/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/content-types/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/parameter-explode-false-axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/parameter-explode-false-axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+10 -4
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/client/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/client/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */
+35
packages/openapi-ts/src/plugins/@hey-api/client-axios/__tests__/client.test.ts
··· 1 + import axios from 'axios'; 1 2 import { describe, expect, it } from 'vitest'; 2 3 3 4 import { createClient } from '../bundle/client'; ··· 48 49 expect(client.buildUrl(options)).toBe(url); 49 50 }); 50 51 }); 52 + 53 + describe('AxiosInstance', () => { 54 + it('should create an AxiosInstance if no axios option passed', () => { 55 + const client = createClient({ baseURL: 'test-url' }); 56 + 57 + expect(client.instance).toBeDefined(); 58 + expect(client.instance.defaults).toBeDefined(); 59 + expect(client.instance.defaults.baseURL).toBe('test-url'); 60 + }); 61 + 62 + it('should use the provided AxiosStatic if axios option passed', () => { 63 + axios.defaults.baseURL = 'test-url'; 64 + 65 + const client = createClient({ axios }); 66 + 67 + expect(client.instance).toBeDefined(); 68 + expect(client.instance.defaults).toBeDefined(); 69 + expect(client.instance.defaults.baseURL).toBe('test-url'); 70 + }); 71 + 72 + it('should use the provided AxiosInstance if axios option is passed', () => { 73 + const axiosInstance = axios.create({ baseURL: 'test-url' }); 74 + 75 + axiosInstance.interceptors.request.use((config) => config); 76 + 77 + const client = createClient({ axios: axiosInstance }); 78 + 79 + expect(client.instance).toBe(axiosInstance); 80 + expect(client.instance.defaults.baseURL).toBe('test-url'); 81 + expect((client.instance.interceptors.request as any).handlers.length).toBe( 82 + 1, 83 + ); 84 + }); 85 + });
+10 -4
packages/openapi-ts/src/plugins/@hey-api/client-axios/bundle/client.ts
··· 1 - import type { AxiosError, RawAxiosRequestHeaders } from 'axios'; 1 + import type { AxiosError, AxiosInstance, RawAxiosRequestHeaders } from 'axios'; 2 2 import axios from 'axios'; 3 3 4 4 import type { Client, Config } from './types'; ··· 13 13 export const createClient = (config: Config = {}): Client => { 14 14 let _config = mergeConfigs(createConfig(), config); 15 15 16 - // eslint-disable-next-line @typescript-eslint/no-unused-vars 17 - const { auth, ...configWithoutAuth } = _config; 18 - const instance = axios.create(configWithoutAuth); 16 + let instance: AxiosInstance; 17 + 18 + if (_config.axios && !('Axios' in _config.axios)) { 19 + instance = _config.axios; 20 + } else { 21 + // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 + const { auth, ...configWithoutAuth } = _config; 23 + instance = axios.create(configWithoutAuth); 24 + } 19 25 20 26 const getConfig = (): Config => ({ ..._config }); 21 27
+3 -3
packages/openapi-ts/src/plugins/@hey-api/client-axios/bundle/types.ts
··· 17 17 extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, 18 18 CoreConfig { 19 19 /** 20 - * Axios implementation. You can use this option to provide a custom 21 - * Axios instance. 20 + * Axios implementation. You can use this option to provide either an 21 + * `AxiosStatic` or an `AxiosInstance`. 22 22 * 23 23 * @default axios 24 24 */ 25 - axios?: AxiosStatic; 25 + axios?: AxiosStatic | AxiosInstance; 26 26 /** 27 27 * Base URL for all requests made by this client. 28 28 */