@tanstack/react-query 5.59.10 → 5.59.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/build/legacy/index.cjs.map +1 -1
  2. package/build/legacy/index.d.cts +2 -2
  3. package/build/legacy/index.d.ts +2 -2
  4. package/build/legacy/index.js.map +1 -1
  5. package/build/legacy/infiniteQueryOptions.cjs.map +1 -1
  6. package/build/legacy/infiniteQueryOptions.d.cts +8 -2
  7. package/build/legacy/infiniteQueryOptions.d.ts +8 -2
  8. package/build/legacy/infiniteQueryOptions.js.map +1 -1
  9. package/build/legacy/queryOptions.cjs.map +1 -1
  10. package/build/legacy/queryOptions.d.cts +8 -2
  11. package/build/legacy/queryOptions.d.ts +8 -2
  12. package/build/legacy/queryOptions.js.map +1 -1
  13. package/build/legacy/types.cjs.map +1 -1
  14. package/build/legacy/types.d.cts +5 -3
  15. package/build/legacy/types.d.ts +5 -3
  16. package/build/legacy/useSuspenseInfiniteQuery.cjs.map +1 -1
  17. package/build/legacy/useSuspenseInfiniteQuery.js.map +1 -1
  18. package/build/legacy/useSuspenseQuery.cjs.map +1 -1
  19. package/build/legacy/useSuspenseQuery.js.map +1 -1
  20. package/build/modern/index.cjs.map +1 -1
  21. package/build/modern/index.d.cts +2 -2
  22. package/build/modern/index.d.ts +2 -2
  23. package/build/modern/index.js.map +1 -1
  24. package/build/modern/infiniteQueryOptions.cjs.map +1 -1
  25. package/build/modern/infiniteQueryOptions.d.cts +8 -2
  26. package/build/modern/infiniteQueryOptions.d.ts +8 -2
  27. package/build/modern/infiniteQueryOptions.js.map +1 -1
  28. package/build/modern/queryOptions.cjs.map +1 -1
  29. package/build/modern/queryOptions.d.cts +8 -2
  30. package/build/modern/queryOptions.d.ts +8 -2
  31. package/build/modern/queryOptions.js.map +1 -1
  32. package/build/modern/types.cjs.map +1 -1
  33. package/build/modern/types.d.cts +5 -3
  34. package/build/modern/types.d.ts +5 -3
  35. package/build/modern/useSuspenseInfiniteQuery.cjs.map +1 -1
  36. package/build/modern/useSuspenseInfiniteQuery.js.map +1 -1
  37. package/build/modern/useSuspenseQuery.cjs.map +1 -1
  38. package/build/modern/useSuspenseQuery.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/__tests__/infiniteQueryOptions.test-d.tsx +13 -1
  41. package/src/__tests__/prefetch.test.tsx +7 -3
  42. package/src/__tests__/queryOptions.test-d.tsx +10 -0
  43. package/src/__tests__/suspense.test-d.tsx +29 -11
  44. package/src/__tests__/useSuspenseQueries.test-d.tsx +41 -18
  45. package/src/index.ts +2 -0
  46. package/src/infiniteQueryOptions.ts +56 -0
  47. package/src/queryOptions.ts +28 -0
  48. package/src/types.ts +22 -4
  49. package/src/useSuspenseInfiniteQuery.ts +1 -1
  50. package/src/useSuspenseQuery.ts +1 -1
@@ -1,9 +1,12 @@
1
- import { DefaultError, QueryKey, InitialDataFunction, DataTag } from '@tanstack/query-core';
1
+ import { DefaultError, QueryKey, InitialDataFunction, OmitKeyof, SkipToken, DataTag } from '@tanstack/query-core';
2
2
  import { UseQueryOptions } from './types.js';
3
3
 
4
4
  type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
5
5
  initialData?: undefined | InitialDataFunction<NonUndefinedGuard<TQueryFnData>> | NonUndefinedGuard<TQueryFnData>;
6
6
  };
7
+ type UnusedSkipTokenOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn'> & {
8
+ queryFn: Exclude<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'], SkipToken>;
9
+ };
7
10
  type NonUndefinedGuard<T> = T extends undefined ? never : T;
8
11
  type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
9
12
  initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
@@ -11,8 +14,11 @@ type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TD
11
14
  declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
12
15
  queryKey: DataTag<TQueryKey, TQueryFnData>;
