@tanstack/query-core 5.20.5 → 5.21.4

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 (119) hide show
  1. package/build/legacy/hydration.d.cts +1 -1
  2. package/build/legacy/hydration.d.ts +1 -1
  3. package/build/legacy/index.d.cts +1 -1
  4. package/build/legacy/index.d.ts +1 -1
  5. package/build/legacy/infiniteQueryBehavior.d.cts +1 -1
  6. package/build/legacy/infiniteQueryBehavior.d.ts +1 -1
  7. package/build/legacy/infiniteQueryObserver.cjs.map +1 -1
  8. package/build/legacy/infiniteQueryObserver.d.cts +2 -2
  9. package/build/legacy/infiniteQueryObserver.d.ts +2 -2
  10. package/build/legacy/infiniteQueryObserver.js.map +1 -1
  11. package/build/legacy/mutation.d.cts +1 -1
  12. package/build/legacy/mutation.d.ts +1 -1
  13. package/build/legacy/mutationCache.d.cts +1 -1
  14. package/build/legacy/mutationCache.d.ts +1 -1
  15. package/build/legacy/mutationObserver.cjs +1 -1
  16. package/build/legacy/mutationObserver.cjs.map +1 -1
  17. package/build/legacy/mutationObserver.d.cts +1 -1
  18. package/build/legacy/mutationObserver.d.ts +1 -1
  19. package/build/legacy/mutationObserver.js +1 -1
  20. package/build/legacy/mutationObserver.js.map +1 -1
  21. package/build/legacy/queriesObserver.d.cts +1 -1
  22. package/build/legacy/queriesObserver.d.ts +1 -1
  23. package/build/legacy/query.d.cts +1 -1
  24. package/build/legacy/query.d.ts +1 -1
  25. package/build/legacy/queryCache.cjs.map +1 -1
  26. package/build/legacy/queryCache.d.cts +1 -1
  27. package/build/legacy/queryCache.d.ts +1 -1
  28. package/build/legacy/queryCache.js.map +1 -1
  29. package/build/legacy/{queryClient-Xp52MRx8.d.ts → queryClient-Ho-z40Sw.d.ts} +11 -10
  30. package/build/legacy/{queryClient-Wk_JAAGO.d.cts → queryClient-xw4cqSqb.d.cts} +11 -10
  31. package/build/legacy/queryClient.cjs +2 -2
  32. package/build/legacy/queryClient.cjs.map +1 -1
  33. package/build/legacy/queryClient.d.cts +1 -1
  34. package/build/legacy/queryClient.d.ts +1 -1
  35. package/build/legacy/queryClient.js +2 -2
  36. package/build/legacy/queryClient.js.map +1 -1
  37. package/build/legacy/queryObserver.cjs +1 -4
  38. package/build/legacy/queryObserver.cjs.map +1 -1
  39. package/build/legacy/queryObserver.d.cts +1 -1
  40. package/build/legacy/queryObserver.d.ts +1 -1
  41. package/build/legacy/queryObserver.js +1 -4
  42. package/build/legacy/queryObserver.js.map +1 -1
  43. package/build/legacy/retryer.d.cts +1 -1
  44. package/build/legacy/retryer.d.ts +1 -1
  45. package/build/legacy/types.cjs.map +1 -1
  46. package/build/legacy/types.d.cts +1 -1
  47. package/build/legacy/types.d.ts +1 -1
  48. package/build/legacy/utils.cjs +1 -1
  49. package/build/legacy/utils.cjs.map +1 -1
  50. package/build/legacy/utils.d.cts +1 -1
  51. package/build/legacy/utils.d.ts +1 -1
  52. package/build/legacy/utils.js +1 -1
  53. package/build/legacy/utils.js.map +1 -1
  54. package/build/modern/hydration.d.cts +1 -1
  55. package/build/modern/hydration.d.ts +1 -1
  56. package/build/modern/index.d.cts +1 -1
  57. package/build/modern/index.d.ts +1 -1
  58. package/build/modern/infiniteQueryBehavior.d.cts +1 -1
  59. package/build/modern/infiniteQueryBehavior.d.ts +1 -1
  60. package/build/modern/infiniteQueryObserver.cjs.map +1 -1
  61. package/build/modern/infiniteQueryObserver.d.cts +2 -2
  62. package/build/modern/infiniteQueryObserver.d.ts +2 -2
  63. package/build/modern/infiniteQueryObserver.js.map +1 -1
  64. package/build/modern/mutation.d.cts +1 -1
  65. package/build/modern/mutation.d.ts +1 -1
  66. package/build/modern/mutationCache.d.cts +1 -1
  67. package/build/modern/mutationCache.d.ts +1 -1
  68. package/build/modern/mutationObserver.cjs +1 -1
  69. package/build/modern/mutationObserver.cjs.map +1 -1
  70. package/build/modern/mutationObserver.d.cts +1 -1
  71. package/build/modern/mutationObserver.d.ts +1 -1
  72. package/build/modern/mutationObserver.js +1 -1
  73. package/build/modern/mutationObserver.js.map +1 -1
  74. package/build/modern/queriesObserver.d.cts +1 -1
  75. package/build/modern/queriesObserver.d.ts +1 -1
  76. package/build/modern/query.d.cts +1 -1
  77. package/build/modern/query.d.ts +1 -1
  78. package/build/modern/queryCache.cjs.map +1 -1
  79. package/build/modern/queryCache.d.cts +1 -1
  80. package/build/modern/queryCache.d.ts +1 -1
  81. package/build/modern/queryCache.js.map +1 -1
  82. package/build/modern/{queryClient-Xp52MRx8.d.ts → queryClient-Ho-z40Sw.d.ts} +11 -10
  83. package/build/modern/{queryClient-Wk_JAAGO.d.cts → queryClient-xw4cqSqb.d.cts} +11 -10
  84. package/build/modern/queryClient.cjs +2 -2
  85. package/build/modern/queryClient.cjs.map +1 -1
  86. package/build/modern/queryClient.d.cts +1 -1
  87. package/build/modern/queryClient.d.ts +1 -1
  88. package/build/modern/queryClient.js +2 -2
  89. package/build/modern/queryClient.js.map +1 -1
  90. package/build/modern/queryObserver.cjs +1 -4
  91. package/build/modern/queryObserver.cjs.map +1 -1
  92. package/build/modern/queryObserver.d.cts +1 -1
  93. package/build/modern/queryObserver.d.ts +1 -1
  94. package/build/modern/queryObserver.js +1 -4
  95. package/build/modern/queryObserver.js.map +1 -1
  96. package/build/modern/retryer.d.cts +1 -1
  97. package/build/modern/retryer.d.ts +1 -1
  98. package/build/modern/types.cjs.map +1 -1
  99. package/build/modern/types.d.cts +1 -1
  100. package/build/modern/types.d.ts +1 -1
  101. package/build/modern/utils.cjs +1 -1
  102. package/build/modern/utils.cjs.map +1 -1
  103. package/build/modern/utils.d.cts +1 -1
  104. package/build/modern/utils.d.ts +1 -1
  105. package/build/modern/utils.js +1 -1
  106. package/build/modern/utils.js.map +1 -1
  107. package/package.json +1 -1
  108. package/src/infiniteQueryObserver.ts +1 -1
  109. package/src/mutationObserver.ts +1 -1
  110. package/src/queryCache.ts +5 -2
  111. package/src/queryClient.ts +9 -6
  112. package/src/queryObserver.ts +3 -8
  113. package/src/tests/queriesObserver.test.tsx +0 -25
  114. package/src/tests/queryCache.test.tsx +2 -1
  115. package/src/tests/queryObserver.test.tsx +3 -3
  116. package/src/tests/queryObserver.types.test.tsx +2 -0
  117. package/src/tests/utils.test.tsx +18 -0
  118. package/src/types.ts +9 -7
  119. package/src/utils.ts +7 -4
