@tanstack/react-query 5.0.0-beta.19 → 5.0.0-beta.20

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 (45) hide show
  1. package/build/legacy/useQueries.cjs.map +1 -1
  2. package/build/legacy/useQueries.d.cts +3 -3
  3. package/build/legacy/useQueries.d.ts +3 -3
  4. package/build/legacy/useQueries.js.map +1 -1
  5. package/build/legacy/useSuspenseQueries.cjs.map +1 -1
  6. package/build/legacy/useSuspenseQueries.d.cts +5 -5
  7. package/build/legacy/useSuspenseQueries.d.ts +5 -5
  8. package/build/legacy/useSuspenseQueries.js.map +1 -1
  9. package/build/legacy/utils.cjs.map +1 -1
  10. package/build/legacy/utils.d.cts +1 -1
  11. package/build/legacy/utils.d.ts +1 -1
  12. package/build/legacy/utils.js.map +1 -1
  13. package/build/modern/useQueries.cjs.map +1 -1
  14. package/build/modern/useQueries.d.cts +3 -3
  15. package/build/modern/useQueries.d.ts +3 -3
  16. package/build/modern/useQueries.js.map +1 -1
  17. package/build/modern/useSuspenseQueries.cjs.map +1 -1
  18. package/build/modern/useSuspenseQueries.d.cts +5 -5
  19. package/build/modern/useSuspenseQueries.d.ts +5 -5
  20. package/build/modern/useSuspenseQueries.js.map +1 -1
  21. package/build/modern/utils.cjs.map +1 -1
  22. package/build/modern/utils.d.cts +1 -1
  23. package/build/modern/utils.d.ts +1 -1
  24. package/build/modern/utils.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/__tests__/suspense.test.tsx +7 -6
  27. package/src/__tests__/useInfiniteQuery.test.tsx +21 -21
  28. package/src/__tests__/useIsFetching.test.tsx +2 -2
  29. package/src/__tests__/useMutation.test.tsx +4 -4
  30. package/src/__tests__/useMutationState.test.tsx +4 -4
  31. package/src/__tests__/useQueries.test.tsx +14 -12
  32. package/src/__tests__/useQuery.test.tsx +80 -80
  33. package/src/useQueries.ts +33 -27
  34. package/src/useSuspenseQueries.ts +33 -27
  35. package/src/utils.ts +1 -1
  36. package/build/codemods/coverage/base.css +0 -224
  37. package/build/codemods/coverage/block-navigation.js +0 -87
  38. package/build/codemods/coverage/clover.xml +0 -6
  39. package/build/codemods/coverage/coverage-final.json +0 -1
  40. package/build/codemods/coverage/favicon.png +0 -0
  41. package/build/codemods/coverage/index.html +0 -101
  42. package/build/codemods/coverage/prettify.css +0 -1
  43. package/build/codemods/coverage/prettify.js +0 -2
  44. package/build/codemods/coverage/sort-arrow-sprite.png +0 -0
  45. package/build/codemods/coverage/sorter.js +0 -196