13
16
  };
17
+ declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey>): UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey> & {
18
+ queryKey: DataTag<TQueryKey, TQueryFnData>;
19
+ };
14
20
  declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
15
21
  queryKey: DataTag<TQueryKey, TQueryFnData>;
16
22
  };
17
23
 
18
- export { type DefinedInitialDataOptions, type UndefinedInitialDataOptions, queryOptions };
24
+ export { type DefinedInitialDataOptions, type UndefinedInitialDataOptions, type UnusedSkipTokenOptions, queryOptions };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type {\n DataTag,\n DefaultError,\n InitialDataFunction,\n QueryKey,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?:\n | undefined\n | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>\n | NonUndefinedGuard<TQueryFnData>\n}\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {\n queryKey: DataTag<TQueryKey, TQueryFnData>\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {\n queryKey: DataTag<TQueryKey, TQueryFnData>\n}\n\nexport function queryOptions(options: unknown) {\n return options\n}\n"],"mappings":";AAuDO,SAAS,aAAa,SAAkB;AAC7C,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type {\n DataTag,\n DefaultError,\n InitialDataFunction,\n OmitKeyof,\n QueryKey,\n SkipToken,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?:\n | undefined\n | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>\n | NonUndefinedGuard<TQueryFnData>\n}\n\nexport type UnusedSkipTokenOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = OmitKeyof<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryFn'\n> & {\n queryFn: Exclude<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'],\n SkipToken\n >\n}\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {\n queryKey: DataTag<TQueryKey, TQueryFnData>\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey> & {\n queryKey: DataTag<TQueryKey, TQueryFnData>\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {\n queryKey: DataTag<TQueryKey, TQueryFnData>\n}\n\nexport function queryOptions(options: unknown) {\n return options\n}\n"],"mappings":";AAmFO,SAAS,aAAa,SAAkB;AAC7C,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type {\n DefaultError,\n DefinedInfiniteQueryObserverResult,\n DefinedQueryObserverResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n MutateFunction,\n MutationObserverOptions,\n MutationObserverResult,\n OmitKeyof,\n Override,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\n\nexport interface UseBaseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {}\n\nexport interface UseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends OmitKeyof<\n UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,\n 'suspense'\n > {}\n\nexport interface UseSuspenseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends OmitKeyof<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'enabled' | 'throwOnError' | 'placeholderData'\n > {}\n\nexport interface UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends OmitKeyof<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n 'suspense'\n > {}\n\nexport interface UseSuspenseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends OmitKeyof<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n 'enabled' | 'throwOnError' | 'placeholderData'\n > {}\n\nexport type UseBaseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = QueryObserverResult<TData, TError>\n\nexport type UseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = UseBaseQueryResult<TData, TError>\n\nexport type UseSuspenseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = OmitKeyof<\n DefinedQueryObserverResult<TData, TError>,\n 'isPlaceholderData' | 'promise'\n>\n\nexport type DefinedUseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = DefinedQueryObserverResult<TData, TError>\n\nexport type UseInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = InfiniteQueryObserverResult<TData, TError>\n\nexport type DefinedUseInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = DefinedInfiniteQueryObserverResult<TData, TError>\n\nexport type UseSuspenseInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = OmitKeyof<\n DefinedInfiniteQueryObserverResult<TData, TError>,\n 'isPlaceholderData' | 'promise'\n>\n\nexport interface UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TContext>,\n '_defaulted'\n > {}\n\nexport type UseMutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutateAsyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MutateFunction<TData, TError, TVariables, TContext>\n\nexport type UseBaseMutationResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> = Override<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n { mutate: UseMutateFunction<TData, TError, TVariables, TContext> }\n> & { mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TContext> }\n\nexport type UseMutationResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> = UseBaseMutationResult<TData, TError, TVariables, TContext>\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type {\n DefaultError,\n DefinedInfiniteQueryObserverResult,\n DefinedQueryObserverResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n MutateFunction,\n MutationObserverOptions,\n MutationObserverResult,\n OmitKeyof,\n Override,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n SkipToken,\n} from '@tanstack/query-core'\n\nexport interface UseBaseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {}\n\nexport interface UseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends OmitKeyof<\n UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,\n 'suspense'\n > {}\n\nexport interface UseSuspenseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends OmitKeyof<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'\n > {\n queryFn: Exclude<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'],\n SkipToken\n >\n}\n\nexport interface UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends OmitKeyof<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n 'suspense'\n > {}\n\nexport interface UseSuspenseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends OmitKeyof<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'\n > {\n queryFn: Exclude<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >['queryFn'],\n SkipToken\n >\n}\n\nexport type UseBaseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = QueryObserverResult<TData, TError>\n\nexport type UseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = UseBaseQueryResult<TData, TError>\n\nexport type UseSuspenseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = OmitKeyof<\n DefinedQueryObserverResult<TData, TError>,\n 'isPlaceholderData' | 'promise'\n>\n\nexport type DefinedUseQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = DefinedQueryObserverResult<TData, TError>\n\nexport type UseInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = InfiniteQueryObserverResult<TData, TError>\n\nexport type DefinedUseInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = DefinedInfiniteQueryObserverResult<TData, TError>\n\nexport type UseSuspenseInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = OmitKeyof<\n DefinedInfiniteQueryObserverResult<TData, TError>,\n 'isPlaceholderData' | 'promise'\n>\n\nexport interface UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TContext>,\n '_defaulted'\n > {}\n\nexport type UseMutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutateAsyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MutateFunction<TData, TError, TVariables, TContext>\n\nexport type UseBaseMutationResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> = Override<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n { mutate: UseMutateFunction<TData, TError, TVariables, TContext> }\n> & { mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TContext> }\n\nexport type UseMutationResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> = UseBaseMutationResult<TData, TError, TVariables, TContext>\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,14 +1,16 @@
1
- import { DefaultError, QueryKey, QueryObserverOptions, OmitKeyof, InfiniteQueryObserverOptions, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, DefinedInfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, Override, MutationObserverResult } from '@tanstack/query-core';
1
+ import { DefaultError, QueryKey, QueryObserverOptions, OmitKeyof, SkipToken, InfiniteQueryObserverOptions, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, DefinedInfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, Override, MutationObserverResult } from '@tanstack/query-core';
2
2
 
3
3
  interface UseBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
4
4
  }
