Skip to content

Commit b0ccb2b

Browse files
committed
feat: inline useQuery with skipToken support and queryOptions override
1 parent ebf6878 commit b0ccb2b

File tree

153 files changed

+20416
-3376
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+20416
-3376
lines changed

examples/openapi-ts-tanstack-angular-query-experimental/src/client/@tanstack/angular-query-experimental.gen.ts

Lines changed: 118 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
type DefaultError,
55
type MutationOptions,
66
queryOptions,
7+
skipToken,
78
} from '@tanstack/angular-query-experimental';
89

910
import { client } from '../client.gen';
@@ -150,6 +151,9 @@ const createQueryKey = <TOptions extends Options>(
150151
return [params];
151152
};
152153

154+
const unwrapSkipToken = <T>(options: T | typeof skipToken): T | undefined =>
155+
options !== skipToken ? (options as T) : undefined;
156+
153157
export const findPetsByStatusQueryKey = (options: Options<FindPetsByStatusData>) =>
154158
createQueryKey('findPetsByStatus', options);
155159

@@ -158,23 +162,28 @@ export const findPetsByStatusQueryKey = (options: Options<FindPetsByStatusData>)
158162
*
159163
* Multiple status values can be provided with comma separated strings.
160164
*/
161-
export const findPetsByStatusOptions = (options: Options<FindPetsByStatusData>) =>
165+
export const findPetsByStatusOptions = (
166+
options: Options<FindPetsByStatusData> | typeof skipToken,
167+
) =>
162168
queryOptions<
163169
FindPetsByStatusResponse,
164170
DefaultError,
165171
FindPetsByStatusResponse,
166172
ReturnType<typeof findPetsByStatusQueryKey>
167173
>({
168-
queryFn: async ({ queryKey, signal }) => {
169-
const { data } = await findPetsByStatus({
170-
...options,
171-
...queryKey[0],
172-
signal,
173-
throwOnError: true,
174-
});
175-
return data;
176-
},
177-
queryKey: findPetsByStatusQueryKey(options),
174+
queryFn:
175+
options === skipToken
176+
? skipToken
177+
: async ({ queryKey, signal }) => {
178+
const { data } = await findPetsByStatus({
179+
...unwrapSkipToken(options),
180+
...queryKey[0],
181+
signal,
182+
throwOnError: true,
183+
});
184+
return data;
185+
},
186+
queryKey: findPetsByStatusQueryKey(unwrapSkipToken(options) as Options<FindPetsByStatusData>),
178187
});
179188

180189
export const findPetsByTagsQueryKey = (options: Options<FindPetsByTagsData>) =>
@@ -185,23 +194,26 @@ export const findPetsByTagsQueryKey = (options: Options<FindPetsByTagsData>) =>
185194
*
186195
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
187196
*/
188-
export const findPetsByTagsOptions = (options: Options<FindPetsByTagsData>) =>
197+
export const findPetsByTagsOptions = (options: Options<FindPetsByTagsData> | typeof skipToken) =>
189198
queryOptions<
190199
FindPetsByTagsResponse,
191200
DefaultError,
192201
FindPetsByTagsResponse,
193202
ReturnType<typeof findPetsByTagsQueryKey>
194203
>({
195-
queryFn: async ({ queryKey, signal }) => {
196-
const { data } = await findPetsByTags({
197-
...options,
198-
...queryKey[0],
199-
signal,
200-
throwOnError: true,
201-
});
202-
return data;
203-
},
204-
queryKey: findPetsByTagsQueryKey(options),
204+
queryFn:
205+
options === skipToken
206+
? skipToken
207+
: async ({ queryKey, signal }) => {
208+
const { data } = await findPetsByTags({
209+
...unwrapSkipToken(options),
210+
...queryKey[0],
211+
signal,
212+
throwOnError: true,
213+
});
214+
return data;
215+
},
216+
queryKey: findPetsByTagsQueryKey(unwrapSkipToken(options) as Options<FindPetsByTagsData>),
205217
});
206218

