@tanstack/react-query 5.0.0-alpha.0 → 5.0.0-alpha.10

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 (111) hide show
  1. package/build/lib/HydrationBoundary.esm.js +1 -0
  2. package/build/lib/HydrationBoundary.esm.js.map +1 -1
  3. package/build/lib/HydrationBoundary.js +1 -0
  4. package/build/lib/HydrationBoundary.js.map +1 -1
  5. package/build/lib/HydrationBoundary.mjs +1 -0
  6. package/build/lib/HydrationBoundary.mjs.map +1 -1
  7. package/build/lib/QueryClientProvider.esm.js +1 -0
  8. package/build/lib/QueryClientProvider.esm.js.map +1 -1
  9. package/build/lib/QueryClientProvider.js +1 -0
  10. package/build/lib/QueryClientProvider.js.map +1 -1
  11. package/build/lib/QueryClientProvider.mjs +1 -0
  12. package/build/lib/QueryClientProvider.mjs.map +1 -1
  13. package/build/lib/QueryErrorResetBoundary.esm.js +1 -0
  14. package/build/lib/QueryErrorResetBoundary.esm.js.map +1 -1
  15. package/build/lib/QueryErrorResetBoundary.js +1 -0
  16. package/build/lib/QueryErrorResetBoundary.js.map +1 -1
  17. package/build/lib/QueryErrorResetBoundary.mjs +1 -0
  18. package/build/lib/QueryErrorResetBoundary.mjs.map +1 -1
  19. package/build/lib/__tests__/ssr.test.d.ts +0 -3
  20. package/build/lib/__tests__/utils.d.ts +2 -3
  21. package/build/lib/errorBoundaryUtils.esm.js +1 -0
  22. package/build/lib/errorBoundaryUtils.esm.js.map +1 -1
  23. package/build/lib/errorBoundaryUtils.js +1 -0
  24. package/build/lib/errorBoundaryUtils.js.map +1 -1
  25. package/build/lib/errorBoundaryUtils.mjs +1 -0
  26. package/build/lib/errorBoundaryUtils.mjs.map +1 -1
  27. package/build/lib/isRestoring.esm.js +1 -0
  28. package/build/lib/isRestoring.esm.js.map +1 -1
  29. package/build/lib/isRestoring.js +1 -0
  30. package/build/lib/isRestoring.js.map +1 -1
  31. package/build/lib/isRestoring.mjs +1 -0
  32. package/build/lib/isRestoring.mjs.map +1 -1
  33. package/build/lib/suspense.esm.js +5 -5
  34. package/build/lib/suspense.esm.js.map +1 -1
  35. package/build/lib/suspense.js +5 -5
  36. package/build/lib/suspense.js.map +1 -1
  37. package/build/lib/types.d.ts +14 -14
  38. package/build/lib/useBaseQuery.esm.js +1 -0
  39. package/build/lib/useBaseQuery.esm.js.map +1 -1
  40. package/build/lib/useBaseQuery.js +1 -0
  41. package/build/lib/useBaseQuery.js.map +1 -1
  42. package/build/lib/useBaseQuery.mjs +1 -0
  43. package/build/lib/useBaseQuery.mjs.map +1 -1
  44. package/build/lib/useInfiniteQuery.d.ts +2 -2
  45. package/build/lib/useInfiniteQuery.esm.js +4 -1
  46. package/build/lib/useInfiniteQuery.esm.js.map +1 -1
  47. package/build/lib/useInfiniteQuery.js +4 -1
  48. package/build/lib/useInfiniteQuery.js.map +1 -1
  49. package/build/lib/useInfiniteQuery.mjs +4 -1
  50. package/build/lib/useInfiniteQuery.mjs.map +1 -1
  51. package/build/lib/useIsFetching.esm.js +1 -0
  52. package/build/lib/useIsFetching.esm.js.map +1 -1
  53. package/build/lib/useIsFetching.js +1 -0
  54. package/build/lib/useIsFetching.js.map +1 -1
  55. package/build/lib/useIsFetching.mjs +1 -0
  56. package/build/lib/useIsFetching.mjs.map +1 -1
  57. package/build/lib/useMutation.d.ts +2 -2
  58. package/build/lib/useMutation.esm.js +1 -0
  59. package/build/lib/useMutation.esm.js.map +1 -1
  60. package/build/lib/useMutation.js +1 -0
  61. package/build/lib/useMutation.js.map +1 -1
  62. package/build/lib/useMutation.mjs +1 -0
  63. package/build/lib/useMutation.mjs.map +1 -1
  64. package/build/lib/useMutationState.d.ts +4 -4
  65. package/build/lib/useMutationState.esm.js +1 -0
  66. package/build/lib/useMutationState.esm.js.map +1 -1
  67. package/build/lib/useMutationState.js +1 -0
  68. package/build/lib/useMutationState.js.map +1 -1
  69. package/build/lib/useMutationState.mjs +1 -0
  70. package/build/lib/useMutationState.mjs.map +1 -1
  71. package/build/lib/useQueries.d.ts +5 -6
  72. package/build/lib/useQueries.esm.js +13 -10
  73. package/build/lib/useQueries.esm.js.map +1 -1
  74. package/build/lib/useQueries.js +13 -10
  75. package/build/lib/useQueries.js.map +1 -1
  76. package/build/lib/useQueries.mjs +3 -3
  77. package/build/lib/useQueries.mjs.map +1 -1
  78. package/build/lib/useQuery.d.ts +5 -5
  79. package/build/lib/useQuery.esm.js +1 -0
  80. package/build/lib/useQuery.esm.js.map +1 -1
  81. package/build/lib/useQuery.js +1 -0
  82. package/build/lib/useQuery.js.map +1 -1
  83. package/build/lib/useQuery.mjs +1 -0
  84. package/build/lib/useQuery.mjs.map +1 -1
  85. package/build/umd/index.development.js +79 -65
  86. package/build/umd/index.development.js.map +1 -1
  87. package/build/umd/index.production.js +1 -1
  88. package/build/umd/index.production.js.map +1 -1
  89. package/package.json +3 -3
  90. package/src/__tests__/HydrationBoundary.test.tsx +4 -3
  91. package/src/__tests__/QueryClientProvider.test.tsx +2 -1
  92. package/src/__tests__/QueryResetErrorBoundary.test.tsx +12 -11
  93. package/src/__tests__/ssr-hydration.test.tsx +11 -10
  94. package/src/__tests__/ssr.test.tsx +4 -7
  95. package/src/__tests__/suspense.test.tsx +14 -13
  96. package/src/__tests__/useInfiniteQuery.test.tsx +18 -16
  97. package/src/__tests__/useInfiniteQuery.type.test.tsx +110 -2
  98. package/src/__tests__/useMutation.test.tsx +21 -20
  99. package/src/__tests__/useMutationState.test.tsx +24 -58
  100. package/src/__tests__/useQueries.test.tsx +23 -81
  101. package/src/__tests__/useQuery.test.tsx +30 -36
  102. package/src/__tests__/utils.tsx +3 -2
  103. package/src/errorBoundaryUtils.ts +1 -0
  104. package/src/types.ts +14 -14
  105. package/src/useBaseQuery.ts +1 -0
  106. package/src/useInfiniteQuery.ts +4 -2
  107. package/src/useIsFetching.ts +1 -0
  108. package/src/useMutation.ts +3 -2
  109. package/src/useMutationState.ts +7 -6
  110. package/src/useQueries.ts +12 -10
  111. package/src/useQuery.ts +7 -10