package/src/types.ts CHANGED
@@ -218,12 +218,9 @@ export interface QueryObserverOptions<
218
218
  TQueryData = TQueryFnData,
219
219
  TQueryKey extends QueryKey = QueryKey,
220
220
  TPageParam = never,
221
- > extends QueryOptions<
222
- TQueryFnData,
223
- TError,
224
- TQueryData,
225
- TQueryKey,
226
- TPageParam
221
+ > extends WithRequired<
222
+ QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam>,
223
+ 'queryKey'
227
224
  > {
228
225
  /**
229
226
  * Set this to `false` to disable automatic refetching when the query mounts or changes query keys.
@@ -340,6 +337,11 @@ export interface QueryObserverOptions<
340
337
  export type WithRequired<TTarget, TKey extends keyof TTarget> = TTarget & {
341
338
  [_ in TKey]: {}
342
339
  }
340
+ export type Optional<TTarget, TKey extends keyof TTarget> = Pick<
341
+ Partial<TTarget>,
342
+ TKey
343
+ > &
344
+ Omit<TTarget, TKey>
343
345
 
344
346
  export type DefaultedQueryObserverOptions<
345
347
  TQueryFnData = unknown,
@@ -871,7 +873,7 @@ export interface QueryClientConfig {
871
873
  }
872
874
 
873
875
  export interface DefaultOptions<TError = DefaultError> {
874
- queries?: Omit<QueryObserverOptions<unknown, TError>, 'suspense'>
876
+ queries?: Omit<QueryObserverOptions<unknown, TError>, 'suspense' | 'queryKey'>
875
877
  mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>
876
878
  }
877
879
 
package/src/utils.ts CHANGED
@@ -167,7 +167,7 @@ export function matchMutation(
167
167
 
168
168
  export function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(
169
169
  queryKey: TQueryKey,
170
- options?: QueryOptions<any, any, any, TQueryKey>,
170
+ options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,
171
171
  ): string {
172
172
  const hashFn = options?.queryKeyHashFn || hashKey
173
173
  return hashFn(queryKey)
@@ -257,10 +257,13 @@ export function replaceEqualDeep(a: any, b: any): any {
257
257
  }
258
258
 
259
259
  /**
260
- * Shallow compare objects. Only works with objects that always have the same properties.
260
+ * Shallow compare objects.
261
261
  */
262
- export function shallowEqualObjects<T>(a: T, b: T): boolean {
263
- if ((a && !b) || (b && !a)) {
262
+ export function shallowEqualObjects<T extends Record<string, any>>(
263
+ a: T,
264
+ b: T | undefined,
265
+ ): boolean {
266
+ if (!b || Object.keys(a).length !== Object.keys(b).length) {
264
267
  return false
265
268
  }
266
269