207219
/**
@@ -233,23 +245,26 @@ export const getPetByIdQueryKey = (options: Options<GetPetByIdData>) =>
233245
*
234246
* Returns a single pet.
235247
*/
236-
export const getPetByIdOptions = (options: Options<GetPetByIdData>) =>
248+
export const getPetByIdOptions = (options: Options<GetPetByIdData> | typeof skipToken) =>
237249
queryOptions<
238250
GetPetByIdResponse,
239251
DefaultError,
240252
GetPetByIdResponse,
241253
ReturnType<typeof getPetByIdQueryKey>
242254
>({
243-
queryFn: async ({ queryKey, signal }) => {
244-
const { data } = await getPetById({
245-
...options,
246-
...queryKey[0],
247-
signal,
248-
throwOnError: true,
249-
});
250-
return data;
251-
},
252-
queryKey: getPetByIdQueryKey(options),
255+
queryFn:
256+
options === skipToken
257+
? skipToken
258+
: async ({ queryKey, signal }) => {
259+
const { data } = await getPetById({
260+
...unwrapSkipToken(options),
261+
...queryKey[0],
262+
signal,
263+
throwOnError: true,
264+
});
265+
return data;
266+
},
267+
queryKey: getPetByIdQueryKey(unwrapSkipToken(options) as Options<GetPetByIdData>),
253268
});
254269

255270
/**
@@ -310,23 +325,26 @@ export const getInventoryQueryKey = (options?: Options<GetInventoryData>) =>
310325
*
311326
* Returns a map of status codes to quantities.
312327
*/
313-
export const getInventoryOptions = (options?: Options<GetInventoryData>) =>
328+
export const getInventoryOptions = (options?: Options<GetInventoryData> | typeof skipToken) =>
314329
queryOptions<
315330
GetInventoryResponse,
316331
DefaultError,
317332
GetInventoryResponse,
318333
ReturnType<typeof getInventoryQueryKey>
319334
>({
320-
queryFn: async ({ queryKey, signal }) => {
321-
const { data } = await getInventory({
322-
...options,
323-
...queryKey[0],
324-
signal,
325-
throwOnError: true,
326-
});
327-
return data;
328-
},
329-
queryKey: getInventoryQueryKey(options),
335+
queryFn:
336+
options === skipToken
337+
? skipToken
338+
: async ({ queryKey, signal }) => {
339+
const { data } = await getInventory({
340+
...unwrapSkipToken(options),
341+
...queryKey[0],
342+
signal,
343+
throwOnError: true,
344+
});
345+
return data;
346+
},
347+
queryKey: getInventoryQueryKey(unwrapSkipToken(options)),
330348
});
331349

332350
/**
@@ -383,23 +401,26 @@ export const getOrderByIdQueryKey = (options: Options<GetOrderByIdData>) =>
383401
*
384402
* For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.
385403
*/
386-
export const getOrderByIdOptions = (options: Options<GetOrderByIdData>) =>
404+
export const getOrderByIdOptions = (options: Options<GetOrderByIdData> | typeof skipToken) =>
387405
queryOptions<
388406
GetOrderByIdResponse,
389407
DefaultError,
390408
GetOrderByIdResponse,
391409
ReturnType<typeof getOrderByIdQueryKey>
392410
>({
393-
queryFn: async ({ queryKey, signal }) => {
394-
const { data } = await getOrderById({
395-
...options,
396-
...queryKey[0],
397-
signal,
398-
throwOnError: true,
399-
});
400-
return data;
401-
},
402-
queryKey: getOrderByIdQueryKey(options),
411+
queryFn:
412+
options === skipToken
413+
? skipToken
414+
: async ({ queryKey, signal }) => {
415+
const { data } = await getOrderById({
416+
...unwrapSkipToken(options),
417+
...queryKey[0],
418+
signal,
419+
throwOnError: true,
420+
});
421+
return data;
422+
},
423+
queryKey: getOrderByIdQueryKey(unwrapSkipToken(options) as Options<GetOrderByIdData>),
403424
});
404425