5
5
  interface UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {
6
6
  }
7
- interface UseSuspenseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled' | 'throwOnError' | 'placeholderData'> {
7
+ interface UseSuspenseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'> {
8
+ queryFn: Exclude<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'], SkipToken>;
8
9
  }
9
10
  interface UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'suspense'> {
10
11
  }
11
- interface UseSuspenseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'enabled' | 'throwOnError' | 'placeholderData'> {
12
+ interface UseSuspenseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'> {
13
+ queryFn: Exclude<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>['queryFn'], SkipToken>;
12
14
  }
13
15
  type UseBaseQueryResult<TData = unknown, TError = DefaultError> = QueryObserverResult<TData, TError>;
14
16
  type UseQueryResult<TData = unknown, TError = DefaultError> = UseBaseQueryResult<TData, TError>;
@@ -1,14 +1,16 @@
1
- import { DefaultError, QueryKey, QueryObserverOptions, OmitKeyof, InfiniteQueryObserverOptions, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, DefinedInfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, Override, MutationObserverResult } from '@tanstack/query-core';
1
+ import { DefaultError, QueryKey, QueryObserverOptions, OmitKeyof, SkipToken, InfiniteQueryObserverOptions, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, DefinedInfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, Override, MutationObserverResult } from '@tanstack/query-core';
2
2
 
3
3
  interface UseBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
4
4
  }
5
5
  interface UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {
6
6
  }
7
- interface UseSuspenseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled' | 'throwOnError' | 'placeholderData'> {
7
+ interface UseSuspenseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'> {
8
+ queryFn: Exclude<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'], SkipToken>;
8
9
  }
9
10
  interface UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'suspense'> {
10
11
  }
11
- interface UseSuspenseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'enabled' | 'throwOnError' | 'placeholderData'> {
12
+ interface UseSuspenseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'> {
13
+ queryFn: Exclude<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>['queryFn'], SkipToken>;
12
14
  }
13
15
  type UseBaseQueryResult<TData = unknown, TError = DefaultError> = QueryObserverResult<TData, TError>;
