From 616d17d5bb3232ade79f864cb80ad50d56bd4474 Mon Sep 17 00:00:00 2001 From: Lubos Date: Thu, 30 Jan 2025 00:03:36 +0000 Subject: [PATCH] feat: support required client in SDK using sdk.client = false --- .changeset/orange-bags-hope.md | 8 + .changeset/thin-impalas-tell.md | 5 + .changeset/tiny-kings-reflect.md | 8 + .../openapi-ts-axios/src/client/sdk.gen.ts | 70 ++++---- .../openapi-ts-fastify/src/client/sdk.gen.ts | 20 ++- .../openapi-ts-fetch/src/client/sdk.gen.ts | 68 +++++--- .../openapi-ts-next/src/client/sdk.gen.ts | 115 +++++++------ examples/openapi-ts-nuxt/client/sdk.gen.ts | 85 ++++++---- .../src/client/sdk.gen.ts | 68 +++++--- .../src/client/sdk.gen.ts | 68 +++++--- .../src/client/sdk.gen.ts | 68 +++++--- .../src/client/sdk.gen.ts | 36 ++-- packages/client-axios/src/index.ts | 1 + packages/client-axios/src/types.ts | 10 +- packages/client-fetch/src/index.ts | 1 + packages/client-fetch/src/types.ts | 10 +- packages/client-next/src/index.ts | 1 + packages/client-next/src/types.ts | 10 +- packages/client-nuxt/src/index.ts | 1 + packages/client-nuxt/src/types.ts | 14 +- packages/openapi-ts/src/compiler/types.ts | 33 ++-- packages/openapi-ts/src/generate/files.ts | 4 +- .../src/plugins/@hey-api/sdk/plugin.ts | 157 +++++++++++++++--- .../src/plugins/@hey-api/sdk/types.d.ts | 2 +- .../2.0.x/body-response-text-plain/sdk.gen.ts | 13 +- .../__snapshots__/2.0.x/form-data/sdk.gen.ts | 13 +- .../plugins/@hey-api/sdk/default/sdk.gen.ts | 31 ++-- .../@hey-api/sdk/throwOnError/sdk.gen.ts | 31 ++-- .../transformers/type-format/sdk.gen.ts | 11 +- .../asClass/sdk.gen.ts | 31 ++-- .../axios/sdk.gen.ts | 31 ++-- .../fetch/sdk.gen.ts | 31 ++-- .../@tanstack/react-query/asClass/sdk.gen.ts | 31 ++-- .../@tanstack/react-query/axios/sdk.gen.ts | 31 ++-- .../@tanstack/react-query/fetch/sdk.gen.ts | 31 ++-- .../@tanstack/solid-query/asClass/sdk.gen.ts | 31 ++-- .../@tanstack/solid-query/axios/sdk.gen.ts | 31 ++-- .../@tanstack/solid-query/fetch/sdk.gen.ts | 31 ++-- .../@tanstack/svelte-query/asClass/sdk.gen.ts | 31 ++-- .../@tanstack/svelte-query/axios/sdk.gen.ts | 31 ++-- .../@tanstack/svelte-query/fetch/sdk.gen.ts | 31 ++-- .../@tanstack/vue-query/asClass/sdk.gen.ts | 31 ++-- .../@tanstack/vue-query/axios/sdk.gen.ts | 31 ++-- .../@tanstack/vue-query/fetch/sdk.gen.ts | 31 ++-- .../2.0.x/schema-unknown/sdk.gen.ts | 13 +- .../2.0.x/security-api-key/sdk.gen.ts | 11 +- .../2.0.x/security-basic/sdk.gen.ts | 11 +- .../2.0.x/security-false/sdk.gen.ts | 11 +- .../2.0.x/security-oauth2/sdk.gen.ts | 11 +- .../3.0.x/body-response-text-plain/sdk.gen.ts | 13 +- .../3.0.x/internal-name-conflict/sdk.gen.ts | 11 +- .../parameter-explode-false-axios/sdk.gen.ts | 11 +- .../3.0.x/parameter-explode-false/sdk.gen.ts | 11 +- .../plugins/@hey-api/sdk/default/sdk.gen.ts | 47 +++--- .../@hey-api/sdk/throwOnError/sdk.gen.ts | 47 +++--- .../transformers/type-format/sdk.gen.ts | 11 +- .../asClass/sdk.gen.ts | 47 +++--- .../axios/sdk.gen.ts | 47 +++--- .../fetch/sdk.gen.ts | 47 +++--- .../@tanstack/react-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/react-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/react-query/fetch/sdk.gen.ts | 47 +++--- .../@tanstack/solid-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/solid-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/solid-query/fetch/sdk.gen.ts | 47 +++--- .../@tanstack/svelte-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/svelte-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/svelte-query/fetch/sdk.gen.ts | 47 +++--- .../@tanstack/vue-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/vue-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/vue-query/fetch/sdk.gen.ts | 47 +++--- .../3.0.x/security-api-key/sdk.gen.ts | 11 +- .../3.0.x/security-false/sdk.gen.ts | 11 +- .../3.0.x/security-http-bearer/sdk.gen.ts | 11 +- .../3.0.x/security-oauth2/sdk.gen.ts | 11 +- .../3.1.x/body-response-text-plain/sdk.gen.ts | 13 +- .../client-axios/bundle/client/index.cjs | 2 +- .../client-axios/bundle/client/index.d.cts | 12 +- .../client-axios/bundle/client/index.d.ts | 12 +- .../@hey-api/client-axios/bundle/sdk.gen.ts | 47 +++--- .../@hey-api/client-axios/default/sdk.gen.ts | 47 +++--- .../client-fetch/bundle/client/index.cjs | 2 +- .../client-fetch/bundle/client/index.d.cts | 12 +- .../client-fetch/bundle/client/index.d.ts | 12 +- .../@hey-api/client-fetch/bundle/sdk.gen.ts | 47 +++--- .../@hey-api/client-fetch/default/sdk.gen.ts | 47 +++--- .../client-nuxt/bundle/client/index.d.cts | 16 +- .../client-nuxt/bundle/client/index.d.ts | 16 +- .../@hey-api/client-nuxt/bundle/sdk.gen.ts | 103 ++++++------ .../@hey-api/client-nuxt/default/sdk.gen.ts | 103 ++++++------ .../3.1.x/internal-name-conflict/sdk.gen.ts | 11 +- .../3.1.x/pagination-ref-any-of/sdk.gen.ts | 13 +- .../parameter-explode-false-axios/sdk.gen.ts | 11 +- .../3.1.x/parameter-explode-false/sdk.gen.ts | 11 +- .../plugins/@hey-api/sdk/default/sdk.gen.ts | 47 +++--- .../@hey-api/sdk/throwOnError/sdk.gen.ts | 47 +++--- .../transformers/type-format/sdk.gen.ts | 11 +- .../asClass/sdk.gen.ts | 47 +++--- .../axios/sdk.gen.ts | 47 +++--- .../fetch/sdk.gen.ts | 47 +++--- .../@tanstack/react-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/react-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/react-query/fetch/sdk.gen.ts | 47 +++--- .../@tanstack/solid-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/solid-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/solid-query/fetch/sdk.gen.ts | 47 +++--- .../@tanstack/svelte-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/svelte-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/svelte-query/fetch/sdk.gen.ts | 47 +++--- .../@tanstack/vue-query/asClass/sdk.gen.ts | 47 +++--- .../@tanstack/vue-query/axios/sdk.gen.ts | 47 +++--- .../@tanstack/vue-query/fetch/sdk.gen.ts | 47 +++--- .../3.1.x/security-api-key/sdk.gen.ts | 11 +- .../3.1.x/security-false/sdk.gen.ts | 11 +- .../3.1.x/security-http-bearer/sdk.gen.ts | 11 +- .../3.1.x/security-oauth2/sdk.gen.ts | 11 +- packages/openapi-ts/test/openapi-ts.config.ts | 5 +- 117 files changed, 2378 insertions(+), 1402 deletions(-) create mode 100644 .changeset/orange-bags-hope.md create mode 100644 .changeset/thin-impalas-tell.md create mode 100644 .changeset/tiny-kings-reflect.md diff --git a/.changeset/orange-bags-hope.md b/.changeset/orange-bags-hope.md new file mode 100644 index 000000000..349141683 --- /dev/null +++ b/.changeset/orange-bags-hope.md @@ -0,0 +1,8 @@ +--- +'@hey-api/client-axios': patch +'@hey-api/client-fetch': patch +'@hey-api/client-next': patch +'@hey-api/client-nuxt': patch +--- + +fix: remove client from Options interface diff --git a/.changeset/thin-impalas-tell.md b/.changeset/thin-impalas-tell.md new file mode 100644 index 000000000..d2a63e574 --- /dev/null +++ b/.changeset/thin-impalas-tell.md @@ -0,0 +1,5 @@ +--- +'@hey-api/openapi-ts': patch +--- + +feat: support required client in SDK using sdk.client = false diff --git a/.changeset/tiny-kings-reflect.md b/.changeset/tiny-kings-reflect.md new file mode 100644 index 000000000..0144132d5 --- /dev/null +++ b/.changeset/tiny-kings-reflect.md @@ -0,0 +1,8 @@ +--- +'@hey-api/client-axios': patch +'@hey-api/client-fetch': patch +'@hey-api/client-next': patch +'@hey-api/client-nuxt': patch +--- + +fix: export TDataShape interface diff --git a/examples/openapi-ts-axios/src/client/sdk.gen.ts b/examples/openapi-ts-axios/src/client/sdk.gen.ts index 188426e9c..d004d99de 100644 --- a/examples/openapi-ts-axios/src/client/sdk.gen.ts +++ b/examples/openapi-ts-axios/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-axios'; import { client as _heyApiClient } from './client.gen'; import type { @@ -38,6 +42,18 @@ import type { UploadFileResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store @@ -45,25 +61,23 @@ import type { export const addPet = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< - AddPetResponse, - unknown, - ThrowOnError - >({ - responseType: 'blob', - security: [ - { - scheme: 'bearer', - type: 'http', + (options.client ?? _heyApiClient).post( + { + responseType: 'blob', + security: [ + { + scheme: 'bearer', + type: 'http', + }, + ], + url: '/pet', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers, }, - ], - url: '/pet', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options?.headers, }, - }); + ); /** * Update an existing pet @@ -72,7 +86,7 @@ export const addPet = ( export const updatePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).put< + (options.client ?? _heyApiClient).put< UpdatePetResponse, unknown, ThrowOnError @@ -144,7 +158,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -162,7 +176,7 @@ export const deletePet = ( export const getPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetPetByIdResponse, unknown, ThrowOnError @@ -188,7 +202,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options, ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -205,7 +219,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< UploadFileResponse, unknown, ThrowOnError @@ -273,7 +287,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options, }); @@ -285,7 +299,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetOrderByIdResponse, unknown, ThrowOnError @@ -370,7 +384,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options, }); @@ -381,7 +395,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetUserByNameResponse, unknown, ThrowOnError @@ -398,7 +412,7 @@ export const getUserByName = ( export const updateUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-fastify/src/client/sdk.gen.ts b/examples/openapi-ts-fastify/src/client/sdk.gen.ts index 0f5593cfb..eae0b63a5 100644 --- a/examples/openapi-ts-fastify/src/client/sdk.gen.ts +++ b/examples/openapi-ts-fastify/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-fetch'; import { client as _heyApiClient } from './client.gen'; import type { @@ -14,6 +18,18 @@ import type { ShowPetByIdResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * List all pets */ @@ -50,7 +66,7 @@ export const createPets = ( export const showPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< ShowPetByIdResponse, ShowPetByIdError, ThrowOnError diff --git a/examples/openapi-ts-fetch/src/client/sdk.gen.ts b/examples/openapi-ts-fetch/src/client/sdk.gen.ts index de10ea0ee..5edbd8eed 100644 --- a/examples/openapi-ts-fetch/src/client/sdk.gen.ts +++ b/examples/openapi-ts-fetch/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-fetch'; import { client as _heyApiClient } from './client.gen'; import type { @@ -38,6 +42,18 @@ import type { UploadFileResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store @@ -45,24 +61,22 @@ import type { export const addPet = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< - AddPetResponse, - unknown, - ThrowOnError - >({ - security: [ - { - scheme: 'bearer', - type: 'http', + (options.client ?? _heyApiClient).post( + { + security: [ + { + scheme: 'bearer', + type: 'http', + }, + ], + url: '/pet', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers, }, - ], - url: '/pet', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options?.headers, }, - }); + ); /** * Update an existing pet @@ -71,7 +85,7 @@ export const addPet = ( export const updatePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).put< + (options.client ?? _heyApiClient).put< UpdatePetResponse, unknown, ThrowOnError @@ -140,7 +154,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -158,7 +172,7 @@ export const deletePet = ( export const getPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetPetByIdResponse, unknown, ThrowOnError @@ -183,7 +197,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options, ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -200,7 +214,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< UploadFileResponse, unknown, ThrowOnError @@ -268,7 +282,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options, }); @@ -280,7 +294,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetOrderByIdResponse, unknown, ThrowOnError @@ -362,7 +376,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options, }); @@ -373,7 +387,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetUserByNameResponse, unknown, ThrowOnError @@ -389,7 +403,7 @@ export const getUserByName = ( export const updateUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-next/src/client/sdk.gen.ts b/examples/openapi-ts-next/src/client/sdk.gen.ts index 0456bc41d..edea2fd4b 100644 --- a/examples/openapi-ts-next/src/client/sdk.gen.ts +++ b/examples/openapi-ts-next/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-next'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-next'; import { client as _heyApiClient } from './client.gen'; import type { @@ -38,14 +42,25 @@ import type { UploadFileResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store */ export const addPet = ( options: Options, -) => - (options?.client ?? _heyApiClient).post< +) => (options.client ?? _heyApiClient).post< AddPetResponse, unknown, ThrowOnError @@ -70,8 +85,7 @@ export const addPet = ( */ export const updatePet = ( options: Options, -) => - (options?.client ?? _heyApiClient).put< +) => (options.client ?? _heyApiClient).put< UpdatePetResponse, unknown, ThrowOnError @@ -96,8 +110,7 @@ export const updatePet = ( */ export const findPetsByStatus = ( options?: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options?.client ?? _heyApiClient).get< FindPetsByStatusResponse, unknown, ThrowOnError @@ -118,8 +131,7 @@ export const findPetsByStatus = ( */ export const findPetsByTags = ( options?: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options?.client ?? _heyApiClient).get< FindPetsByTagsResponse, unknown, ThrowOnError @@ -139,8 +151,11 @@ export const findPetsByTags = ( */ export const deletePet = ( options: Options, -) => - (options?.client ?? _heyApiClient).delete({ +) => (options.client ?? _heyApiClient).delete< + unknown, + unknown, + ThrowOnError + >({ security: [ { scheme: 'bearer', @@ -157,8 +172,7 @@ export const deletePet = ( */ export const getPetById = ( options: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options.client ?? _heyApiClient).get< GetPetByIdResponse, unknown, ThrowOnError @@ -182,25 +196,25 @@ export const getPetById = ( */ export const updatePetWithForm = ( options: Options, -) => - (options?.client ?? _heyApiClient).post({ - security: [ - { - scheme: 'bearer', - type: 'http', - }, - ], - url: '/pet/{petId}', - ...options, - }); +) => (options.client ?? _heyApiClient).post( + { + security: [ + { + scheme: 'bearer', + type: 'http', + }, + ], + url: '/pet/{petId}', + ...options, + }, + ); /** * uploads an image */ export const uploadFile = ( options: Options, -) => - (options?.client ?? _heyApiClient).post< +) => (options.client ?? _heyApiClient).post< UploadFileResponse, unknown, ThrowOnError @@ -225,8 +239,7 @@ export const uploadFile = ( */ export const getInventory = ( options?: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options?.client ?? _heyApiClient).get< GetInventoryResponse, unknown, ThrowOnError @@ -247,8 +260,7 @@ export const getInventory = ( */ export const placeOrder = ( options?: Options, -) => - (options?.client ?? _heyApiClient).post< +) => (options?.client ?? _heyApiClient).post< PlaceOrderResponse, unknown, ThrowOnError @@ -267,8 +279,11 @@ export const placeOrder = ( */ export const deleteOrder = ( options: Options, -) => - (options?.client ?? _heyApiClient).delete({ +) => (options.client ?? _heyApiClient).delete< + unknown, + unknown, + ThrowOnError + >({ url: '/store/order/{orderId}', ...options, }); @@ -279,8 +294,7 @@ export const deleteOrder = ( */ export const getOrderById = ( options: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options.client ?? _heyApiClient).get< GetOrderByIdResponse, unknown, ThrowOnError @@ -295,8 +309,7 @@ export const getOrderById = ( */ export const createUser = ( options?: Options, -) => - (options?.client ?? _heyApiClient).post< +) => (options?.client ?? _heyApiClient).post< CreateUserResponse, unknown, ThrowOnError @@ -315,8 +328,7 @@ export const createUser = ( */ export const createUsersWithListInput = ( options?: Options, -) => - (options?.client ?? _heyApiClient).post< +) => (options?.client ?? _heyApiClient).post< CreateUsersWithListInputResponse, unknown, ThrowOnError @@ -334,8 +346,7 @@ export const createUsersWithListInput = ( */ export const loginUser = ( options?: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options?.client ?? _heyApiClient).get< LoginUserResponse, unknown, ThrowOnError @@ -349,11 +360,12 @@ export const loginUser = ( */ export const logoutUser = ( options?: Options, -) => - (options?.client ?? _heyApiClient).get({ - url: '/user/logout', - ...options, - }); +) => (options?.client ?? _heyApiClient).get( + { + url: '/user/logout', + ...options, + }, + ); /** * Delete user @@ -361,8 +373,11 @@ export const logoutUser = ( */ export const deleteUser = ( options: Options, -) => - (options?.client ?? _heyApiClient).delete({ +) => (options.client ?? _heyApiClient).delete< + unknown, + unknown, + ThrowOnError + >({ url: '/user/{username}', ...options, }); @@ -372,8 +387,7 @@ export const deleteUser = ( */ export const getUserByName = ( options: Options, -) => - (options?.client ?? _heyApiClient).get< +) => (options.client ?? _heyApiClient).get< GetUserByNameResponse, unknown, ThrowOnError @@ -388,8 +402,7 @@ export const getUserByName = ( */ export const updateUser = ( options: Options, -) => - (options?.client ?? _heyApiClient).put({ +) => (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-nuxt/client/sdk.gen.ts b/examples/openapi-ts-nuxt/client/sdk.gen.ts index cc675e22b..f22de69eb 100644 --- a/examples/openapi-ts-nuxt/client/sdk.gen.ts +++ b/examples/openapi-ts-nuxt/client/sdk.gen.ts @@ -1,6 +1,11 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Composable, Options } from '@hey-api/client-nuxt'; +import type { + Client, + Composable, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-nuxt'; import { client as _heyApiClient } from './client.gen'; import { @@ -64,6 +69,18 @@ import { zUploadFileResponse, } from './zod.gen'; +type Options< + TComposable extends Composable, + TData extends TDataShape = TDataShape, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store @@ -71,24 +88,22 @@ import { export const addPet = ( options: Options, ) => - (options?.client ?? _heyApiClient).post( - { - responseTransformer: addPetResponseTransformer, - responseValidator: async (data) => await zAddPetResponse.parseAsync(data), - security: [ - { - scheme: 'bearer', - type: 'http', - }, - ], - url: '/pet', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options?.headers, + (options.client ?? _heyApiClient).post({ + responseTransformer: addPetResponseTransformer, + responseValidator: async (data) => await zAddPetResponse.parseAsync(data), + security: [ + { + scheme: 'bearer', + type: 'http', }, + ], + url: '/pet', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers, }, - ); + }); /** * Update an existing pet @@ -97,7 +112,7 @@ export const addPet = ( export const updatePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).put< + (options.client ?? _heyApiClient).put< TComposable, UpdatePetResponse, unknown @@ -126,7 +141,7 @@ export const updatePet = ( export const findPetsByStatus = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, FindPetsByStatusResponse, unknown @@ -151,7 +166,7 @@ export const findPetsByStatus = ( export const findPetsByTags = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, FindPetsByTagsResponse, unknown @@ -175,7 +190,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -193,7 +208,7 @@ export const deletePet = ( export const getPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, GetPetByIdResponse, unknown @@ -221,7 +236,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options, ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -238,7 +253,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< TComposable, UploadFileResponse, unknown @@ -266,7 +281,7 @@ export const uploadFile = ( export const getInventory = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, GetInventoryResponse, unknown @@ -290,7 +305,7 @@ export const getInventory = ( export const placeOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< TComposable, PlaceOrderResponse, unknown @@ -313,7 +328,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options, }); @@ -325,7 +340,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, GetOrderByIdResponse, unknown @@ -344,7 +359,7 @@ export const getOrderById = ( export const createUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< TComposable, CreateUserResponse, unknown @@ -367,7 +382,7 @@ export const createUser = ( export const createUsersWithListInput = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< TComposable, CreateUsersWithListInputResponse, unknown @@ -388,7 +403,7 @@ export const createUsersWithListInput = ( export const loginUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, LoginUserResponse, unknown @@ -405,7 +420,7 @@ export const loginUser = ( export const logoutUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).get({ + (options.client ?? _heyApiClient).get({ url: '/user/logout', ...options, }); @@ -417,7 +432,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options, }); @@ -428,7 +443,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< TComposable, GetUserByNameResponse, unknown @@ -447,7 +462,7 @@ export const getUserByName = ( export const updateUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-tanstack-angular-query-experimental/src/client/sdk.gen.ts b/examples/openapi-ts-tanstack-angular-query-experimental/src/client/sdk.gen.ts index de10ea0ee..5edbd8eed 100644 --- a/examples/openapi-ts-tanstack-angular-query-experimental/src/client/sdk.gen.ts +++ b/examples/openapi-ts-tanstack-angular-query-experimental/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-fetch'; import { client as _heyApiClient } from './client.gen'; import type { @@ -38,6 +42,18 @@ import type { UploadFileResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store @@ -45,24 +61,22 @@ import type { export const addPet = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< - AddPetResponse, - unknown, - ThrowOnError - >({ - security: [ - { - scheme: 'bearer', - type: 'http', + (options.client ?? _heyApiClient).post( + { + security: [ + { + scheme: 'bearer', + type: 'http', + }, + ], + url: '/pet', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers, }, - ], - url: '/pet', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options?.headers, }, - }); + ); /** * Update an existing pet @@ -71,7 +85,7 @@ export const addPet = ( export const updatePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).put< + (options.client ?? _heyApiClient).put< UpdatePetResponse, unknown, ThrowOnError @@ -140,7 +154,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -158,7 +172,7 @@ export const deletePet = ( export const getPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetPetByIdResponse, unknown, ThrowOnError @@ -183,7 +197,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options, ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -200,7 +214,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< UploadFileResponse, unknown, ThrowOnError @@ -268,7 +282,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options, }); @@ -280,7 +294,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetOrderByIdResponse, unknown, ThrowOnError @@ -362,7 +376,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options, }); @@ -373,7 +387,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetUserByNameResponse, unknown, ThrowOnError @@ -389,7 +403,7 @@ export const getUserByName = ( export const updateUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-tanstack-react-query/src/client/sdk.gen.ts b/examples/openapi-ts-tanstack-react-query/src/client/sdk.gen.ts index de10ea0ee..5edbd8eed 100644 --- a/examples/openapi-ts-tanstack-react-query/src/client/sdk.gen.ts +++ b/examples/openapi-ts-tanstack-react-query/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-fetch'; import { client as _heyApiClient } from './client.gen'; import type { @@ -38,6 +42,18 @@ import type { UploadFileResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store @@ -45,24 +61,22 @@ import type { export const addPet = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< - AddPetResponse, - unknown, - ThrowOnError - >({ - security: [ - { - scheme: 'bearer', - type: 'http', + (options.client ?? _heyApiClient).post( + { + security: [ + { + scheme: 'bearer', + type: 'http', + }, + ], + url: '/pet', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers, }, - ], - url: '/pet', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options?.headers, }, - }); + ); /** * Update an existing pet @@ -71,7 +85,7 @@ export const addPet = ( export const updatePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).put< + (options.client ?? _heyApiClient).put< UpdatePetResponse, unknown, ThrowOnError @@ -140,7 +154,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -158,7 +172,7 @@ export const deletePet = ( export const getPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetPetByIdResponse, unknown, ThrowOnError @@ -183,7 +197,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options, ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -200,7 +214,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< UploadFileResponse, unknown, ThrowOnError @@ -268,7 +282,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options, }); @@ -280,7 +294,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetOrderByIdResponse, unknown, ThrowOnError @@ -362,7 +376,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options, }); @@ -373,7 +387,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetUserByNameResponse, unknown, ThrowOnError @@ -389,7 +403,7 @@ export const getUserByName = ( export const updateUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-tanstack-svelte-query/src/client/sdk.gen.ts b/examples/openapi-ts-tanstack-svelte-query/src/client/sdk.gen.ts index de10ea0ee..5edbd8eed 100644 --- a/examples/openapi-ts-tanstack-svelte-query/src/client/sdk.gen.ts +++ b/examples/openapi-ts-tanstack-svelte-query/src/client/sdk.gen.ts @@ -1,6 +1,10 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { + Client, + Options as ClientOptions, + TDataShape, +} from '@hey-api/client-fetch'; import { client as _heyApiClient } from './client.gen'; import type { @@ -38,6 +42,18 @@ import type { UploadFileResponse, } from './types.gen'; +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Add a new pet to the store * Add a new pet to the store @@ -45,24 +61,22 @@ import type { export const addPet = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< - AddPetResponse, - unknown, - ThrowOnError - >({ - security: [ - { - scheme: 'bearer', - type: 'http', + (options.client ?? _heyApiClient).post( + { + security: [ + { + scheme: 'bearer', + type: 'http', + }, + ], + url: '/pet', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers, }, - ], - url: '/pet', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options?.headers, }, - }); + ); /** * Update an existing pet @@ -71,7 +85,7 @@ export const addPet = ( export const updatePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).put< + (options.client ?? _heyApiClient).put< UpdatePetResponse, unknown, ThrowOnError @@ -140,7 +154,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -158,7 +172,7 @@ export const deletePet = ( export const getPetById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetPetByIdResponse, unknown, ThrowOnError @@ -183,7 +197,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options, ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -200,7 +214,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options, ) => - (options?.client ?? _heyApiClient).post< + (options.client ?? _heyApiClient).post< UploadFileResponse, unknown, ThrowOnError @@ -268,7 +282,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options, }); @@ -280,7 +294,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetOrderByIdResponse, unknown, ThrowOnError @@ -362,7 +376,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options, }); @@ -373,7 +387,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options, ) => - (options?.client ?? _heyApiClient).get< + (options.client ?? _heyApiClient).get< GetUserByNameResponse, unknown, ThrowOnError @@ -389,7 +403,7 @@ export const getUserByName = ( export const updateUser = ( options: Options, ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/examples/openapi-ts-tanstack-vue-query/src/client/sdk.gen.ts b/examples/openapi-ts-tanstack-vue-query/src/client/sdk.gen.ts index 5218e5336..9cd9e8200 100644 --- a/examples/openapi-ts-tanstack-vue-query/src/client/sdk.gen.ts +++ b/examples/openapi-ts-tanstack-vue-query/src/client/sdk.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch' +import type { Client, Options as ClientOptions, TDataShape } from '@hey-api/client-fetch' import { client as _heyApiClient } from './client.gen' import type { @@ -38,6 +38,18 @@ import type { UploadFileResponse } from './types.gen' +type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean +> = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client +} + /** * Add a new pet to the store * Add a new pet to the store @@ -45,7 +57,7 @@ import type { export const addPet = ( options: Options ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -67,7 +79,7 @@ export const addPet = ( export const updatePet = ( options: Options ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ security: [ { scheme: 'bearer', @@ -124,7 +136,7 @@ export const findPetsByTags = ( export const deletePet = ( options: Options ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ security: [ { scheme: 'bearer', @@ -142,7 +154,7 @@ export const deletePet = ( export const getPetById = ( options: Options ) => - (options?.client ?? _heyApiClient).get({ + (options.client ?? _heyApiClient).get({ security: [ { name: 'api_key', @@ -163,7 +175,7 @@ export const getPetById = ( export const updatePetWithForm = ( options: Options ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -180,7 +192,7 @@ export const updatePetWithForm = ( export const uploadFile = ( options: Options ) => - (options?.client ?? _heyApiClient).post({ + (options.client ?? _heyApiClient).post({ security: [ { scheme: 'bearer', @@ -236,7 +248,7 @@ export const placeOrder = ( export const deleteOrder = ( options: Options ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/store/order/{orderId}', ...options }) @@ -248,7 +260,7 @@ export const deleteOrder = ( export const getOrderById = ( options: Options ) => - (options?.client ?? _heyApiClient).get({ + (options.client ?? _heyApiClient).get({ url: '/store/order/{orderId}', ...options }) @@ -314,7 +326,7 @@ export const logoutUser = ( export const deleteUser = ( options: Options ) => - (options?.client ?? _heyApiClient).delete({ + (options.client ?? _heyApiClient).delete({ url: '/user/{username}', ...options }) @@ -325,7 +337,7 @@ export const deleteUser = ( export const getUserByName = ( options: Options ) => - (options?.client ?? _heyApiClient).get({ + (options.client ?? _heyApiClient).get({ url: '/user/{username}', ...options }) @@ -337,7 +349,7 @@ export const getUserByName = ( export const updateUser = ( options: Options ) => - (options?.client ?? _heyApiClient).put({ + (options.client ?? _heyApiClient).put({ url: '/user/{username}', ...options, headers: { diff --git a/packages/client-axios/src/index.ts b/packages/client-axios/src/index.ts index 70fb56bf2..1b0ab2aa0 100644 --- a/packages/client-axios/src/index.ts +++ b/packages/client-axios/src/index.ts @@ -7,6 +7,7 @@ export type { OptionsLegacyParser, RequestOptions, RequestResult, + TDataShape, } from './types'; export { createConfig } from './utils'; export type { Auth, QuerySerializerOptions } from '@hey-api/client-core'; diff --git a/packages/client-axios/src/types.ts b/packages/client-axios/src/types.ts index c9f11b81f..1203fa732 100644 --- a/packages/client-axios/src/types.ts +++ b/packages/client-axios/src/types.ts @@ -57,12 +57,6 @@ export interface RequestOptions< * {@link https://developer.mozilla.org/docs/Web/API/fetch#body} */ body?: unknown; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; path?: Record; query?: Record; /** @@ -125,7 +119,7 @@ export type Client = CoreClient & { */ export type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +export interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -136,7 +130,7 @@ interface DataShape { type OmitKeys = Pick>; export type Options< - TData extends DataShape = DataShape, + TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, > = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; diff --git a/packages/client-fetch/src/index.ts b/packages/client-fetch/src/index.ts index 70fb56bf2..1b0ab2aa0 100644 --- a/packages/client-fetch/src/index.ts +++ b/packages/client-fetch/src/index.ts @@ -7,6 +7,7 @@ export type { OptionsLegacyParser, RequestOptions, RequestResult, + TDataShape, } from './types'; export { createConfig } from './utils'; export type { Auth, QuerySerializerOptions } from '@hey-api/client-core'; diff --git a/packages/client-fetch/src/types.ts b/packages/client-fetch/src/types.ts index 5117b85d6..cb8cb9125 100644 --- a/packages/client-fetch/src/types.ts +++ b/packages/client-fetch/src/types.ts @@ -54,12 +54,6 @@ export interface RequestOptions< | Array> | Array | number; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; path?: Record; query?: Record; /** @@ -131,7 +125,7 @@ export type Client = CoreClient & { */ export type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +export interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -142,7 +136,7 @@ interface DataShape { type OmitKeys = Pick>; export type Options< - TData extends DataShape = DataShape, + TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, > = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; diff --git a/packages/client-next/src/index.ts b/packages/client-next/src/index.ts index 70fb56bf2..1b0ab2aa0 100644 --- a/packages/client-next/src/index.ts +++ b/packages/client-next/src/index.ts @@ -7,6 +7,7 @@ export type { OptionsLegacyParser, RequestOptions, RequestResult, + TDataShape, } from './types'; export { createConfig } from './utils'; export type { Auth, QuerySerializerOptions } from '@hey-api/client-core'; diff --git a/packages/client-next/src/types.ts b/packages/client-next/src/types.ts index e52c928d6..17fe041da 100644 --- a/packages/client-next/src/types.ts +++ b/packages/client-next/src/types.ts @@ -54,12 +54,6 @@ export interface RequestOptions< | Array> | Array | number; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; path?: Record; query?: Record; /** @@ -129,7 +123,7 @@ export type Client = CoreClient & { */ export type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +export interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -140,7 +134,7 @@ interface DataShape { type OmitKeys = Pick>; export type Options< - TData extends DataShape = DataShape, + TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, > = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; diff --git a/packages/client-nuxt/src/index.ts b/packages/client-nuxt/src/index.ts index abee01919..f66cf9c52 100644 --- a/packages/client-nuxt/src/index.ts +++ b/packages/client-nuxt/src/index.ts @@ -8,6 +8,7 @@ export type { OptionsLegacyParser, RequestOptions, RequestResult, + TDataShape, } from './types'; export { createConfig } from './utils'; export type { Auth, QuerySerializerOptions } from '@hey-api/client-core'; diff --git a/packages/client-nuxt/src/types.ts b/packages/client-nuxt/src/types.ts index ba03fb810..9e206d530 100644 --- a/packages/client-nuxt/src/types.ts +++ b/packages/client-nuxt/src/types.ts @@ -68,12 +68,6 @@ export interface RequestOptions< query?: FetchOptions['query']; }> { asyncDataOptions?: AsyncDataOptions; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; composable: TComposable; key?: string; /** @@ -126,7 +120,7 @@ type RequestFn = < */ export type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +export interface TDataShape { body?: unknown; headers?: unknown; path?: FetchOptions['query']; @@ -135,12 +129,12 @@ interface DataShape { } export type BuildUrlOptions< - TData extends Omit = Omit, + TData extends Omit = Omit, > = Pick, 'path' | 'query'> & Pick & Pick, 'baseURL' | 'querySerializer'>; -type BuildUrlFn = >( +type BuildUrlFn = >( options: BuildUrlOptions, ) => string; @@ -150,7 +144,7 @@ type OmitKeys = Pick>; export type Options< TComposable extends Composable, - TData extends DataShape = DataShape, + TData extends TDataShape = TDataShape, > = OmitKeys, 'body' | 'path' | 'query' | 'url'> & WithRefs>; diff --git a/packages/openapi-ts/src/compiler/types.ts b/packages/openapi-ts/src/compiler/types.ts index 4334530f6..6c30de1f7 100644 --- a/packages/openapi-ts/src/compiler/types.ts +++ b/packages/openapi-ts/src/compiler/types.ts @@ -285,29 +285,36 @@ export const createKeywordTypeNode = ({ return ts.factory.createKeywordTypeNode(kind); }; -export const toTypeParameters = (types: FunctionTypeParameter[]) => - types.map((type) => - createTypeParameterDeclaration({ +export const toTypeParameters = ( + types: (FunctionTypeParameter | ts.TypeParameterDeclaration)[], +) => + types.map((node) => { + // @ts-expect-error + if (ts.isTypeParameterDeclaration(node)) { + return node; + } + + return createTypeParameterDeclaration({ // TODO: support other extends values - constraint: type.extends - ? typeof type.extends === 'string' + constraint: node.extends + ? typeof node.extends === 'string' ? createKeywordTypeNode({ keyword: 'boolean' }) - : type.extends + : node.extends : undefined, // TODO: support other default types defaultType: - type.default !== undefined - ? isTsNode(type.default) - ? (type.default as unknown as ts.TypeNode) + node.default !== undefined + ? isTsNode(node.default) + ? (node.default as unknown as ts.TypeNode) : ts.factory.createLiteralTypeNode( - type.default + node.default ? ts.factory.createTrue() : ts.factory.createFalse(), ) : undefined, - name: type.name, - }), - ); + name: node.name, + }); + }); export const createTypeOperatorNode = ({ operator, diff --git a/packages/openapi-ts/src/generate/files.ts b/packages/openapi-ts/src/generate/files.ts index 2cd2da561..ebdfbfdf0 100644 --- a/packages/openapi-ts/src/generate/files.ts +++ b/packages/openapi-ts/src/generate/files.ts @@ -51,6 +51,8 @@ interface Namespaces { value: Namespace; } +export type FileImportResult = Pick; + export class TypeScriptFile { /** * Should the exports from this file be re-exported in the index barrel file? @@ -159,7 +161,7 @@ export class TypeScriptFile { ...importedItem }: ImportExportItemObject & { module: string; - }): Pick { + }): FileImportResult { let moduleMap = this._imports.get(module); if (!moduleMap) { diff --git a/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts b/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts index d503c1758..6a044ee42 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts @@ -3,7 +3,7 @@ import type ts from 'typescript'; import { compiler } from '../../../compiler'; import type { ObjectValue } from '../../../compiler/types'; import { clientApi, clientModulePath } from '../../../generate/client'; -import type { TypeScriptFile } from '../../../generate/files'; +import type { FileImportResult, TypeScriptFile } from '../../../generate/files'; import { hasOperationDataRequired, statusCodeToGroup, @@ -212,10 +212,12 @@ const operationAuth = ({ const operationStatements = ({ context, + isRequiredOptions, operation, plugin, }: { context: IR.Context; + isRequiredOptions: boolean; operation: IR.OperationObject; plugin: Plugin.Instance; }): Array => { @@ -447,12 +449,20 @@ const operationStatements = ({ const responseType = identifierResponse.name || 'unknown'; const errorType = identifierError.name || 'unknown'; - const heyApiClient = file.import({ - alias: '_heyApiClient', - module: file.relativePathToFile({ - context, - id: clientId, - }), + const heyApiClient = plugin.client + ? file.import({ + alias: '_heyApiClient', + module: file.relativePathToFile({ + context, + id: clientId, + }), + name: 'client', + }) + : undefined; + + const optionsClient = compiler.propertyAccessExpression({ + expression: compiler.identifier({ text: 'options' }), + isOptional: !isRequiredOptions, name: 'client', }); @@ -465,15 +475,13 @@ const operationStatements = ({ }), ], name: compiler.propertyAccessExpression({ - expression: compiler.binaryExpression({ - left: compiler.propertyAccessExpression({ - expression: compiler.identifier({ text: 'options' }), - isOptional: true, - name: 'client', - }), - operator: '??', - right: compiler.identifier({ text: heyApiClient.name }), - }), + expression: heyApiClient?.name + ? compiler.binaryExpression({ + left: optionsClient, + operator: '??', + right: compiler.identifier({ text: heyApiClient.name }), + }) + : optionsClient, name: compiler.identifier({ text: operation.method }), }), types: isNuxtClient @@ -496,6 +504,8 @@ const generateClassSdk = ({ const sdks = new Map>(); context.subscribe('operation', ({ operation }) => { + const isRequiredOptions = + !plugin.client || isNuxtClient || hasOperationDataRequired(operation); const node = compiler.methodDeclaration({ accessLevel: 'public', comment: [ @@ -512,7 +522,7 @@ const generateClassSdk = ({ }), parameters: [ { - isRequired: isNuxtClient || hasOperationDataRequired(operation), + isRequired: isRequiredOptions, name: 'options', type: operationOptionsType({ context, @@ -525,6 +535,7 @@ const generateClassSdk = ({ returnType: undefined, statements: operationStatements({ context, + isRequiredOptions, operation, plugin, }), @@ -587,6 +598,8 @@ const generateFlatSdk = ({ const file = context.file({ id: sdkId })!; context.subscribe('operation', ({ operation }) => { + const isRequiredOptions = + !plugin.client || isNuxtClient || hasOperationDataRequired(operation); const node = compiler.constVariable({ comment: [ operation.deprecated && '@deprecated', @@ -597,7 +610,7 @@ const generateFlatSdk = ({ expression: compiler.arrowFunction({ parameters: [ { - isRequired: isNuxtClient || hasOperationDataRequired(operation), + isRequired: isRequiredOptions, name: 'options', type: operationOptionsType({ context, @@ -610,6 +623,7 @@ const generateFlatSdk = ({ returnType: undefined, statements: operationStatements({ context, + isRequiredOptions, operation, plugin, }), @@ -642,6 +656,104 @@ const generateFlatSdk = ({ }); }; +const createTypeOptions = ({ + clientOptions, + context, + plugin, +}: { + clientOptions: FileImportResult; + context: IR.Context; + plugin: Plugin.Instance; +}) => { + const file = context.file({ id: sdkId })!; + const client = getClientPlugin(context.config); + const isNuxtClient = client.name === '@hey-api/client-nuxt'; + + const clientModule = clientModulePath({ + config: context.config, + sourceOutput: file.nameWithoutExtension(), + }); + const tDataShape = file.import({ + asType: true, + module: clientModule, + name: 'TDataShape', + }); + const clientType = file.import({ + asType: true, + module: clientModule, + name: 'Client', + }); + + const typeOptions = compiler.typeAliasDeclaration({ + name: 'Options', + type: compiler.typeIntersectionNode({ + types: [ + compiler.typeReferenceNode({ + typeArguments: isNuxtClient + ? [ + compiler.typeReferenceNode({ typeName: 'TComposable' }), + compiler.typeReferenceNode({ typeName: 'TData' }), + ] + : [ + compiler.typeReferenceNode({ typeName: 'TData' }), + compiler.typeReferenceNode({ typeName: 'ThrowOnError' }), + ], + typeName: clientOptions.name, + }), + compiler.typeInterfaceNode({ + properties: [ + { + comment: [ + 'You can provide a client instance returned by `createClient()` instead of', + 'individual options. This might be also useful if you want to implement a', + 'custom client.', + ], + isRequired: !plugin.client, + name: 'client', + type: compiler.typeReferenceNode({ typeName: clientType.name }), + }, + ], + useLegacyResolution: false, + }), + ], + }), + typeParameters: isNuxtClient + ? [ + compiler.typeParameterDeclaration({ + constraint: compiler.typeReferenceNode({ typeName: 'Composable' }), + name: 'TComposable', + }), + compiler.typeParameterDeclaration({ + constraint: compiler.typeReferenceNode({ + typeName: tDataShape.name, + }), + defaultType: compiler.typeReferenceNode({ + typeName: tDataShape.name, + }), + name: 'TData', + }), + ] + : [ + compiler.typeParameterDeclaration({ + constraint: compiler.typeReferenceNode({ + typeName: tDataShape.name, + }), + defaultType: compiler.typeReferenceNode({ + typeName: tDataShape.name, + }), + name: 'TData', + }), + compiler.typeParameterDeclaration({ + constraint: compiler.keywordTypeNode({ keyword: 'boolean' }), + defaultType: compiler.keywordTypeNode({ keyword: 'boolean' }), + name: 'ThrowOnError', + }), + ], + }); + + file.add(typeOptions); +}; + export const handler: Plugin.Handler = ({ context, plugin }) => { const file = context.createFile({ exportFromIndex: plugin.exportFromIndex, @@ -654,8 +766,9 @@ export const handler: Plugin.Handler = ({ context, plugin }) => { config: context.config, sourceOutput: file.nameWithoutExtension(), }); - file.import({ + const clientOptions = file.import({ ...clientApi.Options, + alias: 'ClientOptions', module: clientModule, }); @@ -669,6 +782,12 @@ export const handler: Plugin.Handler = ({ context, plugin }) => { }); } + createTypeOptions({ + clientOptions, + context, + plugin, + }); + if (plugin.asClass) { generateClassSdk({ context, plugin }); } else { diff --git a/packages/openapi-ts/src/plugins/@hey-api/sdk/types.d.ts b/packages/openapi-ts/src/plugins/@hey-api/sdk/types.d.ts index b64af6dca..876d5740a 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/sdk/types.d.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/sdk/types.d.ts @@ -28,7 +28,7 @@ export interface Config extends Plugin.Name<'@hey-api/sdk'> { */ auth?: boolean; /** - * Use an internal client instance to send HTTP requests. This is useful if + * Use an internal client instance to send HTTP requests? This is useful if * you don't want to manually pass the client to each SDK function. * * Ensure you have declared the selected library as a dependency to avoid diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/body-response-text-plain/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/body-response-text-plain/sdk.gen.ts index ab3dedfb1..6b90ac738 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/body-response-text-plain/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/body-response-text-plain/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData, PostFooResponse } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ bodySerializer: null, url: '/foo', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/form-data/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/form-data/sdk.gen.ts index a29ca1c27..14e006872 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/form-data/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/form-data/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from '@hey-api/client-fetch'; import type { PostV1FooData, PostV1FooResponse } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postV1Foo = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/v1/foo', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts index 644cf7be9..0759d0256 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts index eb95ca5a5..0f371d4a6 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (option }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options?: }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: O }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (op }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts index b5a4f8b89..0dbe3ee5b 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData, PostFooResponse } from './types.gen'; import { postFooResponseTransformer } from './transformers.gen'; import { zPostFooResponse } from './zod.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ responseTransformer: postFooResponseTransformer, diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts index 44c5f2bde..cc8db5c87 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static serviceWithEmptyTag(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -17,7 +26,7 @@ export class DefaultService { * Body should not be unknown */ public static postApiVbyApiVersionBody(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { @@ -93,14 +102,14 @@ export class DescriptionsService { export class ParametersService { public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); @@ -110,7 +119,7 @@ export class ParametersService { export class DefaultsService { public static callWithDefaultParameters(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -124,7 +133,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -257,7 +266,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -273,7 +282,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -289,7 +298,7 @@ export class TypesService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -309,7 +318,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -319,7 +328,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts index e140b85f3..34d83b19e 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts index 644cf7be9..0759d0256 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts index 44c5f2bde..cc8db5c87 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static serviceWithEmptyTag(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -17,7 +26,7 @@ export class DefaultService { * Body should not be unknown */ public static postApiVbyApiVersionBody(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { @@ -93,14 +102,14 @@ export class DescriptionsService { export class ParametersService { public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); @@ -110,7 +119,7 @@ export class ParametersService { export class DefaultsService { public static callWithDefaultParameters(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -124,7 +133,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -257,7 +266,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -273,7 +282,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -289,7 +298,7 @@ export class TypesService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -309,7 +318,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -319,7 +328,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts index e140b85f3..34d83b19e 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts index 644cf7be9..0759d0256 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts index 44c5f2bde..cc8db5c87 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static serviceWithEmptyTag(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -17,7 +26,7 @@ export class DefaultService { * Body should not be unknown */ public static postApiVbyApiVersionBody(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { @@ -93,14 +102,14 @@ export class DescriptionsService { export class ParametersService { public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); @@ -110,7 +119,7 @@ export class ParametersService { export class DefaultsService { public static callWithDefaultParameters(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -124,7 +133,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -257,7 +266,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -273,7 +282,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -289,7 +298,7 @@ export class TypesService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -309,7 +318,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -319,7 +328,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts index e140b85f3..34d83b19e 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts index 644cf7be9..0759d0256 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts index 44c5f2bde..cc8db5c87 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static serviceWithEmptyTag(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -17,7 +26,7 @@ export class DefaultService { * Body should not be unknown */ public static postApiVbyApiVersionBody(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { @@ -93,14 +102,14 @@ export class DescriptionsService { export class ParametersService { public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); @@ -110,7 +119,7 @@ export class ParametersService { export class DefaultsService { public static callWithDefaultParameters(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -124,7 +133,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -257,7 +266,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -273,7 +282,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -289,7 +298,7 @@ export class TypesService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -309,7 +318,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -319,7 +328,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts index e140b85f3..34d83b19e 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts index 644cf7be9..0759d0256 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts index 44c5f2bde..cc8db5c87 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static serviceWithEmptyTag(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -17,7 +26,7 @@ export class DefaultService { * Body should not be unknown */ public static postApiVbyApiVersionBody(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { @@ -93,14 +102,14 @@ export class DescriptionsService { export class ParametersService { public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); @@ -110,7 +119,7 @@ export class ParametersService { export class DefaultsService { public static callWithDefaultParameters(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -124,7 +133,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -257,7 +266,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -273,7 +282,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -289,7 +298,7 @@ export class TypesService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -309,7 +318,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -319,7 +328,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts index e140b85f3..34d83b19e 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts index 644cf7be9..0759d0256 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { ServiceWithEmptyTagData, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, CallWithDescriptionsData, CallWithParametersData, CallWithWeirdParameterNamesData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyBData, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, ComplexTypesData, ComplexTypesResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PostApiVbyApiVersionBodyData, PostApiVbyApiVersionBodyResponse, PostApiVbyApiVersionBodyError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const serviceWithEmptyTag = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -68,21 +77,21 @@ export const callWithDescriptions = (optio }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options }); }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options }); }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); @@ -96,7 +105,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -180,7 +189,7 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -193,7 +202,7 @@ export const collectionFormat = (options: }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ querySerializer: { array: { explode: false, @@ -206,7 +215,7 @@ export const types = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -220,14 +229,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -238,7 +247,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/body', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/schema-unknown/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/schema-unknown/sdk.gen.ts index 13656fab5..499c0dbc5 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/schema-unknown/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/schema-unknown/sdk.gen.ts @@ -1,14 +1,23 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { SendEmailData, SendEmailResponse2, SendEmailError } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + /** * Send a single email */ export const sendEmail = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/email', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/security-api-key/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/security-api-key/sdk.gen.ts index a8a750de0..e1399da15 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/security-api-key/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/security-api-key/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/security-basic/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/security-basic/sdk.gen.ts index 406b9b831..872e5972e 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/security-basic/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/security-basic/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/security-false/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/security-false/sdk.gen.ts index 00e450bb3..63037a6c6 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/security-false/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/security-false/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/foo', diff --git a/packages/openapi-ts/test/__snapshots__/2.0.x/security-oauth2/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/2.0.x/security-oauth2/sdk.gen.ts index 62f611119..10dcbc308 100644 --- a/packages/openapi-ts/test/__snapshots__/2.0.x/security-oauth2/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/2.0.x/security-oauth2/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/body-response-text-plain/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/body-response-text-plain/sdk.gen.ts index ab3dedfb1..6b90ac738 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/body-response-text-plain/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/body-response-text-plain/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData, PostFooResponse } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ bodySerializer: null, url: '/foo', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/internal-name-conflict/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/internal-name-conflict/sdk.gen.ts index c01487b8f..c57320f67 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/internal-name-conflict/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/internal-name-conflict/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { CreateData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const create = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ url: '/foo', diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false-axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false-axios/sdk.gen.ts index 6b8055fec..7d29fb9c2 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false-axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false-axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { PostFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ querySerializer: { diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false/sdk.gen.ts index d4b597a12..fea0353a1 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/parameter-explode-false/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ querySerializer: { diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/default/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts index 5b0ee1f09..c17d34648 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options(options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (option * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options: }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = }; export const getCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (op }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options?: }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Options }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (op }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts index b5a4f8b89..0dbe3ee5b 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData, PostFooResponse } from './types.gen'; import { postFooResponseTransformer } from './transformers.gen'; import { zPostFooResponse } from './zod.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ responseTransformer: postFooResponseTransformer, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/security-api-key/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/security-api-key/sdk.gen.ts index a8a750de0..e1399da15 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/security-api-key/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/security-api-key/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/security-false/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/security-false/sdk.gen.ts index 00e450bb3..63037a6c6 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/security-false/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/security-false/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/foo', diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/security-http-bearer/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/security-http-bearer/sdk.gen.ts index 62f611119..10dcbc308 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/security-http-bearer/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/security-http-bearer/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/3.0.x/security-oauth2/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.0.x/security-oauth2/sdk.gen.ts index 62f611119..10dcbc308 100644 --- a/packages/openapi-ts/test/__snapshots__/3.0.x/security-oauth2/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.0.x/security-oauth2/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/body-response-text-plain/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/body-response-text-plain/sdk.gen.ts index ab3dedfb1..6b90ac738 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/body-response-text-plain/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/body-response-text-plain/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData, PostFooResponse } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ bodySerializer: null, url: '/foo', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.cjs b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.cjs index 3e565f341..304be193c 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.cjs +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.cjs @@ -1,2 +1,2 @@ -'use strict';var D=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var D__default=/*#__PURE__*/_interopDefault(D);var A=async(t,e)=>{let r=typeof e=="function"?await e(t):e;if(r)return t.scheme==="bearer"?`Bearer ${r}`:t.scheme==="basic"?`Basic ${btoa(r)}`:r},z=(t,e,r)=>{typeof r=="string"||r instanceof Blob?t.append(e,r):t.append(e,JSON.stringify(r));},w=(t,e,r)=>{typeof r=="string"?t.append(e,r):t.append(e,JSON.stringify(r));},j={bodySerializer:t=>{let e=new FormData;return Object.entries(t).forEach(([r,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>z(e,r,a)):z(e,r,i));}),e}},q={bodySerializer:t=>JSON.stringify(t)},P={bodySerializer:t=>{let e=new URLSearchParams;return Object.entries(t).forEach(([r,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>w(e,r,a)):w(e,r,i));}),e}},v=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},$=t=>{switch(t){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},k=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},h=({allowReserved:t,explode:e,name:r,style:i,value:a})=>{if(!e){let n=(t?a:a.map(o=>encodeURIComponent(o))).join($(i));switch(i){case "label":return `.${n}`;case "matrix":return `;${r}=${n}`;case "simple":return n;default:return `${r}=${n}`}}let s=v(i),l=a.map(n=>i==="label"||i==="simple"?t?n:encodeURIComponent(n):f({allowReserved:t,name:r,value:n})).join(s);return i==="label"||i==="matrix"?s+l:l},f=({allowReserved:t,name:e,value:r})=>{if(r==null)return "";if(typeof r=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${e}=${t?r:encodeURIComponent(r)}`},g=({allowReserved:t,explode:e,name:r,style:i,value:a})=>{if(a instanceof Date)return `${r}=${a.toISOString()}`;if(i!=="deepObject"&&!e){let n=[];Object.entries(a).forEach(([u,d])=>{n=[...n,u,t?d:encodeURIComponent(d)];});let o=n.join(",");switch(i){case "form":return `${r}=${o}`;case "label":return `.${o}`;case "matrix":return `;${r}=${o}`;default:return o}}let s=k(i),l=Object.entries(a).map(([n,o])=>f({allowReserved:t,name:i==="deepObject"?`${r}[${n}]`:n,value:o})).join(s);return i==="label"||i==="matrix"?s+l:l};var E=/\{[^{}]+\}/g,T=({path:t,url:e})=>{let r=e,i=e.match(E);if(i)for(let a of i){let s=false,l=a.substring(1,a.length-1),n="simple";l.endsWith("*")&&(s=true,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),n="label"):l.startsWith(";")&&(l=l.substring(1),n="matrix");let o=t[l];if(o==null)continue;if(Array.isArray(o)){r=r.replace(a,h({explode:s,name:l,style:n,value:o}));continue}if(typeof o=="object"){r=r.replace(a,g({explode:s,name:l,style:n,value:o}));continue}if(n==="matrix"){r=r.replace(a,`;${f({name:l,value:o})}`);continue}let u=encodeURIComponent(n==="label"?`.${o}`:o);r=r.replace(a,u);}return r},U=({allowReserved:t,array:e,object:r}={})=>a=>{let s=[];if(a&&typeof a=="object")for(let l in a){let n=a[l];if(n!=null){if(Array.isArray(n)){s=[...s,h({allowReserved:t,explode:true,name:l,style:"form",value:n,...e})];continue}if(typeof n=="object"){s=[...s,g({allowReserved:t,explode:true,name:l,style:"deepObject",value:n,...r})];continue}s=[...s,f({allowReserved:t,name:l,value:n})];}}return s.join("&")},R=async({security:t,...e})=>{for(let r of t){let i=await A(r,e.auth);if(!i)continue;let a=r.name??"Authorization";switch(r.in){case "query":e.query||(e.query={}),e.query[a]=i;break;case "header":default:e.headers[a]=i;break}return}},b=t=>H({path:t.path,query:t.paramsSerializer?undefined:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:U(t.querySerializer),url:t.url}),H=({path:t,query:e,querySerializer:r,url:i})=>{let s=i.startsWith("/")?i:`/${i}`;t&&(s=T({path:t,url:s}));let l=e?r(e):"";return l.startsWith("?")&&(l=l.substring(1)),l&&(s+=`?${l}`),s},S=(t,e)=>{let r={...t,...e};return r.headers=y(t.headers,e.headers),r},B=["common","delete","get","head","patch","post","put"],y=(...t)=>{let e={};for(let r of t){if(!r||typeof r!="object")continue;let i=Object.entries(r);for(let[a,s]of i)if(B.includes(a)&&typeof s=="object")e[a]={...e[a],...s};else if(s===null)delete e[a];else if(Array.isArray(s))for(let l of s)e[a]=[...e[a]??[],l];else s!==undefined&&(e[a]=typeof s=="object"?JSON.stringify(s):s);}return e},x=(t={})=>({baseURL:"",...t});var I=(t={})=>{let e=S(x(),t),{auth:r,...i}=e,a=D__default.default.create(i),s=()=>({...e}),l=o=>(e=S(e,o),a.defaults={...a.defaults,...e,headers:y(a.defaults.headers,e.headers)},s()),n=async o=>{let u={...e,...o,axios:o.axios??e.axios??a,headers:y(e.headers,o.headers)};u.security&&await R({...u,security:u.security}),u.body&&u.bodySerializer&&(u.body=u.bodySerializer(u.body));let d=b(u);try{let m=u.axios,{auth:c,...O}=u,C=await m({...O,data:u.body,headers:u.headers,params:u.paramsSerializer?u.query:void 0,url:d}),{data:p}=C;return u.responseType==="json"&&(u.responseValidator&&await u.responseValidator(p),u.responseTransformer&&(p=await u.responseTransformer(p))),{...C,data:p??{}}}catch(m){let c=m;if(u.throwOnError)throw c;return c.error=c.response?.data??{},c}};return {buildUrl:b,delete:o=>n({...o,method:"DELETE"}),get:o=>n({...o,method:"GET"}),getConfig:s,head:o=>n({...o,method:"HEAD"}),instance:a,options:o=>n({...o,method:"OPTIONS"}),patch:o=>n({...o,method:"PATCH"}),post:o=>n({...o,method:"POST"}),put:o=>n({...o,method:"PUT"}),request:n,setConfig:l}};exports.createClient=I;exports.createConfig=x;exports.formDataBodySerializer=j;exports.jsonBodySerializer=q;exports.urlSearchParamsBodySerializer=P;//# sourceMappingURL=index.cjs.map +'use strict';var B=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var B__default=/*#__PURE__*/_interopDefault(B);var A=async(t,e)=>{let r=typeof e=="function"?await e(t):e;if(r)return t.scheme==="bearer"?`Bearer ${r}`:t.scheme==="basic"?`Basic ${btoa(r)}`:r},z=(t,e,r)=>{typeof r=="string"||r instanceof Blob?t.append(e,r):t.append(e,JSON.stringify(r));},w=(t,e,r)=>{typeof r=="string"?t.append(e,r):t.append(e,JSON.stringify(r));},j={bodySerializer:t=>{let e=new FormData;return Object.entries(t).forEach(([r,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>z(e,r,a)):z(e,r,i));}),e}},q={bodySerializer:t=>JSON.stringify(t)},P={bodySerializer:t=>{let e=new URLSearchParams;return Object.entries(t).forEach(([r,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>w(e,r,a)):w(e,r,i));}),e}},v=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},$=t=>{switch(t){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},k=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},h=({allowReserved:t,explode:e,name:r,style:i,value:a})=>{if(!e){let n=(t?a:a.map(o=>encodeURIComponent(o))).join($(i));switch(i){case "label":return `.${n}`;case "matrix":return `;${r}=${n}`;case "simple":return n;default:return `${r}=${n}`}}let s=v(i),l=a.map(n=>i==="label"||i==="simple"?t?n:encodeURIComponent(n):f({allowReserved:t,name:r,value:n})).join(s);return i==="label"||i==="matrix"?s+l:l},f=({allowReserved:t,name:e,value:r})=>{if(r==null)return "";if(typeof r=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${e}=${t?r:encodeURIComponent(r)}`},g=({allowReserved:t,explode:e,name:r,style:i,value:a})=>{if(a instanceof Date)return `${r}=${a.toISOString()}`;if(i!=="deepObject"&&!e){let n=[];Object.entries(a).forEach(([u,d])=>{n=[...n,u,t?d:encodeURIComponent(d)];});let o=n.join(",");switch(i){case "form":return `${r}=${o}`;case "label":return `.${o}`;case "matrix":return `;${r}=${o}`;default:return o}}let s=k(i),l=Object.entries(a).map(([n,o])=>f({allowReserved:t,name:i==="deepObject"?`${r}[${n}]`:n,value:o})).join(s);return i==="label"||i==="matrix"?s+l:l};var E=/\{[^{}]+\}/g,T=({path:t,url:e})=>{let r=e,i=e.match(E);if(i)for(let a of i){let s=false,l=a.substring(1,a.length-1),n="simple";l.endsWith("*")&&(s=true,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),n="label"):l.startsWith(";")&&(l=l.substring(1),n="matrix");let o=t[l];if(o==null)continue;if(Array.isArray(o)){r=r.replace(a,h({explode:s,name:l,style:n,value:o}));continue}if(typeof o=="object"){r=r.replace(a,g({explode:s,name:l,style:n,value:o}));continue}if(n==="matrix"){r=r.replace(a,`;${f({name:l,value:o})}`);continue}let u=encodeURIComponent(n==="label"?`.${o}`:o);r=r.replace(a,u);}return r},U=({allowReserved:t,array:e,object:r}={})=>a=>{let s=[];if(a&&typeof a=="object")for(let l in a){let n=a[l];if(n!=null){if(Array.isArray(n)){s=[...s,h({allowReserved:t,explode:true,name:l,style:"form",value:n,...e})];continue}if(typeof n=="object"){s=[...s,g({allowReserved:t,explode:true,name:l,style:"deepObject",value:n,...r})];continue}s=[...s,f({allowReserved:t,name:l,value:n})];}}return s.join("&")},R=async({security:t,...e})=>{for(let r of t){let i=await A(r,e.auth);if(!i)continue;let a=r.name??"Authorization";switch(r.in){case "query":e.query||(e.query={}),e.query[a]=i;break;case "header":default:e.headers[a]=i;break}return}},b=t=>D({path:t.path,query:t.paramsSerializer?undefined:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:U(t.querySerializer),url:t.url}),D=({path:t,query:e,querySerializer:r,url:i})=>{let s=i.startsWith("/")?i:`/${i}`;t&&(s=T({path:t,url:s}));let l=e?r(e):"";return l.startsWith("?")&&(l=l.substring(1)),l&&(s+=`?${l}`),s},S=(t,e)=>{let r={...t,...e};return r.headers=y(t.headers,e.headers),r},H=["common","delete","get","head","patch","post","put"],y=(...t)=>{let e={};for(let r of t){if(!r||typeof r!="object")continue;let i=Object.entries(r);for(let[a,s]of i)if(H.includes(a)&&typeof s=="object")e[a]={...e[a],...s};else if(s===null)delete e[a];else if(Array.isArray(s))for(let l of s)e[a]=[...e[a]??[],l];else s!==undefined&&(e[a]=typeof s=="object"?JSON.stringify(s):s);}return e},x=(t={})=>({baseURL:"",...t});var I=(t={})=>{let e=S(x(),t),{auth:r,...i}=e,a=B__default.default.create(i),s=()=>({...e}),l=o=>(e=S(e,o),a.defaults={...a.defaults,...e,headers:y(a.defaults.headers,e.headers)},s()),n=async o=>{let u={...e,...o,axios:o.axios??e.axios??a,headers:y(e.headers,o.headers)};u.security&&await R({...u,security:u.security}),u.body&&u.bodySerializer&&(u.body=u.bodySerializer(u.body));let d=b(u);try{let m=u.axios,{auth:c,...O}=u,C=await m({...O,data:u.body,headers:u.headers,params:u.paramsSerializer?u.query:void 0,url:d}),{data:p}=C;return u.responseType==="json"&&(u.responseValidator&&await u.responseValidator(p),u.responseTransformer&&(p=await u.responseTransformer(p))),{...C,data:p??{}}}catch(m){let c=m;if(u.throwOnError)throw c;return c.error=c.response?.data??{},c}};return {buildUrl:b,delete:o=>n({...o,method:"DELETE"}),get:o=>n({...o,method:"GET"}),getConfig:s,head:o=>n({...o,method:"HEAD"}),instance:a,options:o=>n({...o,method:"OPTIONS"}),patch:o=>n({...o,method:"PATCH"}),post:o=>n({...o,method:"POST"}),put:o=>n({...o,method:"PUT"}),request:n,setConfig:l}};exports.createClient=I;exports.createConfig=x;exports.formDataBodySerializer=j;exports.jsonBodySerializer=q;exports.urlSearchParamsBodySerializer=P;//# sourceMappingURL=index.cjs.map //# sourceMappingURL=index.cjs.map \ No newline at end of file diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.cts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.cts index 212cc3434..6b57c4737 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.cts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.cts @@ -129,12 +129,6 @@ interface RequestOptions; query?: Record; /** @@ -169,7 +163,7 @@ type Client = Client$1 & { * to ensure your client always has the correct values. */ type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -177,7 +171,7 @@ interface DataShape { url: string; } type OmitKeys = Pick>; -type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; +type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; type OptionsLegacyParser = TData extends { body?: any; } ? TData extends { @@ -190,4 +184,4 @@ declare const createClient: (config?: Config) => Client; declare const createConfig: CreateClientConfig; -export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; +export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, type TDataShape, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.ts index 212cc3434..6b57c4737 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/client/index.d.ts @@ -129,12 +129,6 @@ interface RequestOptions; query?: Record; /** @@ -169,7 +163,7 @@ type Client = Client$1 & { * to ensure your client always has the correct values. */ type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -177,7 +171,7 @@ interface DataShape { url: string; } type OmitKeys = Pick>; -type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; +type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; type OptionsLegacyParser = TData extends { body?: any; } ? TData extends { @@ -190,4 +184,4 @@ declare const createClient: (config?: Config) => Client; declare const createConfig: CreateClientConfig; -export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; +export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, type TDataShape, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/sdk.gen.ts index d6c18720a..7394f8a2e 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/bundle/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.cjs b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.cjs index a940d15a5..e823f6351 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.cjs +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.cjs @@ -1,2 +1,2 @@ -'use strict';var A=async(t,r)=>{let e=typeof r=="function"?await r(t):r;if(e)return t.scheme==="bearer"?`Bearer ${e}`:t.scheme==="basic"?`Basic ${btoa(e)}`:e},j=(t,r,e)=>{typeof e=="string"||e instanceof Blob?t.append(r,e):t.append(r,JSON.stringify(e));},z=(t,r,e)=>{typeof e=="string"?t.append(r,e):t.append(r,JSON.stringify(e));},U={bodySerializer:t=>{let r=new FormData;return Object.entries(t).forEach(([e,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>j(r,e,a)):j(r,e,i));}),r}},b={bodySerializer:t=>JSON.stringify(t)},k={bodySerializer:t=>{let r=new URLSearchParams;return Object.entries(t).forEach(([e,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>z(r,e,a)):z(r,e,i));}),r}},T=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},_=t=>{switch(t){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},D=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},q=({allowReserved:t,explode:r,name:e,style:i,value:a})=>{if(!r){let s=(t?a:a.map(l=>encodeURIComponent(l))).join(_(i));switch(i){case "label":return `.${s}`;case "matrix":return `;${e}=${s}`;case "simple":return s;default:return `${e}=${s}`}}let o=T(i),n=a.map(s=>i==="label"||i==="simple"?t?s:encodeURIComponent(s):y({allowReserved:t,name:e,value:s})).join(o);return i==="label"||i==="matrix"?o+n:n},y=({allowReserved:t,name:r,value:e})=>{if(e==null)return "";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${t?e:encodeURIComponent(e)}`},O=({allowReserved:t,explode:r,name:e,style:i,value:a})=>{if(a instanceof Date)return `${e}=${a.toISOString()}`;if(i!=="deepObject"&&!r){let s=[];Object.entries(a).forEach(([f,u])=>{s=[...s,f,t?u:encodeURIComponent(u)];});let l=s.join(",");switch(i){case "form":return `${e}=${l}`;case "label":return `.${l}`;case "matrix":return `;${e}=${l}`;default:return l}}let o=D(i),n=Object.entries(a).map(([s,l])=>y({allowReserved:t,name:i==="deepObject"?`${e}[${s}]`:s,value:l})).join(o);return i==="label"||i==="matrix"?o+n:n};var H=/\{[^{}]+\}/g,B=({path:t,url:r})=>{let e=r,i=r.match(H);if(i)for(let a of i){let o=false,n=a.substring(1,a.length-1),s="simple";n.endsWith("*")&&(o=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),s="label"):n.startsWith(";")&&(n=n.substring(1),s="matrix");let l=t[n];if(l==null)continue;if(Array.isArray(l)){e=e.replace(a,q({explode:o,name:n,style:s,value:l}));continue}if(typeof l=="object"){e=e.replace(a,O({explode:o,name:n,style:s,value:l}));continue}if(s==="matrix"){e=e.replace(a,`;${y({name:n,value:l})}`);continue}let f=encodeURIComponent(s==="label"?`.${l}`:l);e=e.replace(a,f);}return e},E=({allowReserved:t,array:r,object:e}={})=>a=>{let o=[];if(a&&typeof a=="object")for(let n in a){let s=a[n];if(s!=null){if(Array.isArray(s)){o=[...o,q({allowReserved:t,explode:true,name:n,style:"form",value:s,...r})];continue}if(typeof s=="object"){o=[...o,O({allowReserved:t,explode:true,name:n,style:"deepObject",value:s,...e})];continue}o=[...o,y({allowReserved:t,name:n,value:s})];}}return o.join("&")},P=t=>{if(!t)return "stream";let r=t.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(e=>r.startsWith(e)))return "blob";if(r.startsWith("text/"))return "text"}},I=async({security:t,...r})=>{for(let e of t){let i=await A(e,r.auth);if(!i)continue;let a=e.name??"Authorization";switch(e.in){case "query":r.query||(r.query={}),r.query[a]=i;break;case "header":default:r.headers.set(a,i);break}return}},S=t=>W({baseUrl:t.baseUrl??"",path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:E(t.querySerializer),url:t.url}),W=({baseUrl:t,path:r,query:e,querySerializer:i,url:a})=>{let o=a.startsWith("/")?a:`/${a}`,n=t+o;r&&(n=B({path:r,url:n}));let s=e?i(e):"";return s.startsWith("?")&&(s=s.substring(1)),s&&(n+=`?${s}`),n},C=(t,r)=>{let e={...t,...r};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=x(t.headers,r.headers),e},x=(...t)=>{let r=new Headers;for(let e of t){if(!e||typeof e!="object")continue;let i=e instanceof Headers?e.entries():Object.entries(e);for(let[a,o]of i)if(o===null)r.delete(a);else if(Array.isArray(o))for(let n of o)r.append(a,n);else o!==undefined&&r.set(a,typeof o=="object"?JSON.stringify(o):o);}return r},h=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}exists(r){return this._fns.indexOf(r)!==-1}eject(r){let e=this._fns.indexOf(r);e!==-1&&(this._fns=[...this._fns.slice(0,e),...this._fns.slice(e+1)]);}use(r){this._fns=[...this._fns,r];}},v=()=>({error:new h,request:new h,response:new h}),N=E({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Q={"Content-Type":"application/json"},w=(t={})=>({...b,baseUrl:"",headers:Q,parseAs:"auto",querySerializer:N,...t});var J=(t={})=>{let r=C(w(),t),e=()=>({...r}),i=n=>(r=C(r,n),e()),a=v(),o=async n=>{let s={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:x(r.headers,n.headers)};s.security&&await I({...s,security:s.security}),s.body&&s.bodySerializer&&(s.body=s.bodySerializer(s.body)),s.body||s.headers.delete("Content-Type");let l=S(s),f={redirect:"follow",...s},u=new Request(l,f);for(let p of a.request._fns)u=await p(u,s);let $=s.fetch,c=await $(u);for(let p of a.response._fns)c=await p(c,u,s);let m={request:u,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return {data:{},...m};let p=(s.parseAs==="auto"?P(c.headers.get("Content-Type")):s.parseAs)??"json";if(p==="stream")return {data:c.body,...m};let R=await c[p]();return p==="json"&&(s.responseValidator&&await s.responseValidator(R),s.responseTransformer&&(R=await s.responseTransformer(R))),{data:R,...m}}let g=await c.text();try{g=JSON.parse(g);}catch{}let d=g;for(let p of a.error._fns)d=await p(g,c,u,s);if(d=d||{},s.throwOnError)throw d;return {error:d,...m}};return {buildUrl:S,connect:n=>o({...n,method:"CONNECT"}),delete:n=>o({...n,method:"DELETE"}),get:n=>o({...n,method:"GET"}),getConfig:e,head:n=>o({...n,method:"HEAD"}),interceptors:a,options:n=>o({...n,method:"OPTIONS"}),patch:n=>o({...n,method:"PATCH"}),post:n=>o({...n,method:"POST"}),put:n=>o({...n,method:"PUT"}),request:o,setConfig:i,trace:n=>o({...n,method:"TRACE"})}};exports.createClient=J;exports.createConfig=w;exports.formDataBodySerializer=U;exports.jsonBodySerializer=b;exports.urlSearchParamsBodySerializer=k;//# sourceMappingURL=index.cjs.map +'use strict';var A=async(t,r)=>{let e=typeof r=="function"?await r(t):r;if(e)return t.scheme==="bearer"?`Bearer ${e}`:t.scheme==="basic"?`Basic ${btoa(e)}`:e},j=(t,r,e)=>{typeof e=="string"||e instanceof Blob?t.append(r,e):t.append(r,JSON.stringify(e));},z=(t,r,e)=>{typeof e=="string"?t.append(r,e):t.append(r,JSON.stringify(e));},T={bodySerializer:t=>{let r=new FormData;return Object.entries(t).forEach(([e,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>j(r,e,a)):j(r,e,i));}),r}},b={bodySerializer:t=>JSON.stringify(t)},U={bodySerializer:t=>{let r=new URLSearchParams;return Object.entries(t).forEach(([e,i])=>{i!=null&&(Array.isArray(i)?i.forEach(a=>z(r,e,a)):z(r,e,i));}),r}},k=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},_=t=>{switch(t){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},D=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},q=({allowReserved:t,explode:r,name:e,style:i,value:a})=>{if(!r){let s=(t?a:a.map(l=>encodeURIComponent(l))).join(_(i));switch(i){case "label":return `.${s}`;case "matrix":return `;${e}=${s}`;case "simple":return s;default:return `${e}=${s}`}}let o=k(i),n=a.map(s=>i==="label"||i==="simple"?t?s:encodeURIComponent(s):y({allowReserved:t,name:e,value:s})).join(o);return i==="label"||i==="matrix"?o+n:n},y=({allowReserved:t,name:r,value:e})=>{if(e==null)return "";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${t?e:encodeURIComponent(e)}`},S=({allowReserved:t,explode:r,name:e,style:i,value:a})=>{if(a instanceof Date)return `${e}=${a.toISOString()}`;if(i!=="deepObject"&&!r){let s=[];Object.entries(a).forEach(([f,u])=>{s=[...s,f,t?u:encodeURIComponent(u)];});let l=s.join(",");switch(i){case "form":return `${e}=${l}`;case "label":return `.${l}`;case "matrix":return `;${e}=${l}`;default:return l}}let o=D(i),n=Object.entries(a).map(([s,l])=>y({allowReserved:t,name:i==="deepObject"?`${e}[${s}]`:s,value:l})).join(o);return i==="label"||i==="matrix"?o+n:n};var H=/\{[^{}]+\}/g,B=({path:t,url:r})=>{let e=r,i=r.match(H);if(i)for(let a of i){let o=false,n=a.substring(1,a.length-1),s="simple";n.endsWith("*")&&(o=true,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),s="label"):n.startsWith(";")&&(n=n.substring(1),s="matrix");let l=t[n];if(l==null)continue;if(Array.isArray(l)){e=e.replace(a,q({explode:o,name:n,style:s,value:l}));continue}if(typeof l=="object"){e=e.replace(a,S({explode:o,name:n,style:s,value:l}));continue}if(s==="matrix"){e=e.replace(a,`;${y({name:n,value:l})}`);continue}let f=encodeURIComponent(s==="label"?`.${l}`:l);e=e.replace(a,f);}return e},E=({allowReserved:t,array:r,object:e}={})=>a=>{let o=[];if(a&&typeof a=="object")for(let n in a){let s=a[n];if(s!=null){if(Array.isArray(s)){o=[...o,q({allowReserved:t,explode:true,name:n,style:"form",value:s,...r})];continue}if(typeof s=="object"){o=[...o,S({allowReserved:t,explode:true,name:n,style:"deepObject",value:s,...e})];continue}o=[...o,y({allowReserved:t,name:n,value:s})];}}return o.join("&")},P=t=>{if(!t)return "stream";let r=t.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(e=>r.startsWith(e)))return "blob";if(r.startsWith("text/"))return "text"}},I=async({security:t,...r})=>{for(let e of t){let i=await A(e,r.auth);if(!i)continue;let a=e.name??"Authorization";switch(e.in){case "query":r.query||(r.query={}),r.query[a]=i;break;case "header":default:r.headers.set(a,i);break}return}},O=t=>W({baseUrl:t.baseUrl??"",path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:E(t.querySerializer),url:t.url}),W=({baseUrl:t,path:r,query:e,querySerializer:i,url:a})=>{let o=a.startsWith("/")?a:`/${a}`,n=t+o;r&&(n=B({path:r,url:n}));let s=e?i(e):"";return s.startsWith("?")&&(s=s.substring(1)),s&&(n+=`?${s}`),n},C=(t,r)=>{let e={...t,...r};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=x(t.headers,r.headers),e},x=(...t)=>{let r=new Headers;for(let e of t){if(!e||typeof e!="object")continue;let i=e instanceof Headers?e.entries():Object.entries(e);for(let[a,o]of i)if(o===null)r.delete(a);else if(Array.isArray(o))for(let n of o)r.append(a,n);else o!==undefined&&r.set(a,typeof o=="object"?JSON.stringify(o):o);}return r},h=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}exists(r){return this._fns.indexOf(r)!==-1}eject(r){let e=this._fns.indexOf(r);e!==-1&&(this._fns=[...this._fns.slice(0,e),...this._fns.slice(e+1)]);}use(r){this._fns=[...this._fns,r];}},v=()=>({error:new h,request:new h,response:new h}),N=E({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),Q={"Content-Type":"application/json"},w=(t={})=>({...b,baseUrl:"",headers:Q,parseAs:"auto",querySerializer:N,...t});var J=(t={})=>{let r=C(w(),t),e=()=>({...r}),i=n=>(r=C(r,n),e()),a=v(),o=async n=>{let s={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:x(r.headers,n.headers)};s.security&&await I({...s,security:s.security}),s.body&&s.bodySerializer&&(s.body=s.bodySerializer(s.body)),s.body||s.headers.delete("Content-Type");let l=O(s),f={redirect:"follow",...s},u=new Request(l,f);for(let p of a.request._fns)u=await p(u,s);let $=s.fetch,c=await $(u);for(let p of a.response._fns)c=await p(c,u,s);let m={request:u,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return {data:{},...m};let p=(s.parseAs==="auto"?P(c.headers.get("Content-Type")):s.parseAs)??"json";if(p==="stream")return {data:c.body,...m};let R=await c[p]();return p==="json"&&(s.responseValidator&&await s.responseValidator(R),s.responseTransformer&&(R=await s.responseTransformer(R))),{data:R,...m}}let g=await c.text();try{g=JSON.parse(g);}catch{}let d=g;for(let p of a.error._fns)d=await p(g,c,u,s);if(d=d||{},s.throwOnError)throw d;return {error:d,...m}};return {buildUrl:O,connect:n=>o({...n,method:"CONNECT"}),delete:n=>o({...n,method:"DELETE"}),get:n=>o({...n,method:"GET"}),getConfig:e,head:n=>o({...n,method:"HEAD"}),interceptors:a,options:n=>o({...n,method:"OPTIONS"}),patch:n=>o({...n,method:"PATCH"}),post:n=>o({...n,method:"POST"}),put:n=>o({...n,method:"PUT"}),request:o,setConfig:i,trace:n=>o({...n,method:"TRACE"})}};exports.createClient=J;exports.createConfig=w;exports.formDataBodySerializer=T;exports.jsonBodySerializer=b;exports.urlSearchParamsBodySerializer=U;//# sourceMappingURL=index.cjs.map //# sourceMappingURL=index.cjs.map \ No newline at end of file diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.cts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.cts index 737ddd824..736ce4943 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.cts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.cts @@ -153,12 +153,6 @@ interface RequestOptions | Array> | Array | number; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; path?: Record; query?: Record; /** @@ -201,7 +195,7 @@ type Client = Client$1 & { * to ensure your client always has the correct values. */ type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -209,7 +203,7 @@ interface DataShape { url: string; } type OmitKeys = Pick>; -type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; +type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; type OptionsLegacyParser = TData extends { body?: any; } ? TData extends { @@ -220,4 +214,4 @@ type OptionsLegacyParser Client; -export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; +export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, type TDataShape, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.ts index 737ddd824..736ce4943 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/client/index.d.ts @@ -153,12 +153,6 @@ interface RequestOptions | Array> | Array | number; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; path?: Record; query?: Record; /** @@ -201,7 +195,7 @@ type Client = Client$1 & { * to ensure your client always has the correct values. */ type CreateClientConfig = (override?: Config) => Config; -interface DataShape { +interface TDataShape { body?: unknown; headers?: unknown; path?: unknown; @@ -209,7 +203,7 @@ interface DataShape { url: string; } type OmitKeys = Pick>; -type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; +type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & Omit; type OptionsLegacyParser = TData extends { body?: any; } ? TData extends { @@ -220,4 +214,4 @@ type OptionsLegacyParser Client; -export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; +export { type Auth, type Client, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, type TDataShape, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/sdk.gen.ts index 15abebec0..bc29112b6 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/bundle/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/default/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/default/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/default/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/default/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.cts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.cts index 9faa29031..ba8d6d6bb 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.cts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.cts @@ -132,12 +132,6 @@ interface RequestOptions['query']; }> { asyncDataOptions?: AsyncDataOptions; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; composable: TComposable; key?: string; /** @@ -158,18 +152,18 @@ type RequestFn = Config; -interface DataShape { +interface TDataShape { body?: unknown; headers?: unknown; path?: FetchOptions['query']; query?: FetchOptions['query']; url: string; } -type BuildUrlOptions = Omit> = Pick, 'path' | 'query'> & Pick & Pick, 'baseURL' | 'querySerializer'>; -type BuildUrlFn = >(options: BuildUrlOptions) => string; +type BuildUrlOptions = Omit> = Pick, 'path' | 'query'> & Pick & Pick, 'baseURL' | 'querySerializer'>; +type BuildUrlFn = >(options: BuildUrlOptions) => string; type Client = Client$1; type OmitKeys = Pick>; -type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & WithRefs>; +type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & WithRefs>; type OptionsLegacyParser = TData extends { body?: any; } ? TData extends { @@ -184,4 +178,4 @@ declare const createClient: (config?: Config) => Client; declare const createConfig: CreateClientConfig; -export { type Auth, type Client, type Composable, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; +export { type Auth, type Client, type Composable, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, type TDataShape, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.ts index 9faa29031..ba8d6d6bb 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/client/index.d.ts @@ -132,12 +132,6 @@ interface RequestOptions['query']; }> { asyncDataOptions?: AsyncDataOptions; - /** - * You can provide a client instance returned by `createClient()` instead of - * individual options. This might be also useful if you want to implement a - * custom client. - */ - client?: Client; composable: TComposable; key?: string; /** @@ -158,18 +152,18 @@ type RequestFn = Config; -interface DataShape { +interface TDataShape { body?: unknown; headers?: unknown; path?: FetchOptions['query']; query?: FetchOptions['query']; url: string; } -type BuildUrlOptions = Omit> = Pick, 'path' | 'query'> & Pick & Pick, 'baseURL' | 'querySerializer'>; -type BuildUrlFn = >(options: BuildUrlOptions) => string; +type BuildUrlOptions = Omit> = Pick, 'path' | 'query'> & Pick & Pick, 'baseURL' | 'querySerializer'>; +type BuildUrlFn = >(options: BuildUrlOptions) => string; type Client = Client$1; type OmitKeys = Pick>; -type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & WithRefs>; +type Options = OmitKeys, 'body' | 'path' | 'query' | 'url'> & WithRefs>; type OptionsLegacyParser = TData extends { body?: any; } ? TData extends { @@ -184,4 +178,4 @@ declare const createClient: (config?: Config) => Client; declare const createConfig: CreateClientConfig; -export { type Auth, type Client, type Composable, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; +export { type Auth, type Client, type Composable, type Config, type CreateClientConfig, type Options, type OptionsLegacyParser, type QuerySerializerOptions, type RequestOptions, type RequestResult, type TDataShape, createClient, createConfig, formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer }; diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/sdk.gen.ts index 10c3251a4..0463f5a9f 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/bundle/sdk.gen.ts @@ -1,18 +1,27 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, type Composable, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; +import { type Options as ClientOptions, type Composable, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', ...options }); }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -23,77 +32,77 @@ export const import_ = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple/$count', ...options }); }; export const getApiVbyApiVersionSimpleOperation = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); }; export const deleteCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/simple', ...options }); }; export const getCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple', ...options }); }; export const headCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).head({ + return (options.client ?? _heyApiClient).head({ url: '/api/v{api-version}/simple', ...options }); }; export const optionsCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).options({ + return (options.client ?? _heyApiClient).options({ url: '/api/v{api-version}/simple', ...options }); }; export const patchCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).patch({ + return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/simple', ...options }); }; export const postCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/simple', ...options }); }; export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/simple', ...options }); }; export const deleteFoo = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; export const callWithDescriptions = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/descriptions', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (options: Op * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options: Opti }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (opti }; export const getCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (options }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -154,7 +163,7 @@ export const postCallWithOptionalParam = (option }; export const postApiVbyApiVersionRequestBody = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/requestBody', ...options, headers: { @@ -165,7 +174,7 @@ export const postApiVbyApiVersionRequestBody = ( }; export const postApiVbyApiVersionFormData = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', ...options, @@ -177,119 +186,119 @@ export const postApiVbyApiVersionFormData = (opt }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); }; export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/defaults', ...options }); }; export const callToTestOrderOfParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); }; export const duplicateName = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/duplicate', ...options }); }; export const duplicateName2 = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/duplicate', ...options }); }; export const duplicateName3 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/duplicate', ...options }); }; export const duplicateName4 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/duplicate', ...options }); }; export const callWithNoContentResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-content', ...options }); }; export const callWithResponseAndNoContentResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; export const dummyA = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; export const dummyB = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; export const callWithResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/response', ...options }); }; export const callWithDuplicateResponses = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/response', ...options }); }; export const callWithResponses = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/response', ...options }); }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,28 +310,28 @@ export const uploadFile = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); }; export const multipartResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multipart', ...options }); }; export const multipartRequest = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', ...options, @@ -334,7 +343,7 @@ export const multipartRequest = (options: Option }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -345,21 +354,21 @@ export const complexParams = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/header', ...options }); }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts index c3ce27f4d..2a041a83c 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts @@ -1,18 +1,27 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, type Composable, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-nuxt'; +import { type Options as ClientOptions, type Composable, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-nuxt'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', ...options }); }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -23,77 +32,77 @@ export const import_ = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple/$count', ...options }); }; export const getApiVbyApiVersionSimpleOperation = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); }; export const deleteCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/simple', ...options }); }; export const getCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple', ...options }); }; export const headCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).head({ + return (options.client ?? _heyApiClient).head({ url: '/api/v{api-version}/simple', ...options }); }; export const optionsCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).options({ + return (options.client ?? _heyApiClient).options({ url: '/api/v{api-version}/simple', ...options }); }; export const patchCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).patch({ + return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/simple', ...options }); }; export const postCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/simple', ...options }); }; export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/simple', ...options }); }; export const deleteFoo = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; export const callWithDescriptions = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/descriptions', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (options: Op * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options: Opti }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (opti }; export const getCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (options }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -154,7 +163,7 @@ export const postCallWithOptionalParam = (option }; export const postApiVbyApiVersionRequestBody = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/requestBody', ...options, headers: { @@ -165,7 +174,7 @@ export const postApiVbyApiVersionRequestBody = ( }; export const postApiVbyApiVersionFormData = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', ...options, @@ -177,119 +186,119 @@ export const postApiVbyApiVersionFormData = (opt }; export const callWithDefaultParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); }; export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/defaults', ...options }); }; export const callToTestOrderOfParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); }; export const duplicateName = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/duplicate', ...options }); }; export const duplicateName2 = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/duplicate', ...options }); }; export const duplicateName3 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/duplicate', ...options }); }; export const duplicateName4 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/duplicate', ...options }); }; export const callWithNoContentResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-content', ...options }); }; export const callWithResponseAndNoContentResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; export const dummyA = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; export const dummyB = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; export const callWithResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/response', ...options }); }; export const callWithDuplicateResponses = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/response', ...options }); }; export const callWithResponses = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/response', ...options }); }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,28 +310,28 @@ export const uploadFile = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); }; export const multipartResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multipart', ...options }); }; export const multipartRequest = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', ...options, @@ -334,7 +343,7 @@ export const multipartRequest = (options: Option }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -345,21 +354,21 @@ export const complexParams = (options: Options(options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/header', ...options }); }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/internal-name-conflict/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/internal-name-conflict/sdk.gen.ts index c01487b8f..c57320f67 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/internal-name-conflict/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/internal-name-conflict/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { CreateData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const create = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ url: '/foo', diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/pagination-ref-any-of/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/pagination-ref-any-of/sdk.gen.ts index 91b3d3796..c066457cd 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/pagination-ref-any-of/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/pagination-ref-any-of/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/foo', ...options, headers: { diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false-axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false-axios/sdk.gen.ts index 6b8055fec..7d29fb9c2 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false-axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false-axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-axios'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-axios'; import type { PostFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ querySerializer: { diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false/sdk.gen.ts index d4b597a12..fea0353a1 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/parameter-explode-false/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ querySerializer: { diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/default/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/default/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/default/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/default/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts index 5b0ee1f09..c17d34648 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/throwOnError/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options(options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (option * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options: }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = }; export const getCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (op }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options?: }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Options }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (op }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts index b5a4f8b89..0dbe3ee5b 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format/sdk.gen.ts @@ -1,11 +1,20 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { PostFooData, PostFooResponse } from './types.gen'; import { postFooResponseTransformer } from './transformers.gen'; import { zPostFooResponse } from './zod.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const postFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).post({ responseTransformer: postFooResponseTransformer, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts index 7465f5a9a..8d586db0a 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/asClass/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export class DefaultService { public static export(options?: Options) { return (options?.client ?? _heyApiClient).get({ @@ -13,7 +22,7 @@ export class DefaultService { } public static import(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -24,7 +33,7 @@ export class DefaultService { } public static getApiVbyApiVersionSimpleOperation(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -93,14 +102,14 @@ export class SimpleService { export class ParametersService { public static deleteFoo(options: Options) { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); } public static callWithParameters(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -111,7 +120,7 @@ export class ParametersService { } public static callWithWeirdParameterNames(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -122,7 +131,7 @@ export class ParametersService { } public static getCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -133,7 +142,7 @@ export class ParametersService { } public static postCallWithOptionalParam(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -160,7 +169,7 @@ export class DeprecatedService { * @deprecated */ public static deprecatedCall(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); @@ -213,7 +222,7 @@ export class DefaultsService { } public static callToTestOrderOfParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -346,7 +355,7 @@ export class MultipleTags3Service { export class CollectionFormatService { public static collectionFormat(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); @@ -356,7 +365,7 @@ export class CollectionFormatService { export class TypesService { public static types(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); @@ -366,7 +375,7 @@ export class TypesService { export class UploadService { public static uploadFile(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -381,7 +390,7 @@ export class UploadService { export class FileResponseService { public static fileResponse(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); @@ -391,14 +400,14 @@ export class FileResponseService { export class ComplexService { public static complexTypes(options: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); } public static complexParams(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -444,7 +453,7 @@ export class HeaderService { export class ErrorService { public static testErrorCode(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); @@ -454,7 +463,7 @@ export class ErrorService { export class NonAsciiÆøåÆøÅöôêÊService { public static nonAsciiæøåÆøÅöôêÊ字符串(options: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -464,7 +473,7 @@ export class NonAsciiÆøåÆøÅöôêÊService { * Login User */ public static putWithFormUrlEncoded(options: Options) { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts index b41c08257..d5c8098e7 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-axios'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,7 +310,7 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ responseType: 'blob', url: '/api/v{api-version}/file/{id}', ...options @@ -309,7 +318,7 @@ export const fileResponse = (options: Opti }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -335,7 +344,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -353,14 +362,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -370,7 +379,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts index 3f72d1672..1d1a1a552 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/fetch/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type Options, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; +import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from '@hey-api/client-fetch'; import type { ExportData, ImportData, ImportResponse, ApiVVersionODataControllerCountData, ApiVVersionODataControllerCountResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseData, CallWithNoContentResponseResponse, CallWithResponseAndNoContentResponseData, CallWithResponseAndNoContentResponseResponse, DummyAData, DummyAResponse, DummyBData, DummyBResponse, CallWithResponseData, CallWithResponseResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesError, CallWithResponsesData, CallWithResponsesResponse, CallWithResponsesError, CollectionFormatData, TypesData, TypesResponse, UploadFileData, UploadFileResponse, FileResponseData, FileResponseResponse, ComplexTypesData, ComplexTypesResponse, MultipartResponseData, MultipartResponseResponse, MultipartRequestData, ComplexParamsData, ComplexParamsResponse, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Data, NonAsciiæøåÆøÅöôêÊ字符串Response, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const export_ = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-tag', @@ -12,7 +21,7 @@ export const export_ = (options?: Options< }; export const import_ = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no-tag', ...options, headers: { @@ -30,7 +39,7 @@ export const apiVVersionODataControllerCount = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); @@ -86,7 +95,7 @@ export const putCallWithoutParametersAndResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).delete({ + return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); @@ -103,14 +112,14 @@ export const callWithDescriptions = (optio * @deprecated */ export const deprecatedCall = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; export const callWithParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, headers: { @@ -121,7 +130,7 @@ export const callWithParameters = (options }; export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, headers: { @@ -132,7 +141,7 @@ export const callWithWeirdParameterNames = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -143,7 +152,7 @@ export const getCallWithOptionalParam = (o }; export const postCallWithOptionalParam = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, headers: { @@ -191,7 +200,7 @@ export const callWithDefaultOptionalParameters = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); @@ -275,21 +284,21 @@ export const callWithResponses = (options? }; export const collectionFormat = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; export const types = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; export const uploadFile = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', ...options, @@ -301,14 +310,14 @@ export const uploadFile = (options: Option }; export const fileResponse = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; export const complexTypes = (options: Options) => { - return (options?.client ?? _heyApiClient).get({ + return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); @@ -334,7 +343,7 @@ export const multipartRequest = (options?: }; export const complexParams = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, headers: { @@ -352,14 +361,14 @@ export const callWithResultFromHeader = (o }; export const testErrorCode = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).post({ + return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options }); @@ -369,7 +378,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { - return (options?.client ?? _heyApiClient).put({ + return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options, diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/security-api-key/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/security-api-key/sdk.gen.ts index a8a750de0..e1399da15 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/security-api-key/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/security-api-key/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/security-false/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/security-false/sdk.gen.ts index 00e450bb3..63037a6c6 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/security-false/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/security-false/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ url: '/foo', diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/security-http-bearer/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/security-http-bearer/sdk.gen.ts index 62f611119..10dcbc308 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/security-http-bearer/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/security-http-bearer/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/__snapshots__/3.1.x/security-oauth2/sdk.gen.ts b/packages/openapi-ts/test/__snapshots__/3.1.x/security-oauth2/sdk.gen.ts index 62f611119..10dcbc308 100644 --- a/packages/openapi-ts/test/__snapshots__/3.1.x/security-oauth2/sdk.gen.ts +++ b/packages/openapi-ts/test/__snapshots__/3.1.x/security-oauth2/sdk.gen.ts @@ -1,9 +1,18 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options } from '@hey-api/client-fetch'; +import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; import type { GetFooData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; +type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; +}; + export const getFoo = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ security: [ diff --git a/packages/openapi-ts/test/openapi-ts.config.ts b/packages/openapi-ts/test/openapi-ts.config.ts index abc44250d..328f6e712 100644 --- a/packages/openapi-ts/test/openapi-ts.config.ts +++ b/packages/openapi-ts/test/openapi-ts.config.ts @@ -27,7 +27,7 @@ export default defineConfig({ // @ts-ignore { // bundle: true, - // name: '@hey-api/client-fetch', + name: '@hey-api/client-fetch', }, // @ts-ignore { @@ -38,8 +38,9 @@ export default defineConfig({ { // asClass: true, // auth: false, + client: false, // include... - // name: '@hey-api/sdk', + name: '@hey-api/sdk', // operationId: false, // serviceNameBuilder: '^Parameters', // throwOnError: true,