diff --git a/.changeset/tanstack-skiptoken-support.md b/.changeset/tanstack-skiptoken-support.md new file mode 100644 index 0000000000..978e42f418 --- /dev/null +++ b/.changeset/tanstack-skiptoken-support.md @@ -0,0 +1,7 @@ +--- +"@hey-api/openapi-ts": minor +--- + +**plugin(@tanstack/query)**: feat: add `skipToken` support to `queryOptions`, `infiniteQueryOptions`, and the generated `*QueryKey` helpers + +Generated `*Options` factories and exported `*QueryKey` helpers now accept `Options | typeof skipToken`. When `skipToken` is passed, `queryFn` short-circuits to `skipToken` (disabling the query per TanStack Query's conventions) and `queryKey` is built from the unwrapped value via a shared `unwrapSkipToken` helper. Existing call sites passing `Options` continue to work unchanged. diff --git a/examples/openapi-ts-tanstack-angular-query-experimental/src/client/@tanstack/angular-query-experimental.gen.ts b/examples/openapi-ts-tanstack-angular-query-experimental/src/client/@tanstack/angular-query-experimental.gen.ts index 084e544878..145e55c5e1 100644 --- a/examples/openapi-ts-tanstack-angular-query-experimental/src/client/@tanstack/angular-query-experimental.gen.ts +++ b/examples/openapi-ts-tanstack-angular-query-experimental/src/client/@tanstack/angular-query-experimental.gen.ts @@ -4,6 +4,7 @@ import { type DefaultError, type MutationOptions, queryOptions, + skipToken, } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; @@ -150,59 +151,75 @@ const createQueryKey = ( return [params]; }; -export const findPetsByStatusQueryKey = (options: Options) => - createQueryKey('findPetsByStatus', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => + options !== skipToken ? options : undefined; + +export const findPetsByStatusQueryKey = ( + options: Options | typeof skipToken, +) => createQueryKey('findPetsByStatus', unwrapSkipToken(options)); /** * Finds Pets by status. * * Multiple status values can be provided with comma separated strings. */ -export const findPetsByStatusOptions = (options: Options) => - queryOptions< +export const findPetsByStatusOptions = ( + options: Options | typeof skipToken, +) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByStatusResponse, DefaultError, FindPetsByStatusResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await findPetsByStatus({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await findPetsByStatus({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByStatusQueryKey(options), }); +}; -export const findPetsByTagsQueryKey = (options: Options) => - createQueryKey('findPetsByTags', options); +export const findPetsByTagsQueryKey = (options: Options | typeof skipToken) => + createQueryKey('findPetsByTags', unwrapSkipToken(options)); /** * Finds Pets by tags. * * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. */ -export const findPetsByTagsOptions = (options: Options) => - queryOptions< +export const findPetsByTagsOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByTagsResponse, DefaultError, FindPetsByTagsResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await findPetsByTags({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await findPetsByTags({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByTagsQueryKey(options), }); +}; /** * Deletes a pet. @@ -225,32 +242,37 @@ export const deletePetMutation = ( return mutationOptions; }; -export const getPetByIdQueryKey = (options: Options) => - createQueryKey('getPetById', options); +export const getPetByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getPetById', unwrapSkipToken(options)); /** * Find pet by ID. * * Returns a single pet. */ -export const getPetByIdOptions = (options: Options) => - queryOptions< +export const getPetByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetPetByIdResponse, DefaultError, GetPetByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getPetById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getPetById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getPetByIdQueryKey(options), }); +}; /** * Updates a pet in the store with form data. @@ -302,32 +324,37 @@ export const uploadFileMutation = ( return mutationOptions; }; -export const getInventoryQueryKey = (options?: Options) => - createQueryKey('getInventory', options); +export const getInventoryQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('getInventory', unwrapSkipToken(options)); /** * Returns pet inventories by status. * * Returns a map of status codes to quantities. */ -export const getInventoryOptions = (options?: Options) => - queryOptions< +export const getInventoryOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetInventoryResponse, DefaultError, GetInventoryResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getInventory({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getInventory({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getInventoryQueryKey(options), }); +}; /** * Place an order for a pet. @@ -375,32 +402,37 @@ export const deleteOrderMutation = ( return mutationOptions; }; -export const getOrderByIdQueryKey = (options: Options) => - createQueryKey('getOrderById', options); +export const getOrderByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getOrderById', unwrapSkipToken(options)); /** * Find purchase order by ID. * * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions. */ -export const getOrderByIdOptions = (options: Options) => - queryOptions< +export const getOrderByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetOrderByIdResponse, DefaultError, GetOrderByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getOrderById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getOrderById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getOrderByIdQueryKey(options), }); +}; /** * Create user. @@ -456,54 +488,64 @@ export const createUsersWithListInputMutation = ( return mutationOptions; }; -export const loginUserQueryKey = (options?: Options) => - createQueryKey('loginUser', options); +export const loginUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('loginUser', unwrapSkipToken(options)); /** * Logs user into the system. * * Log into the system. */ -export const loginUserOptions = (options?: Options) => - queryOptions< +export const loginUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< LoginUserResponse, DefaultError, LoginUserResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await loginUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await loginUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: loginUserQueryKey(options), }); +}; -export const logoutUserQueryKey = (options?: Options) => - createQueryKey('logoutUser', options); +export const logoutUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('logoutUser', unwrapSkipToken(options)); /** * Logs out current logged in user session. * * Log user out of the system. */ -export const logoutUserOptions = (options?: Options) => - queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await logoutUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, +export const logoutUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await logoutUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: logoutUserQueryKey(options), }); +}; /** * Delete user resource. @@ -526,32 +568,37 @@ export const deleteUserMutation = ( return mutationOptions; }; -export const getUserByNameQueryKey = (options: Options) => - createQueryKey('getUserByName', options); +export const getUserByNameQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getUserByName', unwrapSkipToken(options)); /** * Get user by user name. * * Get user detail based on username. */ -export const getUserByNameOptions = (options: Options) => - queryOptions< +export const getUserByNameOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetUserByNameResponse, DefaultError, GetUserByNameResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getUserByName({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getUserByName({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getUserByNameQueryKey(options), }); +}; /** * Update user resource. diff --git a/examples/openapi-ts-tanstack-react-query/src/client/@tanstack/react-query.gen.ts b/examples/openapi-ts-tanstack-react-query/src/client/@tanstack/react-query.gen.ts index dc04163d5c..5f521d531b 100644 --- a/examples/openapi-ts-tanstack-react-query/src/client/@tanstack/react-query.gen.ts +++ b/examples/openapi-ts-tanstack-react-query/src/client/@tanstack/react-query.gen.ts @@ -1,6 +1,11 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { + type DefaultError, + queryOptions, + skipToken, + type UseMutationOptions, +} from '@tanstack/react-query'; import { client } from '../client.gen'; import { type Options, Sdk } from '../sdk.gen'; @@ -125,59 +130,75 @@ const createQueryKey = ( return [params]; }; -export const findPetsByStatusQueryKey = (options: Options) => - createQueryKey('findPetsByStatus', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => + options !== skipToken ? options : undefined; + +export const findPetsByStatusQueryKey = ( + options: Options | typeof skipToken, +) => createQueryKey('findPetsByStatus', unwrapSkipToken(options)); /** * Finds Pets by status. * * Multiple status values can be provided with comma separated strings. */ -export const findPetsByStatusOptions = (options: Options) => - queryOptions< +export const findPetsByStatusOptions = ( + options: Options | typeof skipToken, +) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByStatusResponse, DefaultError, FindPetsByStatusResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().findPetsByStatus({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().findPetsByStatus({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByStatusQueryKey(options), }); +}; -export const findPetsByTagsQueryKey = (options: Options) => - createQueryKey('findPetsByTags', options); +export const findPetsByTagsQueryKey = (options: Options | typeof skipToken) => + createQueryKey('findPetsByTags', unwrapSkipToken(options)); /** * Finds Pets by tags. * * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. */ -export const findPetsByTagsOptions = (options: Options) => - queryOptions< +export const findPetsByTagsOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByTagsResponse, DefaultError, FindPetsByTagsResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().findPetsByTags({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().findPetsByTags({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByTagsQueryKey(options), }); +}; /** * Deletes a pet. @@ -200,32 +221,37 @@ export const deletePetMutation = ( return mutationOptions; }; -export const getPetByIdQueryKey = (options: Options) => - createQueryKey('getPetById', options); +export const getPetByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getPetById', unwrapSkipToken(options)); /** * Find pet by ID. * * Returns a single pet. */ -export const getPetByIdOptions = (options: Options) => - queryOptions< +export const getPetByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetPetByIdResponse, DefaultError, GetPetByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().getPetById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().getPetById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getPetByIdQueryKey(options), }); +}; /** * Updates a pet in the store with form data. @@ -277,32 +303,37 @@ export const uploadFileMutation = ( return mutationOptions; }; -export const getInventoryQueryKey = (options?: Options) => - createQueryKey('getInventory', options); +export const getInventoryQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('getInventory', unwrapSkipToken(options)); /** * Returns pet inventories by status. * * Returns a map of status codes to quantities. */ -export const getInventoryOptions = (options?: Options) => - queryOptions< +export const getInventoryOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetInventoryResponse, DefaultError, GetInventoryResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().getInventory({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().getInventory({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getInventoryQueryKey(options), }); +}; /** * Place an order for a pet. @@ -350,32 +381,37 @@ export const deleteOrderMutation = ( return mutationOptions; }; -export const getOrderByIdQueryKey = (options: Options) => - createQueryKey('getOrderById', options); +export const getOrderByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getOrderById', unwrapSkipToken(options)); /** * Find purchase order by ID. * * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions. */ -export const getOrderByIdOptions = (options: Options) => - queryOptions< +export const getOrderByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetOrderByIdResponse, DefaultError, GetOrderByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().getOrderById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().getOrderById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getOrderByIdQueryKey(options), }); +}; /** * Create user. @@ -431,54 +467,64 @@ export const createUsersWithListInputMutation = ( return mutationOptions; }; -export const loginUserQueryKey = (options?: Options) => - createQueryKey('loginUser', options); +export const loginUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('loginUser', unwrapSkipToken(options)); /** * Logs user into the system. * * Log into the system. */ -export const loginUserOptions = (options?: Options) => - queryOptions< +export const loginUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< LoginUserResponse, DefaultError, LoginUserResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().loginUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().loginUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: loginUserQueryKey(options), }); +}; -export const logoutUserQueryKey = (options?: Options) => - createQueryKey('logoutUser', options); +export const logoutUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('logoutUser', unwrapSkipToken(options)); /** * Logs out current logged in user session. * * Log user out of the system. */ -export const logoutUserOptions = (options?: Options) => - queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().logoutUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, +export const logoutUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().logoutUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: logoutUserQueryKey(options), }); +}; /** * Delete user resource. @@ -501,32 +547,37 @@ export const deleteUserMutation = ( return mutationOptions; }; -export const getUserByNameQueryKey = (options: Options) => - createQueryKey('getUserByName', options); +export const getUserByNameQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getUserByName', unwrapSkipToken(options)); /** * Get user by user name. * * Get user detail based on username. */ -export const getUserByNameOptions = (options: Options) => - queryOptions< +export const getUserByNameOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetUserByNameResponse, DefaultError, GetUserByNameResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await Sdk.__registry.get().getUserByName({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await Sdk.__registry.get().getUserByName({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getUserByNameQueryKey(options), }); +}; /** * Update user resource. diff --git a/examples/openapi-ts-tanstack-svelte-query/src/client/@tanstack/svelte-query.gen.ts b/examples/openapi-ts-tanstack-svelte-query/src/client/@tanstack/svelte-query.gen.ts index 2f8ca16f8d..3519b64e0f 100644 --- a/examples/openapi-ts-tanstack-svelte-query/src/client/@tanstack/svelte-query.gen.ts +++ b/examples/openapi-ts-tanstack-svelte-query/src/client/@tanstack/svelte-query.gen.ts @@ -1,6 +1,11 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { + type DefaultError, + type MutationOptions, + queryOptions, + skipToken, +} from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { @@ -146,59 +151,75 @@ const createQueryKey = ( return [params]; }; -export const findPetsByStatusQueryKey = (options: Options) => - createQueryKey('findPetsByStatus', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => + options !== skipToken ? options : undefined; + +export const findPetsByStatusQueryKey = ( + options: Options | typeof skipToken, +) => createQueryKey('findPetsByStatus', unwrapSkipToken(options)); /** * Finds Pets by status. * * Multiple status values can be provided with comma separated strings. */ -export const findPetsByStatusOptions = (options: Options) => - queryOptions< +export const findPetsByStatusOptions = ( + options: Options | typeof skipToken, +) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByStatusResponse, DefaultError, FindPetsByStatusResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await findPetsByStatus({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await findPetsByStatus({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByStatusQueryKey(options), }); +}; -export const findPetsByTagsQueryKey = (options: Options) => - createQueryKey('findPetsByTags', options); +export const findPetsByTagsQueryKey = (options: Options | typeof skipToken) => + createQueryKey('findPetsByTags', unwrapSkipToken(options)); /** * Finds Pets by tags. * * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. */ -export const findPetsByTagsOptions = (options: Options) => - queryOptions< +export const findPetsByTagsOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByTagsResponse, DefaultError, FindPetsByTagsResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await findPetsByTags({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await findPetsByTags({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByTagsQueryKey(options), }); +}; /** * Deletes a pet. @@ -221,32 +242,37 @@ export const deletePetMutation = ( return mutationOptions; }; -export const getPetByIdQueryKey = (options: Options) => - createQueryKey('getPetById', options); +export const getPetByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getPetById', unwrapSkipToken(options)); /** * Find pet by ID. * * Returns a single pet. */ -export const getPetByIdOptions = (options: Options) => - queryOptions< +export const getPetByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetPetByIdResponse, DefaultError, GetPetByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getPetById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getPetById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getPetByIdQueryKey(options), }); +}; /** * Updates a pet in the store with form data. @@ -298,32 +324,37 @@ export const uploadFileMutation = ( return mutationOptions; }; -export const getInventoryQueryKey = (options?: Options) => - createQueryKey('getInventory', options); +export const getInventoryQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('getInventory', unwrapSkipToken(options)); /** * Returns pet inventories by status. * * Returns a map of status codes to quantities. */ -export const getInventoryOptions = (options?: Options) => - queryOptions< +export const getInventoryOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetInventoryResponse, DefaultError, GetInventoryResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getInventory({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getInventory({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getInventoryQueryKey(options), }); +}; /** * Place an order for a pet. @@ -371,32 +402,37 @@ export const deleteOrderMutation = ( return mutationOptions; }; -export const getOrderByIdQueryKey = (options: Options) => - createQueryKey('getOrderById', options); +export const getOrderByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getOrderById', unwrapSkipToken(options)); /** * Find purchase order by ID. * * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions. */ -export const getOrderByIdOptions = (options: Options) => - queryOptions< +export const getOrderByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetOrderByIdResponse, DefaultError, GetOrderByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getOrderById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getOrderById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getOrderByIdQueryKey(options), }); +}; /** * Create user. @@ -452,54 +488,64 @@ export const createUsersWithListInputMutation = ( return mutationOptions; }; -export const loginUserQueryKey = (options?: Options) => - createQueryKey('loginUser', options); +export const loginUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('loginUser', unwrapSkipToken(options)); /** * Logs user into the system. * * Log into the system. */ -export const loginUserOptions = (options?: Options) => - queryOptions< +export const loginUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< LoginUserResponse, DefaultError, LoginUserResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await loginUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await loginUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: loginUserQueryKey(options), }); +}; -export const logoutUserQueryKey = (options?: Options) => - createQueryKey('logoutUser', options); +export const logoutUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('logoutUser', unwrapSkipToken(options)); /** * Logs out current logged in user session. * * Log user out of the system. */ -export const logoutUserOptions = (options?: Options) => - queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await logoutUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, +export const logoutUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await logoutUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: logoutUserQueryKey(options), }); +}; /** * Delete user resource. @@ -522,32 +568,37 @@ export const deleteUserMutation = ( return mutationOptions; }; -export const getUserByNameQueryKey = (options: Options) => - createQueryKey('getUserByName', options); +export const getUserByNameQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getUserByName', unwrapSkipToken(options)); /** * Get user by user name. * * Get user detail based on username. */ -export const getUserByNameOptions = (options: Options) => - queryOptions< +export const getUserByNameOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetUserByNameResponse, DefaultError, GetUserByNameResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getUserByName({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getUserByName({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getUserByNameQueryKey(options), }); +}; /** * Update user resource. diff --git a/examples/openapi-ts-tanstack-vue-query/src/client/@tanstack/vue-query.gen.ts b/examples/openapi-ts-tanstack-vue-query/src/client/@tanstack/vue-query.gen.ts index 06084d7522..29aabbbb72 100644 --- a/examples/openapi-ts-tanstack-vue-query/src/client/@tanstack/vue-query.gen.ts +++ b/examples/openapi-ts-tanstack-vue-query/src/client/@tanstack/vue-query.gen.ts @@ -1,6 +1,11 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { + type DefaultError, + queryOptions, + skipToken, + type UseMutationOptions, +} from '@tanstack/vue-query'; import { client } from '../client.gen'; import { @@ -146,59 +151,75 @@ const createQueryKey = ( return [params]; }; -export const findPetsByStatusQueryKey = (options: Options) => - createQueryKey('findPetsByStatus', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => + options !== skipToken ? options : undefined; + +export const findPetsByStatusQueryKey = ( + options: Options | typeof skipToken, +) => createQueryKey('findPetsByStatus', unwrapSkipToken(options)); /** * Finds Pets by status. * * Multiple status values can be provided with comma separated strings. */ -export const findPetsByStatusOptions = (options: Options) => - queryOptions< +export const findPetsByStatusOptions = ( + options: Options | typeof skipToken, +) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByStatusResponse, DefaultError, FindPetsByStatusResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await findPetsByStatus({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await findPetsByStatus({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByStatusQueryKey(options), }); +}; -export const findPetsByTagsQueryKey = (options: Options) => - createQueryKey('findPetsByTags', options); +export const findPetsByTagsQueryKey = (options: Options | typeof skipToken) => + createQueryKey('findPetsByTags', unwrapSkipToken(options)); /** * Finds Pets by tags. * * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. */ -export const findPetsByTagsOptions = (options: Options) => - queryOptions< +export const findPetsByTagsOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< FindPetsByTagsResponse, DefaultError, FindPetsByTagsResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await findPetsByTags({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await findPetsByTags({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: findPetsByTagsQueryKey(options), }); +}; /** * Deletes a pet. @@ -221,32 +242,37 @@ export const deletePetMutation = ( return mutationOptions; }; -export const getPetByIdQueryKey = (options: Options) => - createQueryKey('getPetById', options); +export const getPetByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getPetById', unwrapSkipToken(options)); /** * Find pet by ID. * * Returns a single pet. */ -export const getPetByIdOptions = (options: Options) => - queryOptions< +export const getPetByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetPetByIdResponse, DefaultError, GetPetByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getPetById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getPetById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getPetByIdQueryKey(options), }); +}; /** * Updates a pet in the store with form data. @@ -298,32 +324,37 @@ export const uploadFileMutation = ( return mutationOptions; }; -export const getInventoryQueryKey = (options?: Options) => - createQueryKey('getInventory', options); +export const getInventoryQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('getInventory', unwrapSkipToken(options)); /** * Returns pet inventories by status. * * Returns a map of status codes to quantities. */ -export const getInventoryOptions = (options?: Options) => - queryOptions< +export const getInventoryOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetInventoryResponse, DefaultError, GetInventoryResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getInventory({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getInventory({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getInventoryQueryKey(options), }); +}; /** * Place an order for a pet. @@ -371,32 +402,37 @@ export const deleteOrderMutation = ( return mutationOptions; }; -export const getOrderByIdQueryKey = (options: Options) => - createQueryKey('getOrderById', options); +export const getOrderByIdQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getOrderById', unwrapSkipToken(options)); /** * Find purchase order by ID. * * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions. */ -export const getOrderByIdOptions = (options: Options) => - queryOptions< +export const getOrderByIdOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetOrderByIdResponse, DefaultError, GetOrderByIdResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getOrderById({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getOrderById({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getOrderByIdQueryKey(options), }); +}; /** * Create user. @@ -452,54 +488,64 @@ export const createUsersWithListInputMutation = ( return mutationOptions; }; -export const loginUserQueryKey = (options?: Options) => - createQueryKey('loginUser', options); +export const loginUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('loginUser', unwrapSkipToken(options)); /** * Logs user into the system. * * Log into the system. */ -export const loginUserOptions = (options?: Options) => - queryOptions< +export const loginUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< LoginUserResponse, DefaultError, LoginUserResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await loginUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await loginUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: loginUserQueryKey(options), }); +}; -export const logoutUserQueryKey = (options?: Options) => - createQueryKey('logoutUser', options); +export const logoutUserQueryKey = (options?: Options | typeof skipToken) => + createQueryKey('logoutUser', unwrapSkipToken(options)); /** * Logs out current logged in user session. * * Log user out of the system. */ -export const logoutUserOptions = (options?: Options) => - queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await logoutUser({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, +export const logoutUserOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await logoutUser({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: logoutUserQueryKey(options), }); +}; /** * Delete user resource. @@ -522,32 +568,37 @@ export const deleteUserMutation = ( return mutationOptions; }; -export const getUserByNameQueryKey = (options: Options) => - createQueryKey('getUserByName', options); +export const getUserByNameQueryKey = (options: Options | typeof skipToken) => + createQueryKey('getUserByName', unwrapSkipToken(options)); /** * Get user by user name. * * Get user detail based on username. */ -export const getUserByNameOptions = (options: Options) => - queryOptions< +export const getUserByNameOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions< GetUserByNameResponse, DefaultError, GetUserByNameResponse, ReturnType >({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getUserByName({ - ...options, - ...queryKey[0], - signal, - throwOnError: true, - }); - return data; - }, + queryFn: + options === skipToken + ? skipToken + : async ({ queryKey, signal }) => { + const { data } = await getUserByName({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, queryKey: getUserByNameQueryKey(options), }); +}; /** * Update user resource. diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts index ac5127274b..203c13874d 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/preact-query.gen.ts index 92fa2c6b00..76e29f4e7e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/react-query.gen.ts index 486657ead7..2e5565acc9 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/solid-query.gen.ts index d5594064cc..3edd143e7e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts index 3e29275971..c3c06a6c5c 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/vue-query.gen.ts index 2e82ca3558..d2fa0aeb55 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/asClass/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts index cef8fd3635..69f2fc4246 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,20 +102,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -196,20 +204,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -253,20 +264,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -296,80 +310,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -399,50 +428,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/preact-query.gen.ts index 3bf40b1ad0..df02802dc8 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,20 +102,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -196,20 +204,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -253,20 +264,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -296,80 +310,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -399,50 +428,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/react-query.gen.ts index da398d1700..0b742cc285 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,20 +102,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -196,20 +204,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -253,20 +264,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -296,80 +310,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -399,50 +428,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/solid-query.gen.ts index 7a51e436a3..18c8daa8d4 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,20 +102,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -196,20 +204,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -253,20 +264,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -296,80 +310,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -399,50 +428,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/svelte-query.gen.ts index 8900d4a581..f44e15bb97 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,20 +102,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -196,20 +204,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -253,20 +264,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -296,80 +310,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -399,50 +428,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/vue-query.gen.ts index 5a5ce3b118..097ddce236 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/axios/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,20 +102,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -196,20 +204,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -253,20 +264,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -296,80 +310,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -399,50 +428,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts index 5087360ef7..c49742cda8 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,20 +101,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -195,20 +203,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -252,20 +263,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -295,80 +309,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -398,50 +427,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/preact-query.gen.ts index c3a6821f4c..a0d37399ca 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,20 +101,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -195,20 +203,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -252,20 +263,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -295,80 +309,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -398,50 +427,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/react-query.gen.ts index ef023fe2c6..ce9e9b53d4 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,20 +101,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -195,20 +203,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -252,20 +263,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -295,80 +309,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -398,50 +427,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/solid-query.gen.ts index c4092a30b9..51637fc179 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,20 +101,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -195,20 +203,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -252,20 +263,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -295,80 +309,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -398,50 +427,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts index e14c0d70c0..9753bfd34b 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,20 +101,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -195,20 +203,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -252,20 +263,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -295,80 +309,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -398,50 +427,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/vue-query.gen.ts index b545d18172..74147c873c 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/fetch/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,20 +101,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -195,20 +203,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -252,20 +263,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -295,80 +309,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -398,50 +427,59 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const callWithResultFromHeaderMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/full-config/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/full-config/@tanstack/react-query.gen.ts index 0e0db940ce..bce23f81a1 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/full-config/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/full-config/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type QueryClient, queryOptions, useMutation, type UseMutationOptions, useQuery, useQueryClient } from '@tanstack/react-query'; +import { type DefaultError, type QueryClient, queryOptions, skipToken, useMutation, type UseMutationOptions, useQuery, useQueryClient } from '@tanstack/react-query'; import { client } from '../client.gen'; import { callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexTypes, deleteCallWithoutParametersAndResponse, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, fooWow, getCallWithoutParametersAndResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionBody, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, serviceWithEmptyTag, testErrorCode, types } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const serviceWithEmptyTagQueryKey = (options?: Options) => createQueryKey('serviceWithEmptyTag', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const serviceWithEmptyTagOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await serviceWithEmptyTag({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: serviceWithEmptyTagQueryKey(options) -}); +export const serviceWithEmptyTagQueryKey = (options?: Options | typeof skipToken) => createQueryKey('serviceWithEmptyTag', unwrapSkipToken(options)); + +export const serviceWithEmptyTagOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await serviceWithEmptyTag({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: serviceWithEmptyTagQueryKey(options) + }); +}; export const serviceWithEmptyTagGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(serviceWithEmptyTagOptions(options).queryKey); @@ -63,7 +68,7 @@ export const useServiceWithEmptyTagGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(serviceWithEmptyTagOptions(options).queryKey); }; -export const useServiceWithEmptyTagQuery = (options?: Options) => useQuery(serviceWithEmptyTagOptions(options)); +export const useServiceWithEmptyTagQuery = (options?: Options | typeof skipToken) => useQuery(serviceWithEmptyTagOptions(options)); export const useServiceWithEmptyTagSetQueryData = () => { const queryClient = useQueryClient(); @@ -156,20 +161,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial export const useDeleteCallWithoutParametersAndResponseMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...deleteCallWithoutParametersAndResponseMutation(), ...mutationOptions }); -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); - -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); + +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const getCallWithoutParametersAndResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(getCallWithoutParametersAndResponseOptions(options).queryKey); @@ -180,7 +188,7 @@ export const useGetCallWithoutParametersAndResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(getCallWithoutParametersAndResponseOptions(options).queryKey); }; -export const useGetCallWithoutParametersAndResponseQuery = (options?: Options) => useQuery(getCallWithoutParametersAndResponseOptions(options)); +export const useGetCallWithoutParametersAndResponseQuery = (options?: Options | typeof skipToken) => useQuery(getCallWithoutParametersAndResponseOptions(options)); export const useGetCallWithoutParametersAndResponseSetQueryData = () => { const queryClient = useQueryClient(); @@ -301,20 +309,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...callWithWeirdParameterNamesMutation(), ...mutationOptions }); -export const callWithDefaultParametersQueryKey = (options: Options) => createQueryKey('callWithDefaultParameters', options); - -export const callWithDefaultParametersOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersQueryKey = (options: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); + +export const callWithDefaultParametersOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultParametersGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(callWithDefaultParametersOptions(options).queryKey); @@ -325,7 +336,7 @@ export const useCallWithDefaultParametersGetQueryData = () => { return (options: Options) => queryClient.getQueryData(callWithDefaultParametersOptions(options).queryKey); }; -export const useCallWithDefaultParametersQuery = (options: Options) => useQuery(callWithDefaultParametersOptions(options)); +export const useCallWithDefaultParametersQuery = (options: Options | typeof skipToken) => useQuery(callWithDefaultParametersOptions(options)); export const useCallWithDefaultParametersSetQueryData = () => { const queryClient = useQueryClient(); @@ -389,20 +400,23 @@ export const duplicateNameMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...duplicateNameMutation(), ...mutationOptions }); -export const duplicateName2QueryKey = (options?: Options) => createQueryKey('duplicateName2', options); - -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); + +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName2GetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(duplicateName2Options(options).queryKey); @@ -413,7 +427,7 @@ export const useDuplicateName2GetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(duplicateName2Options(options).queryKey); }; -export const useDuplicateName2Query = (options?: Options) => useQuery(duplicateName2Options(options)); +export const useDuplicateName2Query = (options?: Options | typeof skipToken) => useQuery(duplicateName2Options(options)); export const useDuplicateName2SetQueryData = () => { const queryClient = useQueryClient(); @@ -458,20 +472,23 @@ export const duplicateName4Mutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...duplicateName4Mutation(), ...mutationOptions }); -export const callWithNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; export const callWithNoContentResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithNoContentResponseOptions(options).queryKey); @@ -482,27 +499,30 @@ export const useCallWithNoContentResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithNoContentResponseOptions(options).queryKey); }; -export const useCallWithNoContentResponseQuery = (options?: Options) => useQuery(callWithNoContentResponseOptions(options)); +export const useCallWithNoContentResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithNoContentResponseOptions(options)); export const useCallWithNoContentResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: unknown | undefined | ((old: unknown | undefined) => unknown | undefined)) => queryClient.setQueryData(callWithNoContentResponseOptions(options).queryKey, updater); }; -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; export const callWithResponseAndNoContentResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey); @@ -513,27 +533,30 @@ export const useCallWithResponseAndNoContentResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey); }; -export const useCallWithResponseAndNoContentResponseQuery = (options?: Options) => useQuery(callWithResponseAndNoContentResponseOptions(options)); +export const useCallWithResponseAndNoContentResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithResponseAndNoContentResponseOptions(options)); export const useCallWithResponseAndNoContentResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: CallWithResponseAndNoContentResponseResponse | undefined | ((old: CallWithResponseAndNoContentResponseResponse | undefined) => CallWithResponseAndNoContentResponseResponse | undefined)) => queryClient.setQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey, updater); }; -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; export const dummyAGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(dummyAOptions(options).queryKey); @@ -544,27 +567,30 @@ export const useDummyAGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(dummyAOptions(options).queryKey); }; -export const useDummyAQuery = (options?: Options) => useQuery(dummyAOptions(options)); +export const useDummyAQuery = (options?: Options | typeof skipToken) => useQuery(dummyAOptions(options)); export const useDummyASetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: unknown | undefined | ((old: unknown | undefined) => unknown | undefined)) => queryClient.setQueryData(dummyAOptions(options).queryKey, updater); }; -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; export const dummyBGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(dummyBOptions(options).queryKey); @@ -575,27 +601,30 @@ export const useDummyBGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(dummyBOptions(options).queryKey); }; -export const useDummyBQuery = (options?: Options) => useQuery(dummyBOptions(options)); +export const useDummyBQuery = (options?: Options | typeof skipToken) => useQuery(dummyBOptions(options)); export const useDummyBSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: unknown | undefined | ((old: unknown | undefined) => unknown | undefined)) => queryClient.setQueryData(dummyBOptions(options).queryKey, updater); }; -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithResponseOptions(options).queryKey); @@ -606,7 +635,7 @@ export const useCallWithResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithResponseOptions(options).queryKey); }; -export const useCallWithResponseQuery = (options?: Options) => useQuery(callWithResponseOptions(options)); +export const useCallWithResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithResponseOptions(options)); export const useCallWithResponseSetQueryData = () => { const queryClient = useQueryClient(); @@ -651,20 +680,23 @@ export const callWithResponsesMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...callWithResponsesMutation(), ...mutationOptions }); -export const collectionFormatQueryKey = (options: Options) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; export const collectionFormatGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(collectionFormatOptions(options).queryKey); @@ -675,27 +707,30 @@ export const useCollectionFormatGetQueryData = () => { return (options: Options) => queryClient.getQueryData(collectionFormatOptions(options).queryKey); }; -export const useCollectionFormatQuery = (options: Options) => useQuery(collectionFormatOptions(options)); +export const useCollectionFormatQuery = (options: Options | typeof skipToken) => useQuery(collectionFormatOptions(options)); export const useCollectionFormatSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: unknown | undefined | ((old: unknown | undefined) => unknown | undefined)) => queryClient.setQueryData(collectionFormatOptions(options).queryKey, updater); }; -export const typesQueryKey = (options: Options) => createQueryKey('types', options); +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const typesGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(typesOptions(options).queryKey); @@ -706,27 +741,30 @@ export const useTypesGetQueryData = () => { return (options: Options) => queryClient.getQueryData(typesOptions(options).queryKey); }; -export const useTypesQuery = (options: Options) => useQuery(typesOptions(options)); +export const useTypesQuery = (options: Options | typeof skipToken) => useQuery(typesOptions(options)); export const useTypesSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: TypesResponse | undefined | ((old: TypesResponse | undefined) => TypesResponse | undefined)) => queryClient.setQueryData(typesOptions(options).queryKey, updater); }; -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const complexTypesGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(complexTypesOptions(options).queryKey); @@ -737,7 +775,7 @@ export const useComplexTypesGetQueryData = () => { return (options: Options) => queryClient.getQueryData(complexTypesOptions(options).queryKey); }; -export const useComplexTypesQuery = (options: Options) => useQuery(complexTypesOptions(options)); +export const useComplexTypesQuery = (options: Options | typeof skipToken) => useQuery(complexTypesOptions(options)); export const useComplexTypesSetQueryData = () => { const queryClient = useQueryClient(); diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts index b144ed7a2c..846973c6ac 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts index 5552d69766..f29b518f13 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/react-query.gen.ts index 43c90277c2..3d227e2c1d 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts index ba1febdda4..fa46410482 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts index 6a831b5b3e..bfd4e0dcce 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts index bfd35f1d62..b1eefa4ee4 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/2.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/internal-name-conflict/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/internal-name-conflict/@tanstack/react-query.gen.ts index c7e01dadfe..6dfb38879e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/internal-name-conflict/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/internal-name-conflict/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { create, create2, create3, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const createQueryKey2 = (options?: Options) => createQueryKey('create', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const createOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await create({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: createQueryKey2(options) -}); +export const createQueryKey2 = (options?: Options | typeof skipToken) => createQueryKey('create', unwrapSkipToken(options)); + +export const createOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await create({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: createQueryKey2(options) + }); +}; export const create2Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts index ac5127274b..203c13874d 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/preact-query.gen.ts index 92fa2c6b00..76e29f4e7e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/react-query.gen.ts index 486657ead7..2e5565acc9 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/solid-query.gen.ts index d5594064cc..3edd143e7e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts index 3e29275971..c3c06a6c5c 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/vue-query.gen.ts index 2e82ca3558..d2fa0aeb55 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/asClass/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts index 203ab627f0..9f61f6149f 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/preact-query.gen.ts index 1b944a2788..df299bcf9b 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/react-query.gen.ts index 5985c1375f..2fc2e89846 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/solid-query.gen.ts index b396bf303c..8956fcf508 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/svelte-query.gen.ts index a65efefad9..80d51b5c04 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/vue-query.gen.ts index 25f1e797ab..67e4879760 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/axios/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts index 42236e3061..0d3a938b25 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/preact-query.gen.ts index a29543c23f..01df1af023 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/react-query.gen.ts index 8aa23f1d1c..22346f1011 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/solid-query.gen.ts index 00dde37e5a..502776217c 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts index ee38fdf180..64e18d948f 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/vue-query.gen.ts index 807f7622f2..ea30a48ce6 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/fetch/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/full-config/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/full-config/@tanstack/react-query.gen.ts index a63b0d3799..a8bd739d08 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/full-config/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/full-config/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type QueryClient, queryOptions, useMutation, type UseMutationOptions, useQuery, useQueryClient } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type QueryClient, queryOptions, skipToken, useMutation, type UseMutationOptions, useQuery, useQueryClient } from '@tanstack/react-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const exportGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(exportOptions(options).queryKey); @@ -63,7 +68,7 @@ export const useExportGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(exportOptions(options).queryKey); }; -export const useExportQuery = (options?: Options) => useQuery(exportOptions(options)); +export const useExportQuery = (options?: Options | typeof skipToken) => useQuery(exportOptions(options)); export const useExportSetQueryData = () => { const queryClient = useQueryClient(); @@ -156,20 +161,23 @@ export const fooWowMutation = (options?: Partial>): UseMutat export const useFooWowMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...fooWowMutation(), ...mutationOptions }); -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; export const apiVVersionODataControllerCountGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(apiVVersionODataControllerCountOptions(options).queryKey); @@ -180,27 +188,30 @@ export const useApiVVersionODataControllerCountGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(apiVVersionODataControllerCountOptions(options).queryKey); }; -export const useApiVVersionODataControllerCountQuery = (options?: Options) => useQuery(apiVVersionODataControllerCountOptions(options)); +export const useApiVVersionODataControllerCountQuery = (options?: Options | typeof skipToken) => useQuery(apiVVersionODataControllerCountOptions(options)); export const useApiVVersionODataControllerCountSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: ApiVVersionODataControllerCountResponse | undefined | ((old: ApiVVersionODataControllerCountResponse | undefined) => ApiVVersionODataControllerCountResponse | undefined)) => queryClient.setQueryData(apiVVersionODataControllerCountOptions(options).queryKey, updater); }; -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const getApiVbyApiVersionSimpleOperationGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(getApiVbyApiVersionSimpleOperationOptions(options).queryKey); @@ -211,7 +222,7 @@ export const useGetApiVbyApiVersionSimpleOperationGetQueryData = () => { return (options: Options) => queryClient.getQueryData(getApiVbyApiVersionSimpleOperationOptions(options).queryKey); }; -export const useGetApiVbyApiVersionSimpleOperationQuery = (options: Options) => useQuery(getApiVbyApiVersionSimpleOperationOptions(options)); +export const useGetApiVbyApiVersionSimpleOperationQuery = (options: Options | typeof skipToken) => useQuery(getApiVbyApiVersionSimpleOperationOptions(options)); export const useGetApiVbyApiVersionSimpleOperationSetQueryData = () => { const queryClient = useQueryClient(); @@ -237,20 +248,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial export const useDeleteCallWithoutParametersAndResponseMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...deleteCallWithoutParametersAndResponseMutation(), ...mutationOptions }); -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); - -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); + +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const getCallWithoutParametersAndResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(getCallWithoutParametersAndResponseOptions(options).queryKey); @@ -261,7 +275,7 @@ export const useGetCallWithoutParametersAndResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(getCallWithoutParametersAndResponseOptions(options).queryKey); }; -export const useGetCallWithoutParametersAndResponseQuery = (options?: Options) => useQuery(getCallWithoutParametersAndResponseOptions(options)); +export const useGetCallWithoutParametersAndResponseQuery = (options?: Options | typeof skipToken) => useQuery(getCallWithoutParametersAndResponseOptions(options)); export const useGetCallWithoutParametersAndResponseSetQueryData = () => { const queryClient = useQueryClient(); @@ -426,20 +440,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...callWithWeirdParameterNamesMutation(), ...mutationOptions }); -export const getCallWithOptionalParamQueryKey = (options: Options) => createQueryKey('getCallWithOptionalParam', options); - -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); + +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -470,13 +487,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -485,7 +503,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options { return (options: Options) => queryClient.getQueryData(getCallWithOptionalParamOptions(options).queryKey); }; -export const useGetCallWithOptionalParamQuery = (options: Options) => useQuery(getCallWithOptionalParamOptions(options)); +export const useGetCallWithOptionalParamQuery = (options: Options | typeof skipToken) => useQuery(getCallWithOptionalParamOptions(options)); export const useGetCallWithOptionalParamSetQueryData = () => { const queryClient = useQueryClient(); @@ -570,20 +588,23 @@ export const postApiVbyApiVersionFormDataMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...postApiVbyApiVersionFormDataMutation(), ...mutationOptions }); -export const callWithDefaultParametersQueryKey = (options?: Options) => createQueryKey('callWithDefaultParameters', options); - -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); + +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultParametersGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithDefaultParametersOptions(options).queryKey); @@ -594,7 +615,7 @@ export const useCallWithDefaultParametersGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithDefaultParametersOptions(options).queryKey); }; -export const useCallWithDefaultParametersQuery = (options?: Options) => useQuery(callWithDefaultParametersOptions(options)); +export const useCallWithDefaultParametersQuery = (options?: Options | typeof skipToken) => useQuery(callWithDefaultParametersOptions(options)); export const useCallWithDefaultParametersSetQueryData = () => { const queryClient = useQueryClient(); @@ -658,20 +679,23 @@ export const duplicateNameMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...duplicateNameMutation(), ...mutationOptions }); -export const duplicateName2QueryKey = (options?: Options) => createQueryKey('duplicateName2', options); - -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); + +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName2GetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(duplicateName2Options(options).queryKey); @@ -682,7 +706,7 @@ export const useDuplicateName2GetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(duplicateName2Options(options).queryKey); }; -export const useDuplicateName2Query = (options?: Options) => useQuery(duplicateName2Options(options)); +export const useDuplicateName2Query = (options?: Options | typeof skipToken) => useQuery(duplicateName2Options(options)); export const useDuplicateName2SetQueryData = () => { const queryClient = useQueryClient(); @@ -727,20 +751,23 @@ export const duplicateName4Mutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...duplicateName4Mutation(), ...mutationOptions }); -export const callWithNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; export const callWithNoContentResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithNoContentResponseOptions(options).queryKey); @@ -751,27 +778,30 @@ export const useCallWithNoContentResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithNoContentResponseOptions(options).queryKey); }; -export const useCallWithNoContentResponseQuery = (options?: Options) => useQuery(callWithNoContentResponseOptions(options)); +export const useCallWithNoContentResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithNoContentResponseOptions(options)); export const useCallWithNoContentResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: CallWithNoContentResponseResponse | undefined | ((old: CallWithNoContentResponseResponse | undefined) => CallWithNoContentResponseResponse | undefined)) => queryClient.setQueryData(callWithNoContentResponseOptions(options).queryKey, updater); }; -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; export const callWithResponseAndNoContentResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey); @@ -782,27 +812,30 @@ export const useCallWithResponseAndNoContentResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey); }; -export const useCallWithResponseAndNoContentResponseQuery = (options?: Options) => useQuery(callWithResponseAndNoContentResponseOptions(options)); +export const useCallWithResponseAndNoContentResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithResponseAndNoContentResponseOptions(options)); export const useCallWithResponseAndNoContentResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: CallWithResponseAndNoContentResponseResponse | undefined | ((old: CallWithResponseAndNoContentResponseResponse | undefined) => CallWithResponseAndNoContentResponseResponse | undefined)) => queryClient.setQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey, updater); }; -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; export const dummyAGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(dummyAOptions(options).queryKey); @@ -813,27 +846,30 @@ export const useDummyAGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(dummyAOptions(options).queryKey); }; -export const useDummyAQuery = (options?: Options) => useQuery(dummyAOptions(options)); +export const useDummyAQuery = (options?: Options | typeof skipToken) => useQuery(dummyAOptions(options)); export const useDummyASetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: DummyAResponse | undefined | ((old: DummyAResponse | undefined) => DummyAResponse | undefined)) => queryClient.setQueryData(dummyAOptions(options).queryKey, updater); }; -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; export const dummyBGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(dummyBOptions(options).queryKey); @@ -844,27 +880,30 @@ export const useDummyBGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(dummyBOptions(options).queryKey); }; -export const useDummyBQuery = (options?: Options) => useQuery(dummyBOptions(options)); +export const useDummyBQuery = (options?: Options | typeof skipToken) => useQuery(dummyBOptions(options)); export const useDummyBSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: DummyBResponse | undefined | ((old: DummyBResponse | undefined) => DummyBResponse | undefined)) => queryClient.setQueryData(dummyBOptions(options).queryKey, updater); }; -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithResponseOptions(options).queryKey); @@ -875,7 +914,7 @@ export const useCallWithResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithResponseOptions(options).queryKey); }; -export const useCallWithResponseQuery = (options?: Options) => useQuery(callWithResponseOptions(options)); +export const useCallWithResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithResponseOptions(options)); export const useCallWithResponseSetQueryData = () => { const queryClient = useQueryClient(); @@ -920,20 +959,23 @@ export const callWithResponsesMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...callWithResponsesMutation(), ...mutationOptions }); -export const collectionFormatQueryKey = (options: Options) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; export const collectionFormatGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(collectionFormatOptions(options).queryKey); @@ -944,27 +986,30 @@ export const useCollectionFormatGetQueryData = () => { return (options: Options) => queryClient.getQueryData(collectionFormatOptions(options).queryKey); }; -export const useCollectionFormatQuery = (options: Options) => useQuery(collectionFormatOptions(options)); +export const useCollectionFormatQuery = (options: Options | typeof skipToken) => useQuery(collectionFormatOptions(options)); export const useCollectionFormatSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: unknown | undefined | ((old: unknown | undefined) => unknown | undefined)) => queryClient.setQueryData(collectionFormatOptions(options).queryKey, updater); }; -export const typesQueryKey = (options: Options) => createQueryKey('types', options); +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const typesGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(typesOptions(options).queryKey); @@ -975,7 +1020,7 @@ export const useTypesGetQueryData = () => { return (options: Options) => queryClient.getQueryData(typesOptions(options).queryKey); }; -export const useTypesQuery = (options: Options) => useQuery(typesOptions(options)); +export const useTypesQuery = (options: Options | typeof skipToken) => useQuery(typesOptions(options)); export const useTypesSetQueryData = () => { const queryClient = useQueryClient(); @@ -1001,20 +1046,23 @@ export const uploadFileMutation = (options?: Partial>): export const useUploadFileMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...uploadFileMutation(), ...mutationOptions }); -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; export const fileResponseGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(fileResponseOptions(options).queryKey); @@ -1025,27 +1073,30 @@ export const useFileResponseGetQueryData = () => { return (options: Options) => queryClient.getQueryData(fileResponseOptions(options).queryKey); }; -export const useFileResponseQuery = (options: Options) => useQuery(fileResponseOptions(options)); +export const useFileResponseQuery = (options: Options | typeof skipToken) => useQuery(fileResponseOptions(options)); export const useFileResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: FileResponseResponse | undefined | ((old: FileResponseResponse | undefined) => FileResponseResponse | undefined)) => queryClient.setQueryData(fileResponseOptions(options).queryKey, updater); }; -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const complexTypesGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(complexTypesOptions(options).queryKey); @@ -1056,27 +1107,30 @@ export const useComplexTypesGetQueryData = () => { return (options: Options) => queryClient.getQueryData(complexTypesOptions(options).queryKey); }; -export const useComplexTypesQuery = (options: Options) => useQuery(complexTypesOptions(options)); +export const useComplexTypesQuery = (options: Options | typeof skipToken) => useQuery(complexTypesOptions(options)); export const useComplexTypesSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: ComplexTypesResponse | undefined | ((old: ComplexTypesResponse | undefined) => ComplexTypesResponse | undefined)) => queryClient.setQueryData(complexTypesOptions(options).queryKey, updater); }; -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(multipartResponseOptions(options).queryKey); @@ -1087,7 +1141,7 @@ export const useMultipartResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(multipartResponseOptions(options).queryKey); }; -export const useMultipartResponseQuery = (options?: Options) => useQuery(multipartResponseOptions(options)); +export const useMultipartResponseQuery = (options?: Options | typeof skipToken) => useQuery(multipartResponseOptions(options)); export const useMultipartResponseSetQueryData = () => { const queryClient = useQueryClient(); diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts index b144ed7a2c..846973c6ac 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts index 5552d69766..f29b518f13 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/react-query.gen.ts index 43c90277c2..3d227e2c1d 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts index ba1febdda4..fa46410482 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts index 6a831b5b3e..bfd4e0dcce 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts index bfd35f1d62..b1eefa4ee4 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.0.x/plugins/name-builder/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/internal-name-conflict/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/internal-name-conflict/@tanstack/react-query.gen.ts index c7e01dadfe..6dfb38879e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/internal-name-conflict/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/internal-name-conflict/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { create, create2, create3, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const createQueryKey2 = (options?: Options) => createQueryKey('create', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const createOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await create({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: createQueryKey2(options) -}); +export const createQueryKey2 = (options?: Options | typeof skipToken) => createQueryKey('create', unwrapSkipToken(options)); + +export const createOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await create({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: createQueryKey2(options) + }); +}; export const create2Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/angular-query-experimental/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/angular-query-experimental/@tanstack/angular-query-experimental.gen.ts index a168141ebe..8b58b29cb7 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/angular-query-experimental/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/angular-query-experimental/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { getBar, getFoo, type Options } from '../sdk.gen'; @@ -39,42 +39,50 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options), - meta: { - id: 'getFoo', - method: 'get', - path: '/foo' - } -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); -export const getBarQueryKey = (options?: Options) => createQueryKey('getBar', options); +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options), + meta: { + id: 'getFoo', + method: 'get', + path: '/foo' + } + }); +}; -export const getBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getBarQueryKey(options), - meta: { - id: 'getBar', - method: 'get', - path: '/bar' - } -}); +export const getBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getBar', unwrapSkipToken(options)); + +export const getBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getBarQueryKey(options), + meta: { + id: 'getBar', + method: 'get', + path: '/bar' + } + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/preact-query/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/preact-query/@tanstack/preact-query.gen.ts index b0865adccf..c5abb28688 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/preact-query/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/preact-query/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { getBar, getFoo, type Options } from '../sdk.gen'; @@ -39,42 +39,50 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options), - meta: { - id: 'getFoo', - method: 'get', - path: '/foo' - } -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); -export const getBarQueryKey = (options?: Options) => createQueryKey('getBar', options); +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options), + meta: { + id: 'getFoo', + method: 'get', + path: '/foo' + } + }); +}; -export const getBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getBarQueryKey(options), - meta: { - id: 'getBar', - method: 'get', - path: '/bar' - } -}); +export const getBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getBar', unwrapSkipToken(options)); + +export const getBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getBarQueryKey(options), + meta: { + id: 'getBar', + method: 'get', + path: '/bar' + } + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/react-query/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/react-query/@tanstack/react-query.gen.ts index 5a6a250348..2861728cb3 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/react-query/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/react-query/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/react-query'; import { client } from '../client.gen'; import { getBar, getFoo, type Options } from '../sdk.gen'; @@ -39,42 +39,50 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options), - meta: { - id: 'getFoo', - method: 'get', - path: '/foo' - } -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); -export const getBarQueryKey = (options?: Options) => createQueryKey('getBar', options); +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options), + meta: { + id: 'getFoo', + method: 'get', + path: '/foo' + } + }); +}; -export const getBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getBarQueryKey(options), - meta: { - id: 'getBar', - method: 'get', - path: '/bar' - } -}); +export const getBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getBar', unwrapSkipToken(options)); + +export const getBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getBarQueryKey(options), + meta: { + id: 'getBar', + method: 'get', + path: '/bar' + } + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/solid-query/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/solid-query/@tanstack/solid-query.gen.ts index 8b6d32356b..0334b4af87 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/solid-query/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/solid-query/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { getBar, getFoo, type Options } from '../sdk.gen'; @@ -39,42 +39,50 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options), - meta: { - id: 'getFoo', - method: 'get', - path: '/foo' - } -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); -export const getBarQueryKey = (options?: Options) => createQueryKey('getBar', options); +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options), + meta: { + id: 'getFoo', + method: 'get', + path: '/foo' + } + }); +}; -export const getBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getBarQueryKey(options), - meta: { - id: 'getBar', - method: 'get', - path: '/bar' - } -}); +export const getBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getBar', unwrapSkipToken(options)); + +export const getBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getBarQueryKey(options), + meta: { + id: 'getBar', + method: 'get', + path: '/bar' + } + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/svelte-query/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/svelte-query/@tanstack/svelte-query.gen.ts index 4c50bd6203..b0ee2bb163 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/svelte-query/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/svelte-query/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { getBar, getFoo, type Options } from '../sdk.gen'; @@ -39,42 +39,50 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options), - meta: { - id: 'getFoo', - method: 'get', - path: '/foo' - } -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); -export const getBarQueryKey = (options?: Options) => createQueryKey('getBar', options); +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options), + meta: { + id: 'getFoo', + method: 'get', + path: '/foo' + } + }); +}; -export const getBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getBarQueryKey(options), - meta: { - id: 'getBar', - method: 'get', - path: '/bar' - } -}); +export const getBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getBar', unwrapSkipToken(options)); + +export const getBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getBarQueryKey(options), + meta: { + id: 'getBar', + method: 'get', + path: '/bar' + } + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/vue-query/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/vue-query/@tanstack/vue-query.gen.ts index 4793f41da5..775c34d2ba 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/vue-query/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/meta-function/vue-query/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { getBar, getFoo, type Options } from '../sdk.gen'; @@ -39,42 +39,50 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options), - meta: { - id: 'getFoo', - method: 'get', - path: '/foo' - } -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); -export const getBarQueryKey = (options?: Options) => createQueryKey('getBar', options); +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options), + meta: { + id: 'getFoo', + method: 'get', + path: '/foo' + } + }); +}; -export const getBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getBarQueryKey(options), - meta: { - id: 'getBar', - method: 'get', - path: '/bar' - } -}); +export const getBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getBar', unwrapSkipToken(options)); + +export const getBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getBarQueryKey(options), + meta: { + id: 'getBar', + method: 'get', + path: '/bar' + } + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/pagination-ref/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/pagination-ref/@tanstack/react-query.gen.ts index d35d8d100f..e31c9321a8 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/pagination-ref/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/pagination-ref/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { getFoo, type Options, postFoo } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -83,13 +88,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getFooInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getFoo', options, true); +export const getFooInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getFoo', unwrapSkipToken(options), true); -export const getFooInfiniteOptions = (options: Options) => { +export const getFooInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | null | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -98,7 +104,7 @@ export const getFooInfiniteOptions = (options: Options) => { }; const params = createInfiniteParams(queryKey, page); const { data } = await getFoo({ - ...options, + ...unwrapped, ...params, signal, throwOnError: true diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts index ac5127274b..203c13874d 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/preact-query.gen.ts index 92fa2c6b00..76e29f4e7e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/react-query.gen.ts index 486657ead7..2e5565acc9 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/solid-query.gen.ts index d5594064cc..3edd143e7e 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/svelte-query.gen.ts index 3e29275971..c3c06a6c5c 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/vue-query.gen.ts index 2e82ca3558..d2fa0aeb55 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/asClass/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooQueryKey = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await FooBazService.getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooQueryKey(options) -}); +export const getFooQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await FooBazService.getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooQueryKey(options) + }); +}; export const fooPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const getFooBarQueryKey = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await BarBazService.getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarQueryKey(options) -}); +export const getFooBarOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await BarBazService.getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarQueryKey(options) + }); +}; export const fooBarPostMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts index 203ab627f0..9f61f6149f 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/preact-query.gen.ts index 1b944a2788..df299bcf9b 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/react-query.gen.ts index 5985c1375f..2fc2e89846 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/solid-query.gen.ts index b396bf303c..8956fcf508 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/svelte-query.gen.ts index a65efefad9..80d51b5c04 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions, Options> => { const mutationOptions: MutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/vue-query.gen.ts index 25f1e797ab..67e4879760 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/axios/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import type { AxiosError } from 'axios'; import { client } from '../client.gen'; @@ -40,20 +40,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -97,35 +102,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ApiVVersionODataControllerCountResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, GetApiVbyApiVersionSimpleOperationResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -141,20 +152,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -271,20 +285,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -315,13 +332,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, InfiniteData, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -330,7 +348,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -441,20 +462,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -484,80 +508,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions, CallWithNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions, DummyAResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions, DummyBResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions, CallWithResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseAndNoContentResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyAResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, DummyBResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, CallWithResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -587,35 +626,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions, unknown, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions, TypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, unknown, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, TypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { @@ -631,50 +676,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions, FileResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions, ComplexTypesResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions, MultipartResponseResponse, ReturnType>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, FileResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, ComplexTypesResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions, MultipartResponseResponse, ReturnType>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions, Options> => { const mutationOptions: UseMutationOptions, Options> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts index 42236e3061..0d3a938b25 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/preact-query.gen.ts index a29543c23f..01df1af023 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/react-query.gen.ts index 8aa23f1d1c..22346f1011 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/solid-query.gen.ts index 00dde37e5a..502776217c 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/svelte-query.gen.ts index ee38fdf180..64e18d948f 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): Mutation return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/vue-query.gen.ts index 807f7622f2..ea30a48ce6 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/fetch/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const patchApiVbyApiVersionNoTagMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -96,35 +101,41 @@ export const fooWowMutation = (options?: Partial>): UseMutat return mutationOptions; }; -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); - -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); - -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; + +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); + +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -140,20 +151,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial return mutationOptions; }; -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const patchCallWithoutParametersAndResponseMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -270,20 +284,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial) => createQueryKey('getCallWithOptionalParam', options); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -314,13 +331,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -329,7 +347,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options) => createQueryKey('callWithDefaultParameters', options); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultOptionalParametersMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -440,20 +461,23 @@ export const duplicateNameMutation = (options?: Partial) => createQueryKey('duplicateName2', options); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName3Mutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -483,80 +507,95 @@ export const duplicateName4Mutation = (options?: Partial) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); - -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); - -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); - -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); - -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); - -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); - -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); - -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); - -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; + +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); + +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; + +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); + +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; + +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); + +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; + +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); + +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithDuplicateResponsesMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -586,35 +625,41 @@ export const callWithResponsesMutation = (options?: Partial) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); - -export const typesQueryKey = (options: Options) => createQueryKey('types', options); - -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; + +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); + +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const uploadFileMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -630,50 +675,59 @@ export const uploadFileMutation = (options?: Partial>): return mutationOptions; }; -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); - -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); - -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); - -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); - -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; + +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); + +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; + +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); + +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartRequestMutation = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/full-config/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/full-config/@tanstack/react-query.gen.ts index a63b0d3799..a8bd739d08 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/full-config/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/full-config/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type InfiniteData, infiniteQueryOptions, type QueryClient, queryOptions, useMutation, type UseMutationOptions, useQuery, useQueryClient } from '@tanstack/react-query'; +import { type DefaultError, type InfiniteData, infiniteQueryOptions, type QueryClient, queryOptions, skipToken, useMutation, type UseMutationOptions, useQuery, useQueryClient } from '@tanstack/react-query'; import { client } from '../client.gen'; import { apiVVersionODataControllerCount, callToTestOrderOfParams, callWithDefaultOptionalParameters, callWithDefaultParameters, callWithDescriptions, callWithDuplicateResponses, callWithNoContentResponse, callWithParameters, callWithResponse, callWithResponseAndNoContentResponse, callWithResponses, callWithResultFromHeader, callWithWeirdParameterNames, collectionFormat, complexParams, complexTypes, deleteCallWithoutParametersAndResponse, deleteFoo, deprecatedCall, dummyA, dummyB, duplicateName, duplicateName2, duplicateName3, duplicateName4, export_, fileResponse, fooWow, getApiVbyApiVersionSimpleOperation, getCallWithOptionalParam, getCallWithoutParametersAndResponse, import_, multipartRequest, multipartResponse, nonAsciiæøåÆøÅöôêÊ字符串, type Options, patchApiVbyApiVersionNoTag, patchCallWithoutParametersAndResponse, postApiVbyApiVersionFormData, postApiVbyApiVersionRequestBody, postCallWithOptionalParam, postCallWithoutParametersAndResponse, putCallWithoutParametersAndResponse, putWithFormUrlEncoded, testErrorCode, types, uploadFile } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const exportQueryKey = (options?: Options) => createQueryKey('export', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const exportOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await export_({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: exportQueryKey(options) -}); +export const exportQueryKey = (options?: Options | typeof skipToken) => createQueryKey('export', unwrapSkipToken(options)); + +export const exportOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await export_({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: exportQueryKey(options) + }); +}; export const exportGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(exportOptions(options).queryKey); @@ -63,7 +68,7 @@ export const useExportGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(exportOptions(options).queryKey); }; -export const useExportQuery = (options?: Options) => useQuery(exportOptions(options)); +export const useExportQuery = (options?: Options | typeof skipToken) => useQuery(exportOptions(options)); export const useExportSetQueryData = () => { const queryClient = useQueryClient(); @@ -156,20 +161,23 @@ export const fooWowMutation = (options?: Partial>): UseMutat export const useFooWowMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...fooWowMutation(), ...mutationOptions }); -export const apiVVersionODataControllerCountQueryKey = (options?: Options) => createQueryKey('apiVVersionODataControllerCount', options); - -export const apiVVersionODataControllerCountOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await apiVVersionODataControllerCount({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: apiVVersionODataControllerCountQueryKey(options) -}); +export const apiVVersionODataControllerCountQueryKey = (options?: Options | typeof skipToken) => createQueryKey('apiVVersionODataControllerCount', unwrapSkipToken(options)); + +export const apiVVersionODataControllerCountOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await apiVVersionODataControllerCount({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: apiVVersionODataControllerCountQueryKey(options) + }); +}; export const apiVVersionODataControllerCountGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(apiVVersionODataControllerCountOptions(options).queryKey); @@ -180,27 +188,30 @@ export const useApiVVersionODataControllerCountGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(apiVVersionODataControllerCountOptions(options).queryKey); }; -export const useApiVVersionODataControllerCountQuery = (options?: Options) => useQuery(apiVVersionODataControllerCountOptions(options)); +export const useApiVVersionODataControllerCountQuery = (options?: Options | typeof skipToken) => useQuery(apiVVersionODataControllerCountOptions(options)); export const useApiVVersionODataControllerCountSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: ApiVVersionODataControllerCountResponse | undefined | ((old: ApiVVersionODataControllerCountResponse | undefined) => ApiVVersionODataControllerCountResponse | undefined)) => queryClient.setQueryData(apiVVersionODataControllerCountOptions(options).queryKey, updater); }; -export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options) => createQueryKey('getApiVbyApiVersionSimpleOperation', options); +export const getApiVbyApiVersionSimpleOperationQueryKey = (options: Options | typeof skipToken) => createQueryKey('getApiVbyApiVersionSimpleOperation', unwrapSkipToken(options)); -export const getApiVbyApiVersionSimpleOperationOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getApiVbyApiVersionSimpleOperation({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) -}); +export const getApiVbyApiVersionSimpleOperationOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getApiVbyApiVersionSimpleOperation({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getApiVbyApiVersionSimpleOperationQueryKey(options) + }); +}; export const getApiVbyApiVersionSimpleOperationGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(getApiVbyApiVersionSimpleOperationOptions(options).queryKey); @@ -211,7 +222,7 @@ export const useGetApiVbyApiVersionSimpleOperationGetQueryData = () => { return (options: Options) => queryClient.getQueryData(getApiVbyApiVersionSimpleOperationOptions(options).queryKey); }; -export const useGetApiVbyApiVersionSimpleOperationQuery = (options: Options) => useQuery(getApiVbyApiVersionSimpleOperationOptions(options)); +export const useGetApiVbyApiVersionSimpleOperationQuery = (options: Options | typeof skipToken) => useQuery(getApiVbyApiVersionSimpleOperationOptions(options)); export const useGetApiVbyApiVersionSimpleOperationSetQueryData = () => { const queryClient = useQueryClient(); @@ -237,20 +248,23 @@ export const deleteCallWithoutParametersAndResponseMutation = (options?: Partial export const useDeleteCallWithoutParametersAndResponseMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...deleteCallWithoutParametersAndResponseMutation(), ...mutationOptions }); -export const getCallWithoutParametersAndResponseQueryKey = (options?: Options) => createQueryKey('getCallWithoutParametersAndResponse', options); - -export const getCallWithoutParametersAndResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithoutParametersAndResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithoutParametersAndResponseQueryKey(options) -}); +export const getCallWithoutParametersAndResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getCallWithoutParametersAndResponse', unwrapSkipToken(options)); + +export const getCallWithoutParametersAndResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithoutParametersAndResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithoutParametersAndResponseQueryKey(options) + }); +}; export const getCallWithoutParametersAndResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(getCallWithoutParametersAndResponseOptions(options).queryKey); @@ -261,7 +275,7 @@ export const useGetCallWithoutParametersAndResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(getCallWithoutParametersAndResponseOptions(options).queryKey); }; -export const useGetCallWithoutParametersAndResponseQuery = (options?: Options) => useQuery(getCallWithoutParametersAndResponseOptions(options)); +export const useGetCallWithoutParametersAndResponseQuery = (options?: Options | typeof skipToken) => useQuery(getCallWithoutParametersAndResponseOptions(options)); export const useGetCallWithoutParametersAndResponseSetQueryData = () => { const queryClient = useQueryClient(); @@ -426,20 +440,23 @@ export const callWithWeirdParameterNamesMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...callWithWeirdParameterNamesMutation(), ...mutationOptions }); -export const getCallWithOptionalParamQueryKey = (options: Options) => createQueryKey('getCallWithOptionalParam', options); - -export const getCallWithOptionalParamOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getCallWithOptionalParam({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getCallWithOptionalParamQueryKey(options) -}); +export const getCallWithOptionalParamQueryKey = (options: Options | typeof skipToken) => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options)); + +export const getCallWithOptionalParamOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getCallWithOptionalParam({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getCallWithOptionalParamQueryKey(options) + }); +}; const createInfiniteParams = [0], 'body' | 'headers' | 'path' | 'query'>>(queryKey: QueryKey, page: K) => { const params = { ...queryKey[0] }; @@ -470,13 +487,14 @@ const createInfiniteParams = [0], 'body' | 'hea return params as unknown as typeof page; }; -export const getCallWithOptionalParamInfiniteQueryKey = (options: Options): QueryKey> => createQueryKey('getCallWithOptionalParam', options, true); +export const getCallWithOptionalParamInfiniteQueryKey = (options: Options | typeof skipToken): QueryKey> => createQueryKey('getCallWithOptionalParam', unwrapSkipToken(options), true); -export const getCallWithOptionalParamInfiniteOptions = (options: Options) => { +export const getCallWithOptionalParamInfiniteOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); const opts = infiniteQueryOptions, QueryKey>, number | Pick>[0], 'body' | 'headers' | 'path' | 'query'>>( // @ts-ignore { - queryFn: async ({ pageParam, queryKey, signal }) => { + queryFn: options === skipToken ? skipToken : async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick>[0], 'body' | 'headers' | 'path' | 'query'> = typeof pageParam === 'object' ? pageParam : { query: { @@ -485,7 +503,7 @@ export const getCallWithOptionalParamInfiniteOptions = (options: Options { return (options: Options) => queryClient.getQueryData(getCallWithOptionalParamOptions(options).queryKey); }; -export const useGetCallWithOptionalParamQuery = (options: Options) => useQuery(getCallWithOptionalParamOptions(options)); +export const useGetCallWithOptionalParamQuery = (options: Options | typeof skipToken) => useQuery(getCallWithOptionalParamOptions(options)); export const useGetCallWithOptionalParamSetQueryData = () => { const queryClient = useQueryClient(); @@ -570,20 +588,23 @@ export const postApiVbyApiVersionFormDataMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...postApiVbyApiVersionFormDataMutation(), ...mutationOptions }); -export const callWithDefaultParametersQueryKey = (options?: Options) => createQueryKey('callWithDefaultParameters', options); - -export const callWithDefaultParametersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithDefaultParameters({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithDefaultParametersQueryKey(options) -}); +export const callWithDefaultParametersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithDefaultParameters', unwrapSkipToken(options)); + +export const callWithDefaultParametersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithDefaultParameters({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithDefaultParametersQueryKey(options) + }); +}; export const callWithDefaultParametersGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithDefaultParametersOptions(options).queryKey); @@ -594,7 +615,7 @@ export const useCallWithDefaultParametersGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithDefaultParametersOptions(options).queryKey); }; -export const useCallWithDefaultParametersQuery = (options?: Options) => useQuery(callWithDefaultParametersOptions(options)); +export const useCallWithDefaultParametersQuery = (options?: Options | typeof skipToken) => useQuery(callWithDefaultParametersOptions(options)); export const useCallWithDefaultParametersSetQueryData = () => { const queryClient = useQueryClient(); @@ -658,20 +679,23 @@ export const duplicateNameMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...duplicateNameMutation(), ...mutationOptions }); -export const duplicateName2QueryKey = (options?: Options) => createQueryKey('duplicateName2', options); - -export const duplicateName2Options = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await duplicateName2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: duplicateName2QueryKey(options) -}); +export const duplicateName2QueryKey = (options?: Options | typeof skipToken) => createQueryKey('duplicateName2', unwrapSkipToken(options)); + +export const duplicateName2Options = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await duplicateName2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: duplicateName2QueryKey(options) + }); +}; export const duplicateName2GetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(duplicateName2Options(options).queryKey); @@ -682,7 +706,7 @@ export const useDuplicateName2GetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(duplicateName2Options(options).queryKey); }; -export const useDuplicateName2Query = (options?: Options) => useQuery(duplicateName2Options(options)); +export const useDuplicateName2Query = (options?: Options | typeof skipToken) => useQuery(duplicateName2Options(options)); export const useDuplicateName2SetQueryData = () => { const queryClient = useQueryClient(); @@ -727,20 +751,23 @@ export const duplicateName4Mutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...duplicateName4Mutation(), ...mutationOptions }); -export const callWithNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithNoContentResponse', options); - -export const callWithNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithNoContentResponseQueryKey(options) -}); +export const callWithNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithNoContentResponse', unwrapSkipToken(options)); + +export const callWithNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithNoContentResponseQueryKey(options) + }); +}; export const callWithNoContentResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithNoContentResponseOptions(options).queryKey); @@ -751,27 +778,30 @@ export const useCallWithNoContentResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithNoContentResponseOptions(options).queryKey); }; -export const useCallWithNoContentResponseQuery = (options?: Options) => useQuery(callWithNoContentResponseOptions(options)); +export const useCallWithNoContentResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithNoContentResponseOptions(options)); export const useCallWithNoContentResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: CallWithNoContentResponseResponse | undefined | ((old: CallWithNoContentResponseResponse | undefined) => CallWithNoContentResponseResponse | undefined)) => queryClient.setQueryData(callWithNoContentResponseOptions(options).queryKey, updater); }; -export const callWithResponseAndNoContentResponseQueryKey = (options?: Options) => createQueryKey('callWithResponseAndNoContentResponse', options); +export const callWithResponseAndNoContentResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponseAndNoContentResponse', unwrapSkipToken(options)); -export const callWithResponseAndNoContentResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponseAndNoContentResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseAndNoContentResponseQueryKey(options) -}); +export const callWithResponseAndNoContentResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponseAndNoContentResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseAndNoContentResponseQueryKey(options) + }); +}; export const callWithResponseAndNoContentResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey); @@ -782,27 +812,30 @@ export const useCallWithResponseAndNoContentResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey); }; -export const useCallWithResponseAndNoContentResponseQuery = (options?: Options) => useQuery(callWithResponseAndNoContentResponseOptions(options)); +export const useCallWithResponseAndNoContentResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithResponseAndNoContentResponseOptions(options)); export const useCallWithResponseAndNoContentResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: CallWithResponseAndNoContentResponseResponse | undefined | ((old: CallWithResponseAndNoContentResponseResponse | undefined) => CallWithResponseAndNoContentResponseResponse | undefined)) => queryClient.setQueryData(callWithResponseAndNoContentResponseOptions(options).queryKey, updater); }; -export const dummyAQueryKey = (options?: Options) => createQueryKey('dummyA', options); +export const dummyAQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyA', unwrapSkipToken(options)); -export const dummyAOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyA({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyAQueryKey(options) -}); +export const dummyAOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyA({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyAQueryKey(options) + }); +}; export const dummyAGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(dummyAOptions(options).queryKey); @@ -813,27 +846,30 @@ export const useDummyAGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(dummyAOptions(options).queryKey); }; -export const useDummyAQuery = (options?: Options) => useQuery(dummyAOptions(options)); +export const useDummyAQuery = (options?: Options | typeof skipToken) => useQuery(dummyAOptions(options)); export const useDummyASetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: DummyAResponse | undefined | ((old: DummyAResponse | undefined) => DummyAResponse | undefined)) => queryClient.setQueryData(dummyAOptions(options).queryKey, updater); }; -export const dummyBQueryKey = (options?: Options) => createQueryKey('dummyB', options); +export const dummyBQueryKey = (options?: Options | typeof skipToken) => createQueryKey('dummyB', unwrapSkipToken(options)); -export const dummyBOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await dummyB({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: dummyBQueryKey(options) -}); +export const dummyBOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await dummyB({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: dummyBQueryKey(options) + }); +}; export const dummyBGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(dummyBOptions(options).queryKey); @@ -844,27 +880,30 @@ export const useDummyBGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(dummyBOptions(options).queryKey); }; -export const useDummyBQuery = (options?: Options) => useQuery(dummyBOptions(options)); +export const useDummyBQuery = (options?: Options | typeof skipToken) => useQuery(dummyBOptions(options)); export const useDummyBSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options | undefined, updater: DummyBResponse | undefined | ((old: DummyBResponse | undefined) => DummyBResponse | undefined)) => queryClient.setQueryData(dummyBOptions(options).queryKey, updater); }; -export const callWithResponseQueryKey = (options?: Options) => createQueryKey('callWithResponse', options); +export const callWithResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('callWithResponse', unwrapSkipToken(options)); -export const callWithResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await callWithResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: callWithResponseQueryKey(options) -}); +export const callWithResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await callWithResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: callWithResponseQueryKey(options) + }); +}; export const callWithResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(callWithResponseOptions(options).queryKey); @@ -875,7 +914,7 @@ export const useCallWithResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(callWithResponseOptions(options).queryKey); }; -export const useCallWithResponseQuery = (options?: Options) => useQuery(callWithResponseOptions(options)); +export const useCallWithResponseQuery = (options?: Options | typeof skipToken) => useQuery(callWithResponseOptions(options)); export const useCallWithResponseSetQueryData = () => { const queryClient = useQueryClient(); @@ -920,20 +959,23 @@ export const callWithResponsesMutation = (options?: Partial>, 'mutationFn'>>) => useMutation({ ...callWithResponsesMutation(), ...mutationOptions }); -export const collectionFormatQueryKey = (options: Options) => createQueryKey('collectionFormat', options); - -export const collectionFormatOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await collectionFormat({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: collectionFormatQueryKey(options) -}); +export const collectionFormatQueryKey = (options: Options | typeof skipToken) => createQueryKey('collectionFormat', unwrapSkipToken(options)); + +export const collectionFormatOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await collectionFormat({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: collectionFormatQueryKey(options) + }); +}; export const collectionFormatGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(collectionFormatOptions(options).queryKey); @@ -944,27 +986,30 @@ export const useCollectionFormatGetQueryData = () => { return (options: Options) => queryClient.getQueryData(collectionFormatOptions(options).queryKey); }; -export const useCollectionFormatQuery = (options: Options) => useQuery(collectionFormatOptions(options)); +export const useCollectionFormatQuery = (options: Options | typeof skipToken) => useQuery(collectionFormatOptions(options)); export const useCollectionFormatSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: unknown | undefined | ((old: unknown | undefined) => unknown | undefined)) => queryClient.setQueryData(collectionFormatOptions(options).queryKey, updater); }; -export const typesQueryKey = (options: Options) => createQueryKey('types', options); +export const typesQueryKey = (options: Options | typeof skipToken) => createQueryKey('types', unwrapSkipToken(options)); -export const typesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await types({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: typesQueryKey(options) -}); +export const typesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await types({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: typesQueryKey(options) + }); +}; export const typesGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(typesOptions(options).queryKey); @@ -975,7 +1020,7 @@ export const useTypesGetQueryData = () => { return (options: Options) => queryClient.getQueryData(typesOptions(options).queryKey); }; -export const useTypesQuery = (options: Options) => useQuery(typesOptions(options)); +export const useTypesQuery = (options: Options | typeof skipToken) => useQuery(typesOptions(options)); export const useTypesSetQueryData = () => { const queryClient = useQueryClient(); @@ -1001,20 +1046,23 @@ export const uploadFileMutation = (options?: Partial>): export const useUploadFileMutation = (mutationOptions?: Partial>, 'mutationFn'>>) => useMutation({ ...uploadFileMutation(), ...mutationOptions }); -export const fileResponseQueryKey = (options: Options) => createQueryKey('fileResponse', options); - -export const fileResponseOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await fileResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: fileResponseQueryKey(options) -}); +export const fileResponseQueryKey = (options: Options | typeof skipToken) => createQueryKey('fileResponse', unwrapSkipToken(options)); + +export const fileResponseOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await fileResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: fileResponseQueryKey(options) + }); +}; export const fileResponseGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(fileResponseOptions(options).queryKey); @@ -1025,27 +1073,30 @@ export const useFileResponseGetQueryData = () => { return (options: Options) => queryClient.getQueryData(fileResponseOptions(options).queryKey); }; -export const useFileResponseQuery = (options: Options) => useQuery(fileResponseOptions(options)); +export const useFileResponseQuery = (options: Options | typeof skipToken) => useQuery(fileResponseOptions(options)); export const useFileResponseSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: FileResponseResponse | undefined | ((old: FileResponseResponse | undefined) => FileResponseResponse | undefined)) => queryClient.setQueryData(fileResponseOptions(options).queryKey, updater); }; -export const complexTypesQueryKey = (options: Options) => createQueryKey('complexTypes', options); +export const complexTypesQueryKey = (options: Options | typeof skipToken) => createQueryKey('complexTypes', unwrapSkipToken(options)); -export const complexTypesOptions = (options: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await complexTypes({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: complexTypesQueryKey(options) -}); +export const complexTypesOptions = (options: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await complexTypes({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: complexTypesQueryKey(options) + }); +}; export const complexTypesGetQueryData = (queryClient: QueryClient, options: Options) => queryClient.getQueryData(complexTypesOptions(options).queryKey); @@ -1056,27 +1107,30 @@ export const useComplexTypesGetQueryData = () => { return (options: Options) => queryClient.getQueryData(complexTypesOptions(options).queryKey); }; -export const useComplexTypesQuery = (options: Options) => useQuery(complexTypesOptions(options)); +export const useComplexTypesQuery = (options: Options | typeof skipToken) => useQuery(complexTypesOptions(options)); export const useComplexTypesSetQueryData = () => { const queryClient = useQueryClient(); return (options: Options, updater: ComplexTypesResponse | undefined | ((old: ComplexTypesResponse | undefined) => ComplexTypesResponse | undefined)) => queryClient.setQueryData(complexTypesOptions(options).queryKey, updater); }; -export const multipartResponseQueryKey = (options?: Options) => createQueryKey('multipartResponse', options); +export const multipartResponseQueryKey = (options?: Options | typeof skipToken) => createQueryKey('multipartResponse', unwrapSkipToken(options)); -export const multipartResponseOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await multipartResponse({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: multipartResponseQueryKey(options) -}); +export const multipartResponseOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await multipartResponse({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: multipartResponseQueryKey(options) + }); +}; export const multipartResponseGetQueryData = (queryClient: QueryClient, options: Options | undefined) => queryClient.getQueryData(multipartResponseOptions(options).queryKey); @@ -1087,7 +1141,7 @@ export const useMultipartResponseGetQueryData = () => { return (options: Options | undefined) => queryClient.getQueryData(multipartResponseOptions(options).queryKey); }; -export const useMultipartResponseQuery = (options?: Options) => useQuery(multipartResponseOptions(options)); +export const useMultipartResponseQuery = (options?: Options | typeof skipToken) => useQuery(multipartResponseOptions(options)); export const useMultipartResponseSetQueryData = () => { const queryClient = useQueryClient(); diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts index b144ed7a2c..846973c6ac 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/angular-query-experimental.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/angular-query-experimental'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/angular-query-experimental'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/preact-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/preact-query.gen.ts index 5552d69766..f29b518f13 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/preact-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/preact-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/preact-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/react-query.gen.ts index 43c90277c2..3d227e2c1d 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/solid-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/solid-query.gen.ts index ba1febdda4..fa46410482 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/solid-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/solid-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/solid-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/solid-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/svelte-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/svelte-query.gen.ts index 6a831b5b3e..bfd4e0dcce 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/svelte-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/svelte-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, type MutationOptions, queryOptions } from '@tanstack/svelte-query'; +import { type DefaultError, type MutationOptions, queryOptions, skipToken } from '@tanstack/svelte-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): MutationOptions return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): MutationOptions> => { const mutationOptions: MutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/vue-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/vue-query.gen.ts index bfd35f1d62..b1eefa4ee4 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/vue-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/plugins/name-builder/@tanstack/vue-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/vue-query'; +import { type DefaultError, queryOptions, skipToken, type UseMutationOptions } from '@tanstack/vue-query'; import { client } from '../client.gen'; import { fooBarPost, fooBarPut, fooPost, fooPut, getFoo, getFooBar, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getFooD = (options?: Options) => createQueryKey('getFoo', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getFooE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFoo({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooD(options) -}); +export const getFooD = (options?: Options | typeof skipToken) => createQueryKey('getFoo', unwrapSkipToken(options)); + +export const getFooE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFoo({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooD(options) + }); +}; export const fooPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { @@ -82,20 +87,23 @@ export const fooPutC = (options?: Partial>): UseMutationOpti return mutationOptions; }; -export const getFooBarD = (options?: Options) => createQueryKey('getFooBar', options); +export const getFooBarD = (options?: Options | typeof skipToken) => createQueryKey('getFooBar', unwrapSkipToken(options)); -export const getFooBarE = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getFooBar({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getFooBarD(options) -}); +export const getFooBarE = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getFooBar({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getFooBarD(options) + }); +}; export const fooBarPostC = (options?: Partial>): UseMutationOptions> => { const mutationOptions: UseMutationOptions> = { diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/query-options-name-conflict/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/query-options-name-conflict/@tanstack/react-query.gen.ts index 1971217de4..e6ac11a584 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/query-options-name-conflict/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/query-options-name-conflict/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/react-query'; import { client } from '../client.gen'; import { getMembers, getMembersOptions as getMembersOptions2, type Options } from '../sdk.gen'; @@ -39,32 +39,40 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const getMembersQueryKey = (options?: Options) => createQueryKey('getMembers', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; -export const getMembersOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getMembers({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getMembersQueryKey(options) -}); +export const getMembersQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getMembers', unwrapSkipToken(options)); -export const getMembersOptionsQueryKey = (options?: Options) => createQueryKey('getMembersOptions', options); +export const getMembersOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getMembers({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getMembersQueryKey(options) + }); +}; + +export const getMembersOptionsQueryKey = (options?: Options | typeof skipToken) => createQueryKey('getMembersOptions', unwrapSkipToken(options)); -export const getMembersOptionsOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await getMembersOptions2({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: getMembersOptionsQueryKey(options) -}); +export const getMembersOptionsOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await getMembersOptions2({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: getMembersOptionsQueryKey(options) + }); +}; diff --git a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/sse-react-query/@tanstack/react-query.gen.ts b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/sse-react-query/@tanstack/react-query.gen.ts index 197e707f4c..af5e629fca 100644 --- a/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/sse-react-query/@tanstack/react-query.gen.ts +++ b/packages/openapi-ts-tests/tanstack-query/v5/__snapshots__/3.1.x/sse-react-query/@tanstack/react-query.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { type DefaultError, queryOptions } from '@tanstack/react-query'; +import { type DefaultError, queryOptions, skipToken } from '@tanstack/react-query'; import { client } from '../client.gen'; import { listEvents, type Options } from '../sdk.gen'; @@ -39,20 +39,25 @@ const createQueryKey = (id: string, options?: TOptions return [params]; }; -export const listEventsQueryKey = (options?: Options) => createQueryKey('listEvents', options); +const unwrapSkipToken = (options: T | typeof skipToken): T | undefined => options !== skipToken ? options : undefined; + +export const listEventsQueryKey = (options?: Options | typeof skipToken) => createQueryKey('listEvents', unwrapSkipToken(options)); /** * List events */ -export const listEventsOptions = (options?: Options) => queryOptions>({ - queryFn: async ({ queryKey, signal }) => { - const { data } = await listEvents({ - ...options, - ...queryKey[0], - signal, - throwOnError: true - }); - return data; - }, - queryKey: listEventsQueryKey(options) -}); +export const listEventsOptions = (options?: Options | typeof skipToken) => { + const unwrapped = unwrapSkipToken(options); + return queryOptions>({ + queryFn: options === skipToken ? skipToken : async ({ queryKey, signal }) => { + const { data } = await listEvents({ + ...unwrapped, + ...queryKey[0], + signal, + throwOnError: true + }); + return data; + }, + queryKey: listEventsQueryKey(options) + }); +}; diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/query-key.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/query-key.ts index 157d6f4e69..96fd1a4ff3 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/query-key.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/query-key.ts @@ -3,6 +3,7 @@ import type { IR } from '@hey-api/shared'; import { applyNaming, hasOperationDataRequired } from '@hey-api/shared'; import { getTypedConfig } from '../../../config/utils'; +import type { TsDsl } from '../../../ts-dsl'; import { $ } from '../../../ts-dsl'; import { getClientBaseUrlKey } from '../../@hey-api/client-core/utils'; import { useTypeData } from './shared/use-type'; @@ -99,11 +100,13 @@ function createQueryKeyLiteral({ id, isInfinite, operation, + optionsExpr, plugin, }: { id: string; isInfinite?: boolean; operation: IR.OperationObject; + optionsExpr: TsDsl; plugin: PluginInstance; }): ReturnType { const config = isInfinite ? plugin.config.infiniteQueryKeys : plugin.config.queryKeys; @@ -119,7 +122,7 @@ function createQueryKeyLiteral({ }); const createQueryKeyCallExpression = $(symbolCreateQueryKey).call( $.literal(id), - 'options', + optionsExpr, isInfinite || tagsArray ? $.literal(Boolean(isInfinite)) : undefined, tagsArray, ); @@ -174,17 +177,25 @@ export function queryKeyStatement({ typeQueryKey?: ReturnType; }): ReturnType { const typeData = useTypeData({ operation, plugin }); + const symbolSkipToken = $(plugin.imports.skipToken); + const symbolUnwrapSkipToken = plugin.referenceSymbol({ + artifact: plugin.name, + category: 'utility', + resource: 'unwrapSkipToken', + }); + const paramType = $.type.or(typeData, $.type.query(symbolSkipToken)); const statement = $.const(symbol) .export() .assign( $.func() - .param('options', (p) => p.required(hasOperationDataRequired(operation)).type(typeData)) + .param('options', (p) => p.required(hasOperationDataRequired(operation)).type(paramType)) .$if(isInfinite && typeQueryKey, (f, v) => f.returns(v)) .do( createQueryKeyLiteral({ id: operation.id, isInfinite, operation, + optionsExpr: $(symbolUnwrapSkipToken).call('options'), plugin, }).return(), ), diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/shared/unwrap-skip-token.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/shared/unwrap-skip-token.ts new file mode 100644 index 0000000000..53cf508baf --- /dev/null +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/shared/unwrap-skip-token.ts @@ -0,0 +1,34 @@ +import { applyNaming } from '@hey-api/shared'; + +import { $ } from '../../../../ts-dsl'; +import type { PluginInstance } from '../types'; + +export const createUnwrapSkipTokenFunction = ({ plugin }: { plugin: PluginInstance }): void => { + const symbolSkipToken = $(plugin.imports.skipToken); + const TGeneric = 'T'; + + const symbolUnwrapSkipToken = plugin.symbol( + applyNaming('unwrapSkipToken', { + case: plugin.config.case, + }), + { + meta: { + category: 'utility', + resource: 'unwrapSkipToken', + }, + }, + ); + + const fn = $.const(symbolUnwrapSkipToken).assign( + $.func() + .generic(TGeneric) + .param('options', (p) => p.type($.type.or(TGeneric, $.type.query(symbolSkipToken)))) + .returns($.type.or(TGeneric, $.type('undefined'))) + .do( + $.return( + $.ternary($('options').neq(symbolSkipToken)).do($('options')).otherwise($('undefined')), + ), + ), + ); + plugin.node(fn); +}; diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/infinite-query-options.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/infinite-query-options.ts index 6de3d5e054..267f2dfd1f 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/infinite-query-options.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/infinite-query-options.ts @@ -9,6 +9,7 @@ import { } from '../../../shared/utils/operation'; import { createQueryKeyFunction, createQueryKeyType, queryKeyStatement } from '../query-key'; import { handleMeta } from '../shared/meta'; +import { createUnwrapSkipTokenFunction } from '../shared/unwrap-skip-token'; import { useTypeData, useTypeError, useTypeResponse } from '../shared/use-type'; import type { PluginInstance } from '../types'; @@ -134,8 +135,29 @@ export function createInfiniteQueryOptions({ createInfiniteParamsFunction({ plugin }); } + if ( + // TODO: contract (self) + !plugin.querySymbol({ + artifact: plugin.name, + category: 'utility', + resource: 'unwrapSkipToken', + }) + ) { + createUnwrapSkipTokenFunction({ plugin }); + } + const typeData = useTypeData({ operation, plugin }); const typeResponse = useTypeResponse({ operation, plugin }); + + const symbolSkipToken = $(plugin.imports.skipToken); + const symbolUnwrapSkipToken = plugin.referenceSymbol({ + artifact: plugin.name, + category: 'utility', + resource: 'unwrapSkipToken', + }); + const unwrappedName = 'unwrapped'; + const unwrappedRef = $(unwrappedName); + const unwrappedCall = $(symbolUnwrapSkipToken).call('options'); // TODO: contract (self) const symbolQueryKeyType = plugin.referenceSymbol({ artifact: plugin.name, @@ -179,7 +201,7 @@ export function createInfiniteQueryOptions({ ) .call( $.object() - .spread('options') + .spread(unwrappedRef) .spread('params') .prop('signal', $('signal')) .prop('throwOnError', $.literal(true)), @@ -215,6 +237,13 @@ export function createInfiniteQueryOptions({ statements.push($.const().object('data').assign(awaitSdkFn), $.return('data')); } + const asyncQueryFn = $.func() + .async() + .param((p) => p.object('pageParam', 'queryKey', 'signal')) + .do(...statements); + + const paramType = $.type.or(typeData, $.type.query(symbolSkipToken)); + const symbolInfiniteQueryOptionsFn = plugin.symbol( applyNaming(operation.id, plugin.config.infiniteQueryOptions), ); @@ -223,8 +252,9 @@ export function createInfiniteQueryOptions({ .$if(plugin.config.comments && createOperationComment(operation), (c, v) => c.doc(v)) .assign( $.func() - .param('options', (p) => p.required(isRequiredOptions).type(typeData)) + .param('options', (p) => p.required(isRequiredOptions).type(paramType)) .do( + $.const(unwrappedName).assign(unwrappedCall), $.const('opts').assign( $(plugin.imports.infiniteQueryOptions) .call( @@ -233,10 +263,9 @@ export function createInfiniteQueryOptions({ .hint('@ts-ignore') .prop( 'queryFn', - $.func() - .async() - .param((p) => p.object('pageParam', 'queryKey', 'signal')) - .do(...statements), + $.ternary($('options').eq(symbolSkipToken)) + .do(symbolSkipToken) + .otherwise(asyncQueryFn), ) .prop('queryKey', $(symbolInfiniteQueryKey).call('options')) .$if(handleMeta(plugin, operation, 'infiniteQueryOptions'), (o, v) => diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/query-options.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/query-options.ts index 6344c5e493..cfcbe5b7d4 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/query-options.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/query-options.ts @@ -10,6 +10,7 @@ import { } from '../../../shared/utils/operation'; import { createQueryKeyFunction, createQueryKeyType, queryKeyStatement } from '../query-key'; import { handleMeta } from '../shared/meta'; +import { createUnwrapSkipTokenFunction } from '../shared/unwrap-skip-token'; import { useTypeData, useTypeError, useTypeResponse } from '../shared/use-type'; import type { PluginInstance } from '../types'; @@ -41,6 +42,17 @@ export function createQueryOptions({ createQueryKeyFunction({ plugin }); } + if ( + // TODO: contract (self) + !plugin.querySymbol({ + artifact: plugin.name, + category: 'utility', + resource: 'unwrapSkipToken', + }) + ) { + createUnwrapSkipTokenFunction({ plugin }); + } + const symbolQueryKey = plugin.symbol(applyNaming(operation.id, plugin.config.queryKeys)); const node = queryKeyStatement({ isInfinite: false, @@ -52,6 +64,16 @@ export function createQueryOptions({ const typeResponse = useTypeResponse({ operation, plugin }); + const symbolSkipToken = $(plugin.imports.skipToken); + const symbolUnwrapSkipToken = plugin.referenceSymbol({ + artifact: plugin.name, + category: 'utility', + resource: 'unwrapSkipToken', + }); + const unwrappedName = 'unwrapped'; + const unwrappedRef = $(unwrappedName); + const unwrappedCall = $(symbolUnwrapSkipToken).call(optionsParamName); + const awaitSdkFn = $.lazy((ctx) => ctx .access( @@ -64,7 +86,7 @@ export function createQueryOptions({ ) .call( $.object() - .spread(optionsParamName) + .spread(unwrappedRef) .spread($('queryKey').attr(0)) .prop('signal', $('signal')) .prop('throwOnError', $.literal(true)), @@ -79,17 +101,24 @@ export function createQueryOptions({ statements.push($.const().object('data').assign(awaitSdkFn), $.return('data')); } + const asyncQueryFn = $.func() + .async() + .param((p) => p.object('queryKey', 'signal')) + .do(...statements); + + const typeData = useTypeData({ operation, plugin }); + const queryOptionsObj = $.object() .pretty() .prop( 'queryFn', - $.func() - .async() - .param((p) => p.object('queryKey', 'signal')) - .do(...statements), + $.ternary($(optionsParamName).eq(symbolSkipToken)) + .do(symbolSkipToken) + .otherwise(asyncQueryFn), ) .prop('queryKey', $(symbolQueryKey).call(optionsParamName)) .$if(handleMeta(plugin, operation, 'queryOptions'), (o, v) => o.prop('meta', v)); + const paramType = $.type.or(typeData, $.type.query(symbolSkipToken)); const symbolQueryOptionsFn = plugin.symbol( applyNaming(operation.id, plugin.config.queryOptions), @@ -109,10 +138,9 @@ export function createQueryOptions({ .$if(plugin.config.comments && createOperationComment(operation), (c, v) => c.doc(v)) .assign( $.func() - .param(optionsParamName, (p) => - p.required(isRequiredOptions).type(useTypeData({ operation, plugin })), - ) + .param(optionsParamName, (p) => p.required(isRequiredOptions).type(paramType)) .do( + $.const(unwrappedName).assign(unwrappedCall), $(plugin.imports.queryOptions) .call(queryOptionsObj) .generics( diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/use-query.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/use-query.ts index ecd84370dd..64538681e1 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/use-query.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/v5/use-query.ts @@ -25,11 +25,14 @@ export function createUseQuery({ const symbolUseQueryFn = plugin.symbol(applyNaming(operation.id, plugin.config.useQuery)); + const symbolSkipToken = $(plugin.imports.skipToken); + const isRequiredOptions = isOperationOptionsRequired({ context: plugin.context, operation, }); const typeData = useTypeData({ operation, plugin }); + const sdkParamType = $.type.or(typeData, $.type.query(symbolSkipToken)); // TODO: contract (self) const symbolQueryOptionsFn = plugin.referenceSymbol({ artifact: plugin.name, @@ -43,7 +46,7 @@ export function createUseQuery({ .$if(plugin.config.comments && createOperationComment(operation), (c, v) => c.doc(v)) .assign( $.func() - .param(optionsParamName, (p) => p.required(isRequiredOptions).type(typeData)) + .param(optionsParamName, (p) => p.required(isRequiredOptions).type(sdkParamType)) .do( $(plugin.imports.useQuery).call($(symbolQueryOptionsFn).call(optionsParamName)).return(), ), diff --git a/packages/openapi-ts/src/symbols/tanstack-query.ts b/packages/openapi-ts/src/symbols/tanstack-query.ts index 9cff43cf2d..78da134cab 100644 --- a/packages/openapi-ts/src/symbols/tanstack-query.ts +++ b/packages/openapi-ts/src/symbols/tanstack-query.ts @@ -33,6 +33,9 @@ export function TANSTACK_QUERY(plugin: PluginInstance) { queryOptions: plugin.symbol('queryOptions', { external: plugin.name, }), + skipToken: plugin.symbol('skipToken', { + external: plugin.name, + }), useMutation: plugin.symbol('useMutation', { external: plugin.name, }), diff --git a/packages/openapi-ts/src/ts-dsl/expr/__tests__/call.test.ts b/packages/openapi-ts/src/ts-dsl/expr/__tests__/call.test.ts new file mode 100644 index 0000000000..1810964501 --- /dev/null +++ b/packages/openapi-ts/src/ts-dsl/expr/__tests__/call.test.ts @@ -0,0 +1,42 @@ +import { $ } from '../../index'; +import { astToString } from '../../utils/render-utils'; + +describe('CallTsDsl', () => { + it('renders a basic call expression', () => { + const node = $.call('fn', $.literal('hello')); + const result = astToString(node.toAst()); + expect(result).toBe("fn('hello')"); + }); + + it('renders a call with no arguments', () => { + const node = $.call('fn'); + const result = astToString(node.toAst()); + expect(result).toBe('fn()'); + }); + + it('renders a call with multiple arguments', () => { + const node = $.call('fn', $.literal(1), $.literal(2)); + const result = astToString(node.toAst()); + expect(result).toBe('fn(1, 2)'); + }); + + it('attaches a leading comment via hint()', () => { + const node = $.call('fn', $.literal('x')).hint('@ts-ignore'); + const result = astToString(node.toAst()); + expect(result).toContain('// @ts-ignore'); + expect(result).toContain("fn('x')"); + }); + + it('renders without comment when hint() is not called', () => { + const node = $.call('fn'); + const result = astToString(node.toAst()); + expect(result).not.toContain('//'); + }); + + it('preserves hint when chained with generics', () => { + const node = $.call('fn', $.literal(1)).hint('@ts-ignore').generics($.type('T')); + const result = astToString(node.toAst()); + expect(result).toContain('// @ts-ignore'); + expect(result).toContain('fn(1)'); + }); +}); diff --git a/packages/openapi-ts/src/ts-dsl/expr/__tests__/ternary.test.ts b/packages/openapi-ts/src/ts-dsl/expr/__tests__/ternary.test.ts new file mode 100644 index 0000000000..a5f8cc821e --- /dev/null +++ b/packages/openapi-ts/src/ts-dsl/expr/__tests__/ternary.test.ts @@ -0,0 +1,28 @@ +import { $ } from '../../index'; +import { astToString } from '../../utils/render-utils'; + +describe('TernaryTsDsl', () => { + it('renders a basic ternary expression', () => { + const node = $.ternary($('a').eq($('b'))) + .do($.literal(1)) + .otherwise($.literal(2)); + const result = astToString(node.toAst()); + expect(result).toBe('a === b ? 1 : 2'); + }); + + it('renders a ternary with inequality', () => { + const node = $.ternary($('options').neq($('skipToken'))) + .do($('options')) + .otherwise($('undefined')); + const result = astToString(node.toAst()); + expect(result).toBe('options !== skipToken ? options : undefined'); + }); + + it('renders a ternary with as-cast in the truthy branch', () => { + const node = $.ternary($('options').neq($('skipToken'))) + .do($('options').as('T')) + .otherwise($('undefined')); + const result = astToString(node.toAst()); + expect(result).toBe('options !== skipToken ? options as T : undefined'); + }); +}); diff --git a/packages/openapi-ts/src/ts-dsl/expr/call.ts b/packages/openapi-ts/src/ts-dsl/expr/call.ts index c1001024e9..9bf2f02ae1 100644 --- a/packages/openapi-ts/src/ts-dsl/expr/call.ts +++ b/packages/openapi-ts/src/ts-dsl/expr/call.ts @@ -7,6 +7,7 @@ import { TsDsl } from '../base'; import { ArgsMixin } from '../mixins/args'; import { AsMixin } from '../mixins/as'; import { ExprMixin } from '../mixins/expr'; +import { HintMixin } from '../mixins/hint'; import { SpreadMixin } from '../mixins/spread'; import { TypeArgsMixin } from '../mixins/type-args'; import { f } from '../utils/factories'; @@ -15,7 +16,9 @@ export type CallArgs = ReadonlyArray; export type CallCallee = NodeName | MaybeTsDsl; export type CallCtor = (callee: CallCallee, ...args: CallArgs) => CallTsDsl; -const Mixed = ArgsMixin(AsMixin(ExprMixin(SpreadMixin(TypeArgsMixin(TsDsl))))); +const Mixed = ArgsMixin( + AsMixin(ExprMixin(HintMixin(SpreadMixin(TypeArgsMixin(TsDsl))))), +); export class CallTsDsl extends Mixed { readonly '~dsl' = 'CallTsDsl'; @@ -34,11 +37,12 @@ export class CallTsDsl extends Mixed { } override toAst() { - return ts.factory.createCallExpression( + const node = ts.factory.createCallExpression( this.$node(this._callee), this.$generics(), this.$args(), ); + return this.$hint(node); } }