405426
/**
@@ -464,23 +485,26 @@ export const loginUserQueryKey = (options?: Options<LoginUserData>) =>
464485
*
465486
* Log into the system.
466487
*/
467-
export const loginUserOptions = (options?: Options<LoginUserData>) =>
488+
export const loginUserOptions = (options?: Options<LoginUserData> | typeof skipToken) =>
468489
queryOptions<
469490
LoginUserResponse,
470491
DefaultError,
471492
LoginUserResponse,
472493
ReturnType<typeof loginUserQueryKey>
473494
>({
474-
queryFn: async ({ queryKey, signal }) => {
475-
const { data } = await loginUser({
476-
...options,
477-
...queryKey[0],
478-
signal,
479-
throwOnError: true,
480-
});
481-
return data;
482-
},
483-
queryKey: loginUserQueryKey(options),
495+
queryFn:
496+
options === skipToken
497+
? skipToken
498+
: async ({ queryKey, signal }) => {
499+
const { data } = await loginUser({
500+
...unwrapSkipToken(options),
501+
...queryKey[0],
502+
signal,
503+
throwOnError: true,
504+
});
505+
return data;
506+
},
507+
queryKey: loginUserQueryKey(unwrapSkipToken(options)),
484508
});
485509

486510
export const logoutUserQueryKey = (options?: Options<LogoutUserData>) =>
@@ -491,18 +515,21 @@ export const logoutUserQueryKey = (options?: Options<LogoutUserData>) =>
491515
*
492516
* Log user out of the system.
493517
*/
494-
export const logoutUserOptions = (options?: Options<LogoutUserData>) =>
518+
export const logoutUserOptions = (options?: Options<LogoutUserData> | typeof skipToken) =>
495519
queryOptions<unknown, DefaultError, unknown, ReturnType<typeof logoutUserQueryKey>>({
496-
queryFn: async ({ queryKey, signal }) => {
497-
const { data } = await logoutUser({
498-
...options,
499-
...queryKey[0],
500-
signal,
501-
throwOnError: true,
502-
});
503-
return data;
504-
},
505-
queryKey: logoutUserQueryKey(options),
520+
queryFn:
521+
options === skipToken
522+
? skipToken
523+
: async ({ queryKey, signal }) => {
524+
const { data } = await logoutUser({
525+
...unwrapSkipToken(options),
526+
...queryKey[0],
527+
signal,
528+
throwOnError: true,
529+
});
530+
return data;
531+
},
532+
queryKey: logoutUserQueryKey(unwrapSkipToken(options)),
506533
});
507534

508535
/**
@@ -534,23 +561,26 @@ export const getUserByNameQueryKey = (options: Options<GetUserByNameData>) =>
534561
*
535562
* Get user detail based on username.
536563
*/
537-
export const getUserByNameOptions = (options: Options<GetUserByNameData>) =>
564+
export const getUserByNameOptions = (options: Options<GetUserByNameData> | typeof skipToken) =>
538565
queryOptions<
539566
GetUserByNameResponse,
540567
DefaultError,
541568
GetUserByNameResponse,
542569
ReturnType<typeof getUserByNameQueryKey>
543570
>({
544-
queryFn: async ({ queryKey, signal }) => {
545-
const { data } = await getUserByName({
546-
...options,
547-
...queryKey[0],
548-
signal,
549-
throwOnError: true,
550-
});
551-
return data;
552-
},
553-
queryKey: getUserByNameQueryKey(options),
571+
queryFn:
572+
options === skipToken
573+
? skipToken
574+
: async ({ queryKey, signal }) => {
575+
const { data } = await getUserByName({
576+
...unwrapSkipToken(options),
577+
...queryKey[0],
578+
signal,
579+
throwOnError: true,
580+
});
581+
return data;
582+
},
583+
queryKey: getUserByNameQueryKey(unwrapSkipToken(options) as Options<GetUserByNameData>),
554584
});
555585

556586
/**

0 commit comments

Comments
 (0)