@@ -37,7 +37,7 @@ type GetSuspenseResults<T> = T extends {
37
37
  /**
38
38
  * SuspenseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
39
39
  */
40
- type SuspenseQueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? UseSuspenseQueryOptions[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetSuspenseOptions<Head>] : T extends [infer Head, ...infer Tail] ? SuspenseQueriesOptions<[
40
+ type SuspenseQueriesOptions<T extends Array<any>, Result extends Array<any> = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? Array<UseSuspenseQueryOptions> : T extends [] ? [] : T extends [infer Head] ? [...Result, GetSuspenseOptions<Head>] : T extends [infer Head, ...infer Tail] ? SuspenseQueriesOptions<[
41
41
  ...Tail
42
42
  ], [
43
43
  ...Result,
@@ -45,11 +45,11 @@ type SuspenseQueriesOptions<T extends any[], Result extends any[] = [], Depth ex
45
45
  ], [
46
46
  ...Depth,
47
47
  1
48
- ]> : unknown[] extends T ? T : T extends UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[] : UseSuspenseQueryOptions[];
48
+ ]> : Array<unknown> extends T ? T : T extends Array<UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>> : Array<UseSuspenseQueryOptions>;
49
49
  /**
50
50
  * SuspenseQueriesResults reducer recursively maps type param to results
51
51
  */
52
- type SuspenseQueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? UseSuspenseQueryResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetSuspenseResults<Head>] : T extends [infer Head, ...infer Tail] ? SuspenseQueriesResults<[
52
+ type SuspenseQueriesResults<T extends Array<any>, Result extends Array<any> = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? Array<UseSuspenseQueryResult> : T extends [] ? [] : T extends [infer Head] ? [...Result, GetSuspenseResults<Head>] : T extends [infer Head, ...infer Tail] ? SuspenseQueriesResults<[
53
53
  ...Tail
54
54
  ], [
55
55
  ...Result,
@@ -57,8 +57,8 @@ type SuspenseQueriesResults<T extends any[], Result extends any[] = [], Depth ex
57
57
  ], [
58
58
  ...Depth,
59
59
  1
60
- ]> : T extends UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, any>[] ? UseSuspenseQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>[] : UseSuspenseQueryResult[];
61
- declare function useSuspenseQueries<T extends any[], TCombinedResult = SuspenseQueriesResults<T>>(options: {
60
+ ]> : T extends Array<UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, any>> ? Array<UseSuspenseQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>> : Array<UseSuspenseQueryResult>;
61
+ declare function useSuspenseQueries<T extends Array<any>, TCombinedResult = SuspenseQueriesResults<T>>(options: {
62
62
  queries: readonly [...SuspenseQueriesOptions<T>];
63
63
  combine?: (result: SuspenseQueriesResults<T>) => TCombinedResult;
64
64
  }, queryClient?: QueryClient): TCombinedResult;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useSuspenseQueries.ts"],"sourcesContent":["'use client'\nimport { useQueries } from './useQueries'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type {\n DefaultError,\n QueryClient,\n QueryFunction,\n} from '@tanstack/query-core'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetSuspenseOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseSuspenseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseSuspenseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseSuspenseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseSuspenseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseSuspenseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseSuspenseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseSuspenseQueryOptions<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseSuspenseQueryOptions<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseSuspenseQueryOptions\n\ntype GetSuspenseResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseSuspenseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseSuspenseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseSuspenseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseSuspenseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseSuspenseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseSuspenseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseSuspenseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseSuspenseQueryResult<TQueryFnData>\n : // Fallback\n UseSuspenseQueryResult\n\n/**\n * SuspenseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type SuspenseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseSuspenseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetSuspenseOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? SuspenseQueriesOptions<\n [...Tail],\n [...Result, GetSuspenseOptions<Head>],\n [...Depth, 1]\n >\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseSuspenseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseSuspenseQueryOptions[]\n\n/**\n * SuspenseQueriesResults reducer recursively maps type param to results\n */\nexport type SuspenseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseSuspenseQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetSuspenseResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? SuspenseQueriesResults<\n [...Tail],\n [...Result, GetSuspenseResults<Head>],\n [...Depth, 1]\n >\n : T extends UseSuspenseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n UseSuspenseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n UseSuspenseQueryResult[]\n\nexport function useSuspenseQueries<\n T extends any[],\n TCombinedResult = SuspenseQueriesResults<T>,\n>(\n options: {\n queries: readonly [...SuspenseQueriesOptions<T>]\n combine?: (result: SuspenseQueriesResults<T>) => TCombinedResult\n },\n queryClient?: QueryClient,\n): TCombinedResult {\n return useQueries(\n {\n ...options,\n queries: options.queries.map((query) => ({\n ...query,\n suspense: true,\n throwOnError: true,\n enabled: true,\n })),\n } as any,\n queryClient,\n )\n}\n"],"mappings":";;;AACA,SAAS,kBAAkB;AAqIpB,SAAS,mBAId,SAIA,aACiB;AACjB,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS,QAAQ,QAAQ,IAAI,CAAC,WAAW;AAAA,QACvC,GAAG;AAAA,QACH,UAAU;AAAA,QACV,cAAc;AAAA,QACd,SAAS;AAAA,MACX,EAAE;AAAA,IACJ;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useSuspenseQueries.ts"],"sourcesContent":["'use client'\nimport { useQueries } from './useQueries'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type {\n DefaultError,\n QueryClient,\n QueryFunction,\n} from '@tanstack/query-core'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetSuspenseOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseSuspenseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseSuspenseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseSuspenseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseSuspenseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseSuspenseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseSuspenseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseSuspenseQueryOptions<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseSuspenseQueryOptions<TQueryFnData, Error, TQueryFnData, TQueryKey>\n : // Fallback\n UseSuspenseQueryOptions\n\ntype GetSuspenseResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseSuspenseQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseSuspenseQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseSuspenseQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseSuspenseQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? UseSuspenseQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseSuspenseQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? UseSuspenseQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? UseSuspenseQueryResult<TQueryFnData>\n : // Fallback\n UseSuspenseQueryResult\n\n/**\n * SuspenseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type SuspenseQueriesOptions<\n T extends Array<any>,\n Result extends Array<any> = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? Array<UseSuspenseQueryOptions>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetSuspenseOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? SuspenseQueriesOptions<\n [...Tail],\n [...Result, GetSuspenseOptions<Head>],\n [...Depth, 1]\n >\n : Array<unknown> extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseSuspenseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>>\n : // Fallback\n Array<UseSuspenseQueryOptions>\n\n/**\n * SuspenseQueriesResults reducer recursively maps type param to results\n */\nexport type SuspenseQueriesResults<\n T extends Array<any>,\n Result extends Array<any> = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? Array<UseSuspenseQueryResult>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetSuspenseResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? SuspenseQueriesResults<\n [...Tail],\n [...Result, GetSuspenseResults<Head>],\n [...Depth, 1]\n >\n : T extends Array<\n UseSuspenseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >\n >\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n Array<\n UseSuspenseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n >\n : // Fallback\n Array<UseSuspenseQueryResult>\n\nexport function useSuspenseQueries<\n T extends Array<any>,\n TCombinedResult = SuspenseQueriesResults<T>,\n>(\n options: {\n queries: readonly [...SuspenseQueriesOptions<T>]\n combine?: (result: SuspenseQueriesResults<T>) => TCombinedResult\n },\n queryClient?: QueryClient,\n): TCombinedResult {\n return useQueries(\n {\n ...options,\n queries: options.queries.map((query) => ({\n ...query,\n suspense: true,\n throwOnError: true,\n enabled: true,\n })),\n } as any,\n queryClient,\n )\n}\n"],"mappings":";;;AACA,SAAS,kBAAkB;AA2IpB,SAAS,mBAId,SAIA,aACiB;AACjB,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,SAAS,QAAQ,QAAQ,IAAI,CAAC,WAAW;AAAA,QACvC,GAAG;AAAA,QACH,UAAU;AAAA,QACV,cAAc;AAAA,QACd,SAAS;AAAA,MACX,EAAE;AAAA,IACJ;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["export function shouldThrowError<T extends (...args: any[]) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,iBACd,YACA,QACS;AAET,MAAI,OAAO,eAAe,YAAY;AACpC,WAAO,WAAW,GAAG,MAAM;AAAA,EAC7B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
1
+ {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["export function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,iBACd,YACA,QACS;AAET,MAAI,OAAO,eAAe,YAAY;AACpC,WAAO,WAAW,GAAG,MAAM;AAAA,EAC7B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
@@ -1,3 +1,3 @@
1
- declare function shouldThrowError<T extends (...args: any[]) => boolean>(throwError: boolean | T | undefined, params: Parameters<T>): boolean;
1
+ declare function shouldThrowError<T extends (...args: Array<any>) => boolean>(throwError: boolean | T | undefined, params: Parameters<T>): boolean;
2
2
 
3
3
  export { shouldThrowError };
@@ -1,3 +1,3 @@
1
- declare function shouldThrowError<T extends (...args: any[]) => boolean>(throwError: boolean | T | undefined, params: Parameters<T>): boolean;
1
+ declare function shouldThrowError<T extends (...args: Array<any>) => boolean>(throwError: boolean | T | undefined, params: Parameters<T>): boolean;
2
2
 
3
3
  export { shouldThrowError };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["export function shouldThrowError<T extends (...args: any[]) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n"],"mappings":";AAAO,SAAS,iBACd,YACA,QACS;AAET,MAAI,OAAO,eAAe,YAAY;AACpC,WAAO,WAAW,GAAG,MAAM;AAAA,EAC7B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
1
+ {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["export function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n"],"mappings":";AAAO,SAAS,iBACd,YACA,QACS;AAET,MAAI,OAAO,eAAe,YAAY;AACpC,WAAO,WAAW,GAAG,MAAM;AAAA,EAC7B;AAEA,SAAO,CAAC,CAAC;AACX;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/react-query",
3
- "version": "5.0.0-beta.19",
3
+ "version": "5.0.0-beta.20",
4
4
  "description": "Hooks for managing, caching and syncing asynchronous and remote data in React",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -42,7 +42,7 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "client-only": "0.0.1",
45
- "@tanstack/query-core": "5.0.0-beta.18"
45
+ "@tanstack/query-core": "5.0.0-beta.20"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/react": "^18.2.4",
@@ -23,7 +23,7 @@ describe('useSuspenseQuery', () => {
23
23
 
24
24
  it('should render the correct amount of times in Suspense mode', async () => {
25
25
  const key = queryKey()
26
- const states: UseSuspenseQueryResult<number>[] = []
26
+ const states: Array<UseSuspenseQueryResult<number>> = []
27
27
 
28
28
  let count = 0
29
29
  let renders = 0
@@ -72,7 +72,8 @@ describe('useSuspenseQuery', () => {
72
72
 
73
73
  it('should return the correct states for a successful infinite query', async () => {
74
74
  const key = queryKey()
75
- const states: UseSuspenseInfiniteQueryResult<InfiniteData<number>>[] = []
75
+ const states: Array<UseSuspenseInfiniteQueryResult<InfiniteData<number>>> =
76
+ []
76
77
 
77
78
  function Page() {
78
79
  const [multiplier, setMultiplier] = React.useState(1)
@@ -122,7 +123,7 @@ describe('useSuspenseQuery', () => {
122
123
  it('should not call the queryFn twice when used in Suspense mode', async () => {
123
124
  const key = queryKey()
124
125
 
125
- const queryFn = vi.fn<unknown[], string>()
126
+ const queryFn = vi.fn<Array<unknown>, string>()
126
127
  queryFn.mockImplementation(() => {
127
128
  sleep(10)
128
129
  return 'data'
@@ -718,7 +719,7 @@ describe('useSuspenseQueries', () => {
718
719
  it('should suspend all queries in parallel', async () => {
719
720
  const key1 = queryKey()
720
721
  const key2 = queryKey()
721
- const results: string[] = []
722
+ const results: Array<string> = []
722
723
 
723
724
  function Fallback() {
724
725
  results.push('loading')
@@ -769,8 +770,8 @@ describe('useSuspenseQueries', () => {
769
770
  it("shouldn't unmount before all promises fetched", async () => {
770
771
  const key1 = queryKey()
771
772
  const key2 = queryKey()
772
- const results: string[] = []
773
- const refs: number[] = []
773
+ const results: Array<string> = []
774
+ const refs: Array<number> = []
774
775
 
775
776
  function Fallback() {
776
777
  results.push('loading')
@@ -18,7 +18,7 @@ import type {
18
18
  import type { Mock } from 'vitest'
19
19
 
20
20
  interface Result {
21
- items: number[]
21
+ items: Array<number>
22
22
  nextId?: number
23
23
  prevId?: number
24
24
  ts: number
@@ -47,7 +47,7 @@ describe('useInfiniteQuery', () => {
47
47
 
48
48
  it('should return the correct states for a successful query', async () => {
49
49
  const key = queryKey()
50
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
50
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
51
51
 
52
52
  function Page() {
53
53
  const state = useInfiniteQuery({
@@ -174,7 +174,7 @@ describe('useInfiniteQuery', () => {
174
174
 
175
175
  it('should keep the previous data when placeholderData is set', async () => {
176
176
  const key = queryKey()
177
- const states: UseInfiniteQueryResult<InfiniteData<string>>[] = []
177
+ const states: Array<UseInfiniteQueryResult<InfiniteData<string>>> = []
178
178
 
179
179
  function Page() {
180
180
  const [order, setOrder] = React.useState('desc')
@@ -262,7 +262,7 @@ describe('useInfiniteQuery', () => {
262
262
 
263
263
  it('should be able to select a part of the data', async () => {
264
264
  const key = queryKey()
265
- const states: UseInfiniteQueryResult<InfiniteData<string>>[] = []
265
+ const states: Array<UseInfiniteQueryResult<InfiniteData<string>>> = []
266
266
 
267
267
  function Page() {
268
268
  const state = useInfiniteQuery({
@@ -299,9 +299,9 @@ describe('useInfiniteQuery', () => {
299
299
 
300
300
  it('should be able to select a new result and not cause infinite renders', async () => {
301
301
  const key = queryKey()
302
- const states: UseInfiniteQueryResult<
303
- InfiniteData<{ count: number; id: number }>
304
- >[] = []
302
+ const states: Array<
303
+ UseInfiniteQueryResult<InfiniteData<{ count: number; id: number }>>
304
+ > = []
305
305
  let selectCalled = 0
306
306
 
307
307
  function Page() {
@@ -349,7 +349,7 @@ describe('useInfiniteQuery', () => {
349
349
 
350
350
  it('should be able to reverse the data', async () => {
351
351
  const key = queryKey()
352
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
352
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
353
353
 
354
354
  function Page() {
355
355
  const state = useInfiniteQuery({
@@ -406,7 +406,7 @@ describe('useInfiniteQuery', () => {
406
406
 
407
407
  it('should be able to fetch a previous page', async () => {
408
408
  const key = queryKey()
409
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
409
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
410
410
 
411
411
  function Page() {
412
412
  const start = 10
@@ -489,7 +489,7 @@ describe('useInfiniteQuery', () => {
489
489
 
490
490
  it('should be able to refetch when providing page params automatically', async () => {
491
491
  const key = queryKey()
492
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
492
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
493
493
 
494
494
  function Page() {
495
495
  const state = useInfiniteQuery({
@@ -644,8 +644,8 @@ describe('useInfiniteQuery', () => {
644
644
  it('should silently cancel an ongoing fetchNextPage request when another fetchNextPage is invoked', async () => {
645
645
  const key = queryKey()
646
646
  const start = 10
647
- const onAborts: Mock<any, any>[] = []
648
- const abortListeners: Mock<any, any>[] = []
647
+ const onAborts: Array<Mock<any, any>> = []
648
+ const abortListeners: Array<Mock<any, any>> = []
649
649
  const fetchPage = vi.fn<
650
650
  [QueryFunctionContext<typeof key, number>],
651
651
  Promise<number>
@@ -720,8 +720,8 @@ describe('useInfiniteQuery', () => {
720
720
  it('should not cancel an ongoing fetchNextPage request when another fetchNextPage is invoked if `cancelRefetch: false` is used ', async () => {
721
721
  const key = queryKey()
722
722
  const start = 10
723
- const onAborts: Mock<any, any>[] = []
724
- const abortListeners: Mock<any, any>[] = []
723
+ const onAborts: Array<Mock<any, any>> = []
724
+ const abortListeners: Array<Mock<any, any>> = []
725
725
  const fetchPage = vi.fn<
726
726
  [QueryFunctionContext<typeof key, number>],
727
727
  Promise<number>
@@ -787,7 +787,7 @@ describe('useInfiniteQuery', () => {
787
787
 
788
788
  it('should keep fetching first page when not loaded yet and triggering fetch more', async () => {
789
789
  const key = queryKey()
790
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
790
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
791
791
 
792
792
  function Page() {
793
793
  const start = 10
@@ -886,7 +886,7 @@ describe('useInfiniteQuery', () => {
886
886
 
887
887
  it('should be able to set new pages with the query client', async () => {
888
888
  const key = queryKey()
889
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
889
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
890
890
 
891
891
  function Page() {
892
892
  const [firstPage, setFirstPage] = React.useState(0)
@@ -968,7 +968,7 @@ describe('useInfiniteQuery', () => {
968
968
 
969
969
  it('should only refetch the first page when initialData is provided', async () => {
970
970
  const key = queryKey()
971
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
971
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
972
972
 
973
973
  function Page() {
974
974
  const state = useInfiniteQuery({
@@ -1033,7 +1033,7 @@ describe('useInfiniteQuery', () => {
1033
1033
 
1034
1034
  it('should set hasNextPage to false if getNextPageParam returns undefined', async () => {
1035
1035
  const key = queryKey()
1036
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
1036
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
1037
1037
 
1038
1038
  function Page() {
1039
1039
  const state = useInfiniteQuery({
@@ -1071,7 +1071,7 @@ describe('useInfiniteQuery', () => {
1071
1071
 
1072
1072
  it('should compute hasNextPage correctly using initialData', async () => {
1073
1073
  const key = queryKey()
1074
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
1074
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
1075
1075
 
1076
1076
  function Page() {
1077
1077
  const state = useInfiniteQuery({
@@ -1110,7 +1110,7 @@ describe('useInfiniteQuery', () => {
1110
1110
 
1111
1111
  it('should compute hasNextPage correctly for falsy getFetchMore return value using initialData', async () => {
1112
1112
  const key = queryKey()
1113
- const states: UseInfiniteQueryResult<InfiniteData<number>>[] = []
1113
+ const states: Array<UseInfiniteQueryResult<InfiniteData<number>>> = []
1114
1114
 
1115
1115
  function Page() {
1116
1116
  const state = useInfiniteQuery({
@@ -1149,7 +1149,7 @@ describe('useInfiniteQuery', () => {
1149
1149
 
1150
1150
  it('should not use selected data when computing hasNextPage', async () => {
1151
1151
  const key = queryKey()
1152
- const states: UseInfiniteQueryResult<InfiniteData<string>>[] = []
1152
+ const states: Array<UseInfiniteQueryResult<InfiniteData<string>>> = []
1153
1153
 
1154
1154
  function Page() {
1155
1155
  const state = useInfiniteQuery({
@@ -61,7 +61,7 @@ describe('useIsFetching', () => {
61
61
  const key1 = queryKey()
62
62
  const key2 = queryKey()
63
63
 
64
- const isFetchings: number[] = []
64
+ const isFetchings: Array<number> = []
65
65
 
66
66
  function IsFetching() {
67
67
  const isFetching = useIsFetching()
@@ -118,7 +118,7 @@ describe('useIsFetching', () => {
118
118
  const key1 = queryKey()
119
119
  const key2 = queryKey()
120
120
 
121
- const isFetchings: number[] = []
121
+ const isFetchings: Array<number> = []
122
122
 
123
123
  function One() {
124
124
  useQuery({
@@ -267,7 +267,7 @@ describe('useMutation', () => {
267
267
  })
268
268
 
269
269
  it('should be able to override the useMutation success callbacks', async () => {
270
- const callbacks: string[] = []
270
+ const callbacks: Array<string> = []
271
271
 
272
272
  function Page() {
273
273
  const { mutateAsync } = useMutation({
@@ -313,7 +313,7 @@ describe('useMutation', () => {
313
313
  })
314
314
 
315
315
  it('should be able to override the error callbacks when using mutateAsync', async () => {
316
- const callbacks: string[] = []
316
+ const callbacks: Array<string> = []
317
317
 
318
318
  function Page() {
319
319
  const { mutateAsync } = useMutation({
@@ -369,7 +369,7 @@ describe('useMutation', () => {
369
369
  },
370
370
  })
371
371
 
372
- const states: UseMutationResult<any, any, any, any>[] = []
372
+ const states: Array<UseMutationResult<any, any, any, any>> = []
373
373
 
374
374
  function Page() {
375
375
  const state = useMutation<string, unknown, string>({ mutationKey: key })
@@ -586,7 +586,7 @@ describe('useMutation', () => {
586
586
  const onlineMock = mockOnlineManagerIsOnline(false)
587
587
 
588
588
  let count = 0
589
- const states: UseMutationResult<any, any, any, any>[] = []
589
+ const states: Array<UseMutationResult<any, any, any, any>> = []
590
590
 
591
591
  function Page() {
592
592
  const state = useMutation({
@@ -13,7 +13,7 @@ import type { MutationState, MutationStatus } from '@tanstack/query-core'
13
13
 
14
14
  describe('useIsMutating', () => {
15
15
  it('should return the number of fetching mutations', async () => {
16
- const isMutatings: number[] = []
16
+ const isMutatings: Array<number> = []
17
17
  const queryClient = createQueryClient()
18
18
 
19
19
  function IsMutating() {
@@ -62,7 +62,7 @@ describe('useIsMutating', () => {
62
62
  })
63
63
 
64
64
  it('should filter correctly by mutationKey', async () => {
65
- const isMutatings: number[] = []
65
+ const isMutatings: Array<number> = []
66
66
  const queryClient = createQueryClient()
67
67
 
68
68
  function IsMutating() {
@@ -100,7 +100,7 @@ describe('useIsMutating', () => {
100
100
  })
101
101
 
102
102
  it('should filter correctly by predicate', async () => {
103
- const isMutatings: number[] = []
103
+ const isMutatings: Array<number> = []
104
104
  const queryClient = createQueryClient()
105
105
 
106
106
  function IsMutating() {
@@ -197,7 +197,7 @@ describe('useMutationState', () => {
197
197
  })
198
198
  it('should return variables after calling mutate', async () => {
199
199
  const queryClient = createQueryClient()
200
- const variables: unknown[][] = []
200
+ const variables: Array<Array<unknown>> = []
201
201
  const mutationKey = ['mutation']
202
202
 
203
203
  function Variables() {
@@ -28,7 +28,7 @@ describe('useQueries', () => {
28
28
  it('should return the correct states', async () => {
29
29
  const key1 = queryKey()
30
30
  const key2 = queryKey()
31
- const results: UseQueryResult[][] = []
31
+ const results: Array<Array<UseQueryResult>> = []
32
32
 
33
33
  function Page() {
34
34
  const result = useQueries({
@@ -73,7 +73,7 @@ describe('useQueries', () => {
73
73
 
74
74
  it('should track results', async () => {
75
75
  const key1 = queryKey()
76
- const results: UseQueryResult[][] = []
76
+ const results: Array<Array<UseQueryResult>> = []
77
77
  let count = 0
78
78
 
79
79
  function Page() {
@@ -125,7 +125,9 @@ describe('useQueries', () => {
125
125
  // @ts-expect-error (Page component is not rendered)
126
126
  // eslint-disable-next-line
127
127
  function Page() {
128
- const result1 = useQueries<[[number], [string], [string[], boolean]]>({
128
+ const result1 = useQueries<
129
+ [[number], [string], [Array<string>, boolean]]
130
+ >({
129
131
  queries: [
130
132
  {
131
133
  queryKey: key1,
@@ -143,10 +145,10 @@ describe('useQueries', () => {
143
145
  })
144
146
  expectType<QueryObserverResult<number, unknown>>(result1[0])
145
147
  expectType<QueryObserverResult<string, unknown>>(result1[1])
146
- expectType<QueryObserverResult<string[], boolean>>(result1[2])
148
+ expectType<QueryObserverResult<Array<string>, boolean>>(result1[2])
147
149
  expectType<number | undefined>(result1[0].data)
148
150
  expectType<string | undefined>(result1[1].data)
149
- expectType<string[] | undefined>(result1[2].data)
151
+ expectType<Array<string> | undefined>(result1[2].data)
150
152
  expectType<boolean | null>(result1[2].error)
151
153
 
152
154
  // TData (3rd element) takes precedence over TQueryFnData (1st element)
@@ -235,7 +237,7 @@ describe('useQueries', () => {
235
237
  [
236
238
  { queryFnData: number },
237
239
  { queryFnData: string },
238
- { queryFnData: string[]; error: boolean },
240
+ { queryFnData: Array<string>; error: boolean },
239
241
  ]
240
242
  >({
241
243
  queries: [
@@ -255,10 +257,10 @@ describe('useQueries', () => {
255
257
  })
256
258
  expectType<QueryObserverResult<number, unknown>>(result1[0])
257
259
  expectType<QueryObserverResult<string, unknown>>(result1[1])
258
- expectType<QueryObserverResult<string[], boolean>>(result1[2])
260
+ expectType<QueryObserverResult<Array<string>, boolean>>(result1[2])
259
261
  expectType<number | undefined>(result1[0].data)
260
262
  expectType<string | undefined>(result1[1].data)
261
- expectType<string[] | undefined>(result1[2].data)
263
+ expectType<Array<string> | undefined>(result1[2].data)
262
264
  expectType<boolean | null>(result1[2].error)
263
265
 
264
266
  // TData (data prop) takes precedence over TQueryFnData (queryFnData prop)
@@ -387,7 +389,7 @@ describe('useQueries', () => {
387
389
  queryFn: () => i + 10,
388
390
  })),
389
391
  })
390
- expectType<QueryObserverResult<number, unknown>[]>(result1)
392
+ expectType<Array<QueryObserverResult<number, unknown>>>(result1)
391
393
  expectType<number | undefined>(result1[0]?.data)
392
394
 
393
395
  // Array.map preserves TData
@@ -398,7 +400,7 @@ describe('useQueries', () => {
398
400
  select: (data: number) => data.toString(),
399
401
  })),
400
402
  })
401
- expectType<QueryObserverResult<string, unknown>[]>(result2)
403
+ expectType<Array<QueryObserverResult<string, unknown>>>(result2)
402
404
 
403
405
  const result3 = useQueries({
404
406
  queries: [
@@ -616,7 +618,7 @@ describe('useQueries', () => {
616
618
  TError,
617
619
  TData,
618
620
  TQueryKey extends QueryKey,
619
- >(queries: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]) {
621
+ >(queries: Array<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>>) {
620
622
  return useQueries({
621
623
  queries: queries.map(
622
624
  // no need to type the mapped query
@@ -684,7 +686,7 @@ describe('useQueries', () => {
684
686
  })),
685
687
  )
686
688
 
687
- expectType<QueryObserverResult<number | undefined, unknown>[]>(
689
+ expectType<Array<QueryObserverResult<number | undefined, unknown>>>(
688
690
  withWrappedQueries,
689
691
  )
690
692
  }