@@ -1,11 +1,11 @@
1
- import type { QueryClient, QueryKey, RegisteredError } from '@tanstack/query-core';
1
+ import type { QueryClient, QueryKey, DefaultError } from '@tanstack/query-core';
2
2
  import type { DefinedUseQueryResult, UseQueryOptions, UseQueryResult } from './types';
3
- declare type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
3
+ declare type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
4
4
  initialData?: undefined;
5
5
  };
6
- declare type DefinedInitialDataOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
6
+ declare type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
7
7
  initialData: TQueryFnData | (() => TQueryFnData);
8
8
  };
9
- export declare function useQuery<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<TData, TError>;
10
- export declare function useQuery<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError>;
9
+ export declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<TData, TError>;
10
+ export declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError>;
11
11
  export {};
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { QueryObserver } from '@tanstack/query-core';
2
3
  import { useBaseQuery } from './useBaseQuery.esm.js';
3
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.esm.js","sources":["../../src/useQuery.ts"],"sourcesContent":["import type {\n QueryClient,\n QueryKey,\n RegisteredError,\n} from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"names":["useQuery","options","queryClient","useBaseQuery","QueryObserver"],"mappings":";;;AAaA;;AAuCO,SAASA,QAAQ,CAMtBC,OAAgE,EAChEC,WAAyB,EACzB;AACA,EAAA,OAAOC,YAAY,CAACF,OAAO,EAAEG,aAAa,EAAEF,WAAW,CAAC,CAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"useQuery.esm.js","sources":["../../src/useQuery.ts"],"sourcesContent":["'use client'\nimport type { QueryClient, QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"names":[],"mappings":";;;;AAUA;;AAuCO;AASL;AACF;;"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var queryCore = require('@tanstack/query-core');
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sources":["../../src/useQuery.ts"],"sourcesContent":["import type {\n QueryClient,\n QueryKey,\n RegisteredError,\n} from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"names":["useQuery","options","queryClient","useBaseQuery","QueryObserver"],"mappings":";;;;;AAaA;;AAuCO,SAASA,QAAQ,CAMtBC,OAAgE,EAChEC,WAAyB,EACzB;AACA,EAAA,OAAOC,yBAAY,CAACF,OAAO,EAAEG,uBAAa,EAAEF,WAAW,CAAC,CAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"useQuery.js","sources":["../../src/useQuery.ts"],"sourcesContent":["'use client'\nimport type { QueryClient, QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"names":[],"mappings":";;;;;;AAUA;;AAuCO;AASL;AACF;;"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { QueryObserver } from '@tanstack/query-core';
2
3
  import { useBaseQuery } from './useBaseQuery.mjs';
3
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.mjs","sources":["../../src/useQuery.ts"],"sourcesContent":["import type {\n QueryClient,\n QueryKey,\n RegisteredError,\n} from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"names":["useQuery","options","queryClient","useBaseQuery","QueryObserver"],"mappings":";;;AAaA;;AAuCO,SAASA,QAAQ,CAMtBC,OAAgE,EAChEC,WAAyB,EACzB;AACA,EAAA,OAAOC,YAAY,CAACF,OAAO,EAAEG,aAAa,EAAEF,WAAW,CAAC,CAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"useQuery.mjs","sources":["../../src/useQuery.ts"],"sourcesContent":["'use client'\nimport type { QueryClient, QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport { useBaseQuery } from './useBaseQuery'\n\n// HOOK\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n}\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n"],"names":[],"mappings":";;;;AAUA;;AAuCO;AASL;AACF;;"}
@@ -908,6 +908,7 @@
908
908
  if (!isCancelledError(error)) {
909
909
  // Notify cache callback
910
910
  this.#cache.config.onError?.(error, this);
911
+ this.#cache.config.onSettled?.(this.state.data, error, this);
911
912
  }
912
913
  if (!this.isFetchingOptimistic) {
913
914
  // Schedule query gc after fetching
@@ -932,6 +933,7 @@
932
933
 
933
934
  // Notify cache callback
934
935
  this.#cache.config.onSuccess?.(data, this);
936
+ this.#cache.config.onSettled?.(data, this.state.error, this);
935
937
  if (!this.isFetchingOptimistic) {
936
938
  // Schedule query gc after fetching
937
939
  this.scheduleGc();
@@ -1171,18 +1173,26 @@
1171
1173
 
1172
1174
  class Mutation extends Removable {
1173
1175
  #observers;
1176
+ #defaultOptions;
1174
1177
  #mutationCache;
1175
1178
  #retryer;
1176
1179
  constructor(config) {
1177
1180
  super();
1178
- this.options = config.options;
1179
1181
  this.mutationId = config.mutationId;
1182
+ this.#defaultOptions = config.defaultOptions;
1180
1183
  this.#mutationCache = config.mutationCache;
1181
1184
  this.#observers = [];
1182
1185
  this.state = config.state || getDefaultState();
1183
- this.updateGcTime(this.options.gcTime);
1186
+ this.setOptions(config.options);
1184
1187
  this.scheduleGc();
1185
1188
  }
1189
+ setOptions(options) {
1190
+ this.options = {
1191
+ ...this.#defaultOptions,
1192
+ ...options
1193
+ };
1194
+ this.updateGcTime(this.options.gcTime);
1195
+ }
1186
1196
  get meta() {
1187
1197
  return this.options.meta;
1188
1198
  }
@@ -1277,6 +1287,9 @@
1277
1287
  // Notify cache callback
1278
1288
  await this.#mutationCache.config.onSuccess?.(data, variables, this.state.context, this);
1279
1289
  await this.options.onSuccess?.(data, variables, this.state.context);
1290
+
1291
+ // Notify cache callback
1292
+ await this.#mutationCache.config.onSettled?.(data, null, this.state.variables, this.state.context, this);
1280
1293
  await this.options.onSettled?.(data, null, variables, this.state.context);
1281
1294
  this.#dispatch({
1282
1295
  type: 'success',
@@ -1288,6 +1301,9 @@
1288
1301
  // Notify cache callback
1289
1302
  await this.#mutationCache.config.onError?.(error, variables, this.state.context, this);
1290
1303
  await this.options.onError?.(error, variables, this.state.context);
1304
+
1305
+ // Notify cache callback
1306
+ await this.#mutationCache.config.onSettled?.(undefined, error, this.state.variables, this.state.context, this);
1291
1307
  await this.options.onSettled?.(undefined, error, variables, this.state.context);
1292
1308
  throw error;
1293
1309
  } finally {
@@ -1457,12 +1473,15 @@
1457
1473
  function infiniteQueryBehavior() {
1458
1474
  return {
1459
1475
  onFetch: context => {
1460
- context.fetchFn = () => {
1476
+ context.fetchFn = async () => {
1461
1477
  const options = context.options;
1462
1478
  const direction = context.fetchOptions?.meta?.fetchMore?.direction;
1463
1479
  const oldPages = context.state.data?.pages || [];
1464
1480
  const oldPageParams = context.state.data?.pageParams || [];
1465
- let newPageParams = oldPageParams;
1481
+ const empty = {
1482
+ pages: [],
1483
+ pageParams: []
1484
+ };
1466
1485
  let cancelled = false;
1467
1486
  const addSignalProperty = object => {
1468
1487
  Object.defineProperty(object, 'signal', {
@@ -1482,95 +1501,95 @@
1482
1501
 
1483
1502
  // Get query function
1484
1503
  const queryFn = context.options.queryFn || (() => Promise.reject(new Error('Missing queryFn')));
1485
- const buildNewPages = (pages, param, page, previous) => {
1486
- const {
1487
- maxPages
1488
- } = context.options;
1489
- if (previous) {
1490
- newPageParams = addToStart(newPageParams, param, maxPages);
1491
- return addToStart(pages, page, maxPages);
1492
- }
1493
- newPageParams = addToEnd(newPageParams, param, maxPages);
1494
- return addToEnd(pages, page, maxPages);
1495
- };
1496
1504
 
1497
1505
  // Create function to fetch a page
1498
- const fetchPage = (pages, param, previous) => {
1506
+ const fetchPage = async (data, param, previous) => {
1499
1507
  if (cancelled) {
1500
1508
  return Promise.reject();
1501
1509
  }
1502
- if (typeof param === 'undefined' && pages.length) {
1503
- return Promise.resolve(pages);
1510
+ if (typeof param === 'undefined' && data.pages.length) {
1511
+ return Promise.resolve(data);
1504
1512
  }
1505
1513
  const queryFnContext = {
1506
1514
  queryKey: context.queryKey,
1507
1515
  pageParam: param,
1516
+ direction: previous ? 'backward' : 'forward',
1508
1517
  meta: context.options.meta
1509
1518
  };
1510
1519
  addSignalProperty(queryFnContext);
1511
- const queryFnResult = queryFn(queryFnContext);
1512
- const promise = Promise.resolve(queryFnResult).then(page => buildNewPages(pages, param, page, previous));
1513
- return promise;
1520
+ const page = await queryFn(queryFnContext);
1521
+ const {
1522
+ maxPages
1523
+ } = context.options;
1524
+ const addTo = previous ? addToStart : addToEnd;
1525
+ return {
1526
+ pages: addTo(data.pages, page, maxPages),
1527
+ pageParams: addTo(data.pageParams, param, maxPages)
1528
+ };
1514
1529
  };
1515
- let promise;
1530
+ let result;
1516
1531
 
1517
1532
  // Fetch first page?
1518
1533
  if (!oldPages.length) {
1519
- promise = fetchPage([], options.defaultPageParam);
1534
+ result = await fetchPage(empty, options.defaultPageParam);
1520
1535
  }
1521
1536
 
1522
1537
  // fetch next / previous page?
1523
1538
  else if (direction) {
1524
1539
  const previous = direction === 'backward';
1525
- const param = previous ? getPreviousPageParam(options, oldPages) : getNextPageParam(options, oldPages);
1526
- promise = fetchPage(oldPages, param, previous);
1540
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
1541
+ const oldData = {
1542
+ pages: oldPages,
1543
+ pageParams: oldPageParams
1544
+ };
1545
+ const param = pageParamFn(options, oldData);
1546
+ result = await fetchPage(oldData, param, previous);
1527
1547
  }
1528
1548
 
1529
1549
  // Refetch pages
1530
1550
  else {
1531
- newPageParams = [];
1532
-
1533
1551
  // Fetch first page
1534
- promise = fetchPage([], oldPageParams[0]);
1552
+ result = await fetchPage(empty, oldPageParams[0]);
1535
1553
 
1536
1554
  // Fetch remaining pages
1537
1555
  for (let i = 1; i < oldPages.length; i++) {
1538
- promise = promise.then(pages => {
1539
- const param = getNextPageParam(options, pages);
1540
- return fetchPage(pages, param);
1541
- });
1556
+ const param = getNextPageParam(options, result);
1557
+ result = await fetchPage(result, param);
1542
1558
  }
1543
1559
  }
1544
- const finalPromise = promise.then(pages => ({
1545
- pages,
1546
- pageParams: newPageParams
1547
- }));
1548
- return finalPromise;
1560
+ return result;
1549
1561
  };
1550
1562
  }
1551
1563
  };
1552
1564
  }
1553
- function getNextPageParam(options, pages) {
1554
- return options.getNextPageParam(pages[pages.length - 1], pages);
1565
+ function getNextPageParam(options, {
1566
+ pages,
1567
+ pageParams
1568
+ }) {
1569
+ const lastIndex = pages.length - 1;
1570
+ return options.getNextPageParam(pages[lastIndex], pages, pageParams[lastIndex], pageParams);
1555
1571
  }
1556
- function getPreviousPageParam(options, pages) {
1557
- return options.getPreviousPageParam?.(pages[0], pages);
1572
+ function getPreviousPageParam(options, {
1573
+ pages,
1574
+ pageParams
1575
+ }) {
1576
+ return options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams);
1558
1577
  }
1559
1578
 
1560
1579
  /**
1561
1580
  * Checks if there is a next page.
1562
1581
  */
1563
- function hasNextPage(options, pages) {
1564
- if (!pages) return false;
1565
- return typeof getNextPageParam(options, pages) !== 'undefined';
1582
+ function hasNextPage(options, data) {
1583
+ if (!data) return false;
1584
+ return typeof getNextPageParam(options, data) !== 'undefined';
1566
1585
  }
1567
1586
 
1568
1587
  /**
1569
1588
  * Checks if there is a previous page.
1570
1589
  */
1571
- function hasPreviousPage(options, pages) {
1572
- if (!pages || !options.getPreviousPageParam) return false;
1573
- return typeof getPreviousPageParam(options, pages) !== 'undefined';
1590
+ function hasPreviousPage(options, data) {
1591
+ if (!data || !options.getPreviousPageParam) return false;
1592
+ return typeof getPreviousPageParam(options, data) !== 'undefined';
1574
1593
  }
1575
1594
 
1576
1595
  // CLASS
@@ -2285,14 +2304,12 @@
2285
2304
  #result;
2286
2305
  #queries;
2287
2306
  #observers;
2288
- #observersMap;
2289
2307
  constructor(client, queries) {
2290
2308
  super();
2291
2309
  this.#client = client;
2292
2310
  this.#queries = [];
2293
2311
  this.#result = [];
2294
2312
  this.#observers = [];
2295
- this.#observersMap = {};
2296
2313
  if (queries) {
2297
2314
  this.setQueries(queries);
2298
2315
  }
@@ -2326,14 +2343,12 @@
2326
2343
  // set options for the new observers to notify of changes
2327
2344
  newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));
2328
2345
  const newObservers = newObserverMatches.map(match => match.observer);
2329
- const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer]));
2330
2346
  const newResult = newObservers.map(observer => observer.getCurrentResult());
2331
2347
  const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);
2332
2348
  if (prevObservers.length === newObservers.length && !hasIndexChange) {
2333
2349
  return;
2334
2350
  }
2335
2351
  this.#observers = newObservers;
2336
- this.#observersMap = newObserversMap;
2337
2352
  this.#result = newResult;
2338
2353
  if (!this.hasListeners()) {
2339
2354
  return;
@@ -2378,7 +2393,7 @@
2378
2393
  const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.includes(defaultedOptions.queryHash));
2379
2394
  const getObserver = options => {
2380
2395
  const defaultedOptions = this.#client.defaultQueryOptions(options);
2381
- const currentObserver = this.#observersMap[defaultedOptions.queryHash];
2396
+ const currentObserver = this.#observers.find(o => o.options.queryHash === defaultedOptions.queryHash);
2382
2397
  return currentObserver ?? new QueryObserver(this.#client, defaultedOptions);
2383
2398
  };
2384
2399
  const newOrReusedObservers = unmatchedQueries.map(options => {
@@ -2432,7 +2447,7 @@
2432
2447
  options.behavior = infiniteQueryBehavior();
2433
2448
  return super.getOptimisticResult(options);
2434
2449
  }
2435
- fetchNextPage(options = {}) {
2450
+ fetchNextPage(options) {
2436
2451
  return this.fetch({
2437
2452
  ...options,
2438
2453
  meta: {
@@ -2442,9 +2457,7 @@
2442
2457
  }
2443
2458
  });
2444
2459
  }
2445
- fetchPreviousPage({
2446
- ...options
2447
- } = {}) {
2460
+ fetchPreviousPage(options) {
2448
2461
  return this.fetch({
2449
2462
  ...options,
2450
2463
  meta: {
@@ -2469,8 +2482,8 @@
2469
2482
  ...result,
2470
2483
  fetchNextPage: this.fetchNextPage,
2471
2484
  fetchPreviousPage: this.fetchPreviousPage,
2472
- hasNextPage: hasNextPage(options, state.data?.pages),
2473
- hasPreviousPage: hasPreviousPage(options, state.data?.pages),
2485
+ hasNextPage: hasNextPage(options, state.data),
2486
+ hasPreviousPage: hasPreviousPage(options, state.data),
2474
2487
  isFetchingNextPage,
2475
2488
  isFetchingPreviousPage,
2476
2489
  isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
@@ -2508,6 +2521,7 @@
2508
2521
  observer: this
2509
2522
  });
2510
2523
  }
2524
+ this.#currentMutation?.setOptions(this.options);
2511
2525
  }
2512
2526
  onUnsubscribe() {
2513
2527
  if (!this.listeners.length) {
@@ -2529,9 +2543,7 @@
2529
2543
  mutate(variables, options) {
2530
2544
  this.#mutateOptions = options;
2531
2545
  this.#currentMutation?.removeObserver(this);
2532
- this.#currentMutation = this.#client.getMutationCache().build(this.#client, {
2533
- ...this.options
2534
- });
2546
+ this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);
2535
2547
  this.#currentMutation.addObserver(this);
2536
2548
  return this.#currentMutation.execute(variables);
2537
2549
  }
@@ -2783,9 +2795,8 @@
2783
2795
  // `placeholderData` function does not have a parameter
2784
2796
 
2785
2797
  function useQueries({
2786
- queries,
2787
- queryClient
2788
- }) {
2798
+ queries
2799
+ }, queryClient) {
2789
2800
  const client = useQueryClient(queryClient);
2790
2801
  const isRestoring = useIsRestoring();
2791
2802
  const defaultedQueries = React__namespace.useMemo(() => queries.map(options => {
@@ -2983,7 +2994,9 @@
2983
2994
 
2984
2995
  // HOOK
2985
2996
  function useInfiniteQuery(options, queryClient) {
2986
- return useBaseQuery(options, InfiniteQueryObserver, queryClient);
2997
+ return useBaseQuery(options,
2998
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
2999
+ InfiniteQueryObserver, queryClient);
2987
3000
  }
2988
3001
 
2989
3002
  exports.CancelledError = CancelledError;
@@ -3008,6 +3021,7 @@
3008
3021
  exports.isCancelledError = isCancelledError;
3009
3022
  exports.isServer = isServer;
3010
3023
  exports.keepPreviousData = keepPreviousData;
3024
+ exports.matchQuery = matchQuery;
3011
3025
  exports.notifyManager = notifyManager;
3012
3026
  exports.onlineManager = onlineManager;
3013
3027
  exports.replaceEqualDeep = replaceEqualDeep;