14
16
  type UseQueryResult<TData = unknown, TError = DefaultError> = UseBaseQueryResult<TData, TError>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useSuspenseInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverSuccessResult,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n UseSuspenseInfiniteQueryOptions,\n UseSuspenseInfiniteQueryResult,\n} from './types'\n\nexport function useSuspenseInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseSuspenseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseSuspenseInfiniteQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error('skipToken is not allowed for useSuspenseInfiniteQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n },\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as InfiniteQueryObserverSuccessResult<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAiD;AACjD,0BAA6B;AAC7B,sBAAoC;AAc7B,SAAS,yBAOd,SAQA,aAC+C;AAC/C,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,QAAQ,YAAY,6BAAW;AACjC,cAAQ,MAAM,uDAAuD;AAAA,IACvE;AAAA,EACF;AAEA,aAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useSuspenseInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverSuccessResult,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n UseSuspenseInfiniteQueryOptions,\n UseSuspenseInfiniteQueryResult,\n} from './types'\n\nexport function useSuspenseInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseSuspenseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseSuspenseInfiniteQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseInfiniteQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n },\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as InfiniteQueryObserverSuccessResult<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAiD;AACjD,0BAA6B;AAC7B,sBAAoC;AAc7B,SAAS,yBAOd,SAQA,aAC+C;AAC/C,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAK,QAAQ,YAAoB,6BAAW;AAC1C,cAAQ,MAAM,uDAAuD;AAAA,IACvE;AAAA,EACF;AAEA,aAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useSuspenseInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverSuccessResult,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n UseSuspenseInfiniteQueryOptions,\n UseSuspenseInfiniteQueryResult,\n} from './types'\n\nexport function useSuspenseInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseSuspenseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseSuspenseInfiniteQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error('skipToken is not allowed for useSuspenseInfiniteQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n },\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as InfiniteQueryObserverSuccessResult<TData, TError>\n}\n"],"mappings":";;;AACA,SAAS,uBAAuB,iBAAiB;AACjD,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAc7B,SAAS,yBAOd,SAQA,aAC+C;AAC/C,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,QAAQ,YAAY,WAAW;AACjC,cAAQ,MAAM,uDAAuD;AAAA,IACvE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useSuspenseInfiniteQuery.ts"],"sourcesContent":["'use client'\nimport { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverSuccessResult,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n UseSuspenseInfiniteQueryOptions,\n UseSuspenseInfiniteQueryResult,\n} from './types'\n\nexport function useSuspenseInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseSuspenseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseSuspenseInfiniteQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseInfiniteQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n },\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as InfiniteQueryObserverSuccessResult<TData, TError>\n}\n"],"mappings":";;;AACA,SAAS,uBAAuB,iBAAiB;AACjD,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAc7B,SAAS,yBAOd,SAQA,aAC+C;AAC/C,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAK,QAAQ,YAAoB,WAAW;AAC1C,cAAQ,MAAM,uDAAuD;AAAA,IACvE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useSuspenseQuery.ts"],"sourcesContent":["'use client'\nimport { QueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\n\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseSuspenseQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error('skipToken is not allowed for useSuspenseQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: undefined,\n },\n QueryObserver,\n queryClient,\n ) as UseSuspenseQueryResult<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAyC;AACzC,0BAA6B;AAC7B,sBAAoC;AAI7B,SAAS,iBAMd,SACA,aACuC;AACvC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,QAAQ,YAAY,6BAAW;AACjC,cAAQ,MAAM,+CAA+C;AAAA,IAC/D;AAAA,EACF;AAEA,aAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useSuspenseQuery.ts"],"sourcesContent":["'use client'\nimport { QueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\n\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseSuspenseQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: undefined,\n },\n QueryObserver,\n queryClient,\n ) as UseSuspenseQueryResult<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAyC;AACzC,0BAA6B;AAC7B,sBAAoC;AAI7B,SAAS,iBAMd,SACA,aACuC;AACvC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAK,QAAQ,YAAoB,6BAAW;AAC1C,cAAQ,MAAM,+CAA+C;AAAA,IAC/D;AAAA,EACF;AAEA,aAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useSuspenseQuery.ts"],"sourcesContent":["'use client'\nimport { QueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\n\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseSuspenseQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error('skipToken is not allowed for useSuspenseQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: undefined,\n },\n QueryObserver,\n queryClient,\n ) as UseSuspenseQueryResult<TData, TError>\n}\n"],"mappings":";;;AACA,SAAS,eAAe,iBAAiB;AACzC,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAI7B,SAAS,iBAMd,SACA,aACuC;AACvC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,QAAQ,YAAY,WAAW;AACjC,cAAQ,MAAM,+CAA+C;AAAA,IAC/D;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useSuspenseQuery.ts"],"sourcesContent":["'use client'\nimport { QueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\n\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseSuspenseQueryResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: undefined,\n },\n QueryObserver,\n queryClient,\n ) as UseSuspenseQueryResult<TData, TError>\n}\n"],"mappings":";;;AACA,SAAS,eAAe,iBAAiB;AACzC,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAI7B,SAAS,iBAMd,SACA,aACuC;AACvC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAK,QAAQ,YAAoB,WAAW;AAC1C,cAAQ,MAAM,+CAA+C;AAAA,IAC/D;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/react-query",
3
- "version": "5.59.10",
3
+ "version": "5.59.11",
4
4
  "description": "Hooks for managing, caching and syncing asynchronous and remote data in React",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  import { describe, expectTypeOf, it, test } from 'vitest'
2
- import { QueryClient, dataTagSymbol } from '@tanstack/query-core'
2
+ import { QueryClient, dataTagSymbol, skipToken } from '@tanstack/query-core'
3
3
  import { infiniteQueryOptions } from '../infiniteQueryOptions'
4
4
  import { useInfiniteQuery } from '../useInfiniteQuery'
5
5
  import { useSuspenseInfiniteQuery } from '../useSuspenseInfiniteQuery'
@@ -134,6 +134,18 @@ describe('infiniteQueryOptions', () => {
134
134
  InfiniteData<string, unknown> | undefined
135
135
  >()
136
136
  })
137
+ it('should throw a type error when using queryFn with skipToken in a suspense query', () => {
138
+ const options = infiniteQueryOptions({
139
+ queryKey: ['key'],
140
+ queryFn:
141
+ Math.random() > 0.5 ? skipToken : () => Promise.resolve('string'),
142
+ getNextPageParam: () => 1,
143
+ initialPageParam: 1,
144
+ })
145
+ // @ts-expect-error TS2345
146
+ const { data } = useSuspenseInfiniteQuery(options)
147
+ expectTypeOf(data).toEqualTypeOf<InfiniteData<string, unknown>>()
148
+ })
137
149
 
138
150
  test('should not be allowed to be passed to non-infinite query functions', () => {
139
151
  const queryClient = new QueryClient()
@@ -12,7 +12,11 @@ import {
12
12
  } from '..'
13
13
  import { createQueryClient, queryKey, renderWithClient, sleep } from './utils'
14
14
 
15
- import type { InfiniteData, UseInfiniteQueryOptions, UseQueryOptions } from '..'
15
+ import type {
16
+ InfiniteData,
17
+ UseSuspenseInfiniteQueryOptions,
18
+ UseSuspenseQueryOptions,
19
+ } from '..'
16
20
  import type { Mock } from 'vitest'
17
21
 
18
22
  const generateQueryFn = (data: string) =>
@@ -56,7 +60,7 @@ describe('usePrefetchQuery', () => {
56
60
  const queryClient = createQueryClient({ queryCache })
57
61
 
58
62
  function Suspended<TData = unknown>(props: {
59
- queryOpts: UseQueryOptions<TData, Error, TData, Array<string>>
63
+ queryOpts: UseSuspenseQueryOptions<TData, Error, TData, Array<string>>
60
64
  children?: React.ReactNode
61
65
  }) {
62
66
  const state = useSuspenseQuery(props.queryOpts)
@@ -303,7 +307,7 @@ describe('usePrefetchInfiniteQuery', () => {
303
307
  const Fallback = vi.fn().mockImplementation(() => <div>Loading...</div>)
304
308
 
305
309
  function Suspended<T = unknown>(props: {
306
- queryOpts: UseInfiniteQueryOptions<
310
+ queryOpts: UseSuspenseInfiniteQueryOptions<
307
311
  T,
308
312
  Error,
309
313
  InfiniteData<T>,
@@ -177,6 +177,16 @@ describe('queryOptions', () => {
177
177
  expectTypeOf(data).toEqualTypeOf<unknown>()
178
178
  })
179
179
 
180
+ it('should throw a type error when using queryFn with skipToken in a suspense query', () => {
181
+ const options = queryOptions({
182
+ queryKey: ['key'],
183
+ queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
184
+ })
185
+ // @ts-expect-error TS2345
186
+ const { data } = useSuspenseQuery(options)
187
+ expectTypeOf(data).toEqualTypeOf<number>()
188
+ })
189
+
180
190
  it('should return the proper type when passed to QueriesObserver', () => {
181
191
  const options = queryOptions({
182
192
  queryKey: ['key'],
@@ -1,7 +1,7 @@
1
1
  import { describe, expectTypeOf, it } from 'vitest'
2
+ import { skipToken } from '@tanstack/query-core'
2
3
  import { useSuspenseQuery } from '../useSuspenseQuery'
3
4
  import { useSuspenseInfiniteQuery } from '../useSuspenseInfiniteQuery'
4
- import type { UseSuspenseQueryOptions } from '..'
5
5
  import type { InfiniteData } from '@tanstack/query-core'
6
6
 
7
7
  describe('useSuspenseQuery', () => {
@@ -23,6 +23,20 @@ describe('useSuspenseQuery', () => {
23
23
  expectTypeOf(status).toEqualTypeOf<'error' | 'success'>()
24
24
  })
25
25
 
26
+ it('should not allow skipToken in queryFn', () => {
27
+ useSuspenseQuery({
28
+ queryKey: ['key'],
29
+ // @ts-expect-error
30
+ queryFn: skipToken,
31
+ })
32
+
33
+ useSuspenseQuery({
34
+ queryKey: ['key'],
35
+ // @ts-expect-error
36
+ queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
37
+ })
38
+ })
39
+
26
40
  it('should not allow placeholderData, enabled or throwOnError props', () => {
27
41
  useSuspenseQuery({
28
42
  queryKey: ['key'],
@@ -70,6 +84,20 @@ describe('useSuspenseInfiniteQuery', () => {
70
84
  expectTypeOf(data).toEqualTypeOf<InfiniteData<number, unknown>>()
71
85
  })
72
86
 
87
+ it('should not allow skipToken in queryFn', () => {
88
+ useSuspenseInfiniteQuery({
89
+ queryKey: ['key'],
90
+ // @ts-expect-error
91
+ queryFn: skipToken,
92
+ })
93
+
94
+ useSuspenseInfiniteQuery({
95
+ queryKey: ['key'],
96
+ // @ts-expect-error
97
+ queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
98
+ })
99
+ })
100
+
73
101
  it('should not have pending status', () => {
74
102
  const { status } = useSuspenseInfiniteQuery({
75
103
  queryKey: ['key'],
@@ -122,14 +150,4 @@ describe('useSuspenseInfiniteQuery', () => {
122
150
  // @ts-expect-error TS2339
123
151
  query.isPlaceholderData
124
152
  })
125
-
126
- it('should not accept skipToken type for queryFn in useSuspenseQuery', () => {
127
- const query: UseSuspenseQueryOptions = {
128
- // @ts-expect-error
129
- queryFn: skipToken,
130
- queryKey: [1],
131
- }
132
-
133
- return query
134
- })
135
153
  })
@@ -89,6 +89,47 @@ describe('UseSuspenseQueries config object overload', () => {
89
89
  expectTypeOf(data).toEqualTypeOf<{ wow: boolean }>()
90
90
  })
91
91
 
92
+ it('should not allow skipToken in queryFn', () => {
93
+ useSuspenseQueries({
94
+ queries: [
95
+ {
96
+ queryKey: ['key'],
97
+ // @ts-expect-error
98
+ queryFn: skipToken,
99
+ },
100
+ ],
101
+ })
102
+
103
+ useSuspenseQueries({
104
+ queries: [
105
+ {
106
+ queryKey: ['key'],
107
+ // @ts-expect-error
108
+ queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
109
+ },
110
+ ],
111
+ })
112
+ })
113
+
114
+ it('TData should have correct type when conditional skipToken is passed', () => {
115
+ const queryResults = useSuspenseQueries({
116
+ queries: [
117
+ {
118
+ queryKey: ['withSkipToken'],
119
+ // @ts-expect-error
120
+ queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
121
+ },
122
+ ],
123
+ })
124
+
125
+ const firstResult = queryResults[0]
126
+
127
+ expectTypeOf(firstResult).toEqualTypeOf<
128
+ UseSuspenseQueryResult<number, Error>
129
+ >()
130
+ expectTypeOf(firstResult.data).toEqualTypeOf<number>()
131
+ })
132
+
92
133
  describe('custom hook', () => {
93
134
  it('should allow custom hooks using UseQueryOptions', () => {
94
135
  type Data = string
@@ -113,22 +154,4 @@ describe('UseSuspenseQueries config object overload', () => {
113
154
  expectTypeOf(data).toEqualTypeOf<Data>()
114
155
  })
115
156
  })
116
-
117
- it('TData should have correct type when conditional skipToken is passed', () => {
118
- const queryResults = useSuspenseQueries({
119
- queries: [
120
- {
121
- queryKey: ['withSkipToken'],
122
- queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
123
- },
124
- ],
125
- })
126
-
127
- const firstResult = queryResults[0]
128
-
129
- expectTypeOf(firstResult).toEqualTypeOf<
130
- UseSuspenseQueryResult<number, Error>
131
- >()
132
- expectTypeOf(firstResult.data).toEqualTypeOf<number>()
133
- })
134
157
  })
package/src/index.ts CHANGED
@@ -21,11 +21,13 @@ export { queryOptions } from './queryOptions'
21
21
  export type {
22
22
  DefinedInitialDataOptions,
23
23
  UndefinedInitialDataOptions,
24
+ UnusedSkipTokenOptions,
24
25
  } from './queryOptions'
25
26
  export { infiniteQueryOptions } from './infiniteQueryOptions'
26
27
  export type {
27
28
  DefinedInitialDataInfiniteOptions,
28
29
  UndefinedInitialDataInfiniteOptions,
30
+ UnusedSkipTokenInfiniteOptions,
29
31
  } from './infiniteQueryOptions'
30
32
  export {
31
33
  QueryClientContext,
@@ -3,7 +3,9 @@ import type {
3
3
  DefaultError,
4
4
  InfiniteData,
5
5
  InitialDataFunction,
6
+ OmitKeyof,
6
7
  QueryKey,
8
+ SkipToken,
7
9
  } from '@tanstack/query-core'
8
10
  import type { UseInfiniteQueryOptions } from './types'
9
11
 
@@ -29,6 +31,36 @@ export type UndefinedInitialDataInfiniteOptions<
29
31
  >
30
32
  }
31
33
 
34
+ export type UnusedSkipTokenInfiniteOptions<
35
+ TQueryFnData,
36
+ TError = DefaultError,
37
+ TData = InfiniteData<TQueryFnData>,
38
+ TQueryKey extends QueryKey = QueryKey,
39
+ TPageParam = unknown,
40
+ > = OmitKeyof<
41
+ UseInfiniteQueryOptions<
42
+ TQueryFnData,
43
+ TError,
44
+ TData,
45
+ TQueryFnData,
46
+ TQueryKey,
47
+ TPageParam
48
+ >,
49
+ 'queryFn'
50
+ > & {
51
+ queryFn: Exclude<
52
+ UseInfiniteQueryOptions<
53
+ TQueryFnData,
54
+ TError,
55
+ TData,
56
+ TQueryFnData,
57
+ TQueryKey,
58
+ TPageParam
59
+ >['queryFn'],
60
+ SkipToken
61
+ >
62
+ }
63
+
32
64
  type NonUndefinedGuard<T> = T extends undefined ? never : T
33
65
 
34
66
  export type DefinedInitialDataInfiniteOptions<
@@ -75,6 +107,30 @@ export function infiniteQueryOptions<
75
107
  queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>
76
108
  }
77
109
 
110
+ export function infiniteQueryOptions<
111
+ TQueryFnData,
112
+ TError = DefaultError,
113
+ TData = InfiniteData<TQueryFnData>,
114
+ TQueryKey extends QueryKey = QueryKey,
115
+ TPageParam = unknown,
116
+ >(
117
+ options: UnusedSkipTokenInfiniteOptions<
118
+ TQueryFnData,
119
+ TError,
120
+ TData,
121
+ TQueryKey,
122
+ TPageParam
123
+ >,
124
+ ): UnusedSkipTokenInfiniteOptions<
125
+ TQueryFnData,
126
+ TError,
127
+ TData,
128
+ TQueryKey,
129
+ TPageParam
130
+ > & {
131
+ queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>
132
+ }
133
+
78
134
  export function infiniteQueryOptions<
79
135
  TQueryFnData,
80
136
  TError = DefaultError,
@@ -2,7 +2,9 @@ import type {
2
2
  DataTag,
3
3
  DefaultError,
4
4
  InitialDataFunction,
5
+ OmitKeyof,
5
6
  QueryKey,
7
+ SkipToken,
6
8
  } from '@tanstack/query-core'
7
9
  import type { UseQueryOptions } from './types'
8
10
 
@@ -18,6 +20,21 @@ export type UndefinedInitialDataOptions<
18
20
  | NonUndefinedGuard<TQueryFnData>
19
21
  }
20
22
 
23
+ export type UnusedSkipTokenOptions<
24
+ TQueryFnData = unknown,
25
+ TError = DefaultError,
26
+ TData = TQueryFnData,
27
+ TQueryKey extends QueryKey = QueryKey,
28
+ > = OmitKeyof<
29
+ UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
30
+ 'queryFn'
31
+ > & {
32
+ queryFn: Exclude<
33
+ UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'],
34
+ SkipToken
35
+ >
36
+ }
37
+
21
38
  type NonUndefinedGuard<T> = T extends undefined ? never : T
22
39
 
23
40
  export type DefinedInitialDataOptions<
@@ -42,6 +59,17 @@ export function queryOptions<
42
59
  queryKey: DataTag<TQueryKey, TQueryFnData>
43
60
  }
44
61
 
62
+ export function queryOptions<
63
+ TQueryFnData = unknown,
64
+ TError = DefaultError,
65
+ TData = TQueryFnData,
66
+ TQueryKey extends QueryKey = QueryKey,
67
+ >(
68
+ options: UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey>,
69
+ ): UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey> & {
70
+ queryKey: DataTag<TQueryKey, TQueryFnData>
71
+ }
72
+
45
73
  export function queryOptions<
46
74
  TQueryFnData = unknown,
47
75
  TError = DefaultError,
package/src/types.ts CHANGED
@@ -14,6 +14,7 @@ import type {
14
14
  QueryKey,
15
15
  QueryObserverOptions,
16
16
  QueryObserverResult,
17
+ SkipToken,
17
18
  } from '@tanstack/query-core'
18
19
 
19
20
  export interface UseBaseQueryOptions<
@@ -47,8 +48,13 @@ export interface UseSuspenseQueryOptions<
47
48
  TQueryKey extends QueryKey = QueryKey,
48
49
  > extends OmitKeyof<
49
50
  UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
50
- 'enabled' | 'throwOnError' | 'placeholderData'
51
- > {}
51
+ 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'
52
+ > {
53
+ queryFn: Exclude<
54
+ UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'],
55
+ SkipToken
56
+ >
57
+ }
52
58
 
53
59
  export interface UseInfiniteQueryOptions<
54
60
  TQueryFnData = unknown,
@@ -85,8 +91,20 @@ export interface UseSuspenseInfiniteQueryOptions<
85
91
  TQueryKey,
86
92
  TPageParam
87
93
  >,
88
- 'enabled' | 'throwOnError' | 'placeholderData'
89
- > {}
94
+ 'queryFn' | 'enabled' | 'throwOnError' | 'placeholderData'
95
+ > {
96
+ queryFn: Exclude<
97
+ UseInfiniteQueryOptions<
98
+ TQueryFnData,
99
+ TError,
100
+ TData,
101
+ TQueryData,
102
+ TQueryKey,
103
+ TPageParam
104
+ >['queryFn'],
105
+ SkipToken
106
+ >
107
+ }
90
108
 
91
109
  export type UseBaseQueryResult<
92
110
  TData = unknown,
@@ -33,7 +33,7 @@ export function useSuspenseInfiniteQuery<
33
33
  queryClient?: QueryClient,
34
34
  ): UseSuspenseInfiniteQueryResult<TData, TError> {
35
35
  if (process.env.NODE_ENV !== 'production') {
36
- if (options.queryFn === skipToken) {
36
+ if ((options.queryFn as any) === skipToken) {
37
37
  console.error('skipToken is not allowed for useSuspenseInfiniteQuery')
38
38
  }
39
39
  }
@@ -15,7 +15,7 @@ export function useSuspenseQuery<
15
15
  queryClient?: QueryClient,
16
16
  ): UseSuspenseQueryResult<TData, TError> {
17
17
  if (process.env.NODE_ENV !== 'production') {
18
- if (options.queryFn === skipToken) {
18
+ if ((options.queryFn as any) === skipToken) {
19
19
  console.error('skipToken is not allowed for useSuspenseQuery')
20
20
  }
21
21
  }