@tanstack/query-core 4.36.1 → 4.39.0

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 (181) hide show
  1. package/build/lib/queryCache.d.ts +14 -4
  2. package/build/lib/queryClient.d.ts +83 -20
  3. package/build/lib/tests/queryClient.types.test.d.ts +2 -0
  4. package/build/lib/tests/utils.d.ts +1 -0
  5. package/build/lib/types.d.ts +8 -0
  6. package/package.json +2 -9
  7. package/src/mutationObserver.ts +3 -1
  8. package/src/queryCache.ts +37 -6
  9. package/src/queryClient.ts +202 -37
  10. package/src/tests/mutations.test.tsx +8 -0
  11. package/src/tests/queryClient.types.test.tsx +13 -0
  12. package/src/tests/utils.ts +2 -0
  13. package/src/types.ts +20 -0
  14. package/build/lib/focusManager.d.ts.map +0 -1
  15. package/build/lib/focusManager.esm.js +0 -91
  16. package/build/lib/focusManager.esm.js.map +0 -1
  17. package/build/lib/focusManager.js +0 -96
  18. package/build/lib/focusManager.js.map +0 -1
  19. package/build/lib/focusManager.mjs +0 -91
  20. package/build/lib/focusManager.mjs.map +0 -1
  21. package/build/lib/hydration.d.ts.map +0 -1
  22. package/build/lib/hydration.esm.js +0 -109
  23. package/build/lib/hydration.esm.js.map +0 -1
  24. package/build/lib/hydration.js +0 -116
  25. package/build/lib/hydration.js.map +0 -1
  26. package/build/lib/hydration.mjs +0 -109
  27. package/build/lib/hydration.mjs.map +0 -1
  28. package/build/lib/index.d.ts.map +0 -1
  29. package/build/lib/index.esm.js +0 -15
  30. package/build/lib/index.esm.js.map +0 -1
  31. package/build/lib/index.js +0 -48
  32. package/build/lib/index.js.map +0 -1
  33. package/build/lib/index.mjs +0 -15
  34. package/build/lib/index.mjs.map +0 -1
  35. package/build/lib/infiniteQueryBehavior.d.ts.map +0 -1
  36. package/build/lib/infiniteQueryBehavior.esm.js +0 -146
  37. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  38. package/build/lib/infiniteQueryBehavior.js +0 -154
  39. package/build/lib/infiniteQueryBehavior.js.map +0 -1
  40. package/build/lib/infiniteQueryBehavior.mjs +0 -146
  41. package/build/lib/infiniteQueryBehavior.mjs.map +0 -1
  42. package/build/lib/infiniteQueryObserver.d.ts.map +0 -1
  43. package/build/lib/infiniteQueryObserver.esm.js +0 -85
  44. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  45. package/build/lib/infiniteQueryObserver.js +0 -89
  46. package/build/lib/infiniteQueryObserver.js.map +0 -1
  47. package/build/lib/infiniteQueryObserver.mjs +0 -85
  48. package/build/lib/infiniteQueryObserver.mjs.map +0 -1
  49. package/build/lib/logger.d.ts.map +0 -1
  50. package/build/lib/logger.esm.js +0 -4
  51. package/build/lib/logger.esm.js.map +0 -1
  52. package/build/lib/logger.js +0 -8
  53. package/build/lib/logger.js.map +0 -1
  54. package/build/lib/logger.mjs +0 -4
  55. package/build/lib/logger.mjs.map +0 -1
  56. package/build/lib/logger.native.d.ts.map +0 -1
  57. package/build/lib/logger.native.esm.js +0 -12
  58. package/build/lib/logger.native.esm.js.map +0 -1
  59. package/build/lib/logger.native.js +0 -16
  60. package/build/lib/logger.native.js.map +0 -1
  61. package/build/lib/logger.native.mjs +0 -12
  62. package/build/lib/logger.native.mjs.map +0 -1
  63. package/build/lib/mutation.d.ts.map +0 -1
  64. package/build/lib/mutation.esm.js +0 -261
  65. package/build/lib/mutation.esm.js.map +0 -1
  66. package/build/lib/mutation.js +0 -266
  67. package/build/lib/mutation.js.map +0 -1
  68. package/build/lib/mutation.mjs +0 -261
  69. package/build/lib/mutation.mjs.map +0 -1
  70. package/build/lib/mutationCache.d.ts.map +0 -1
  71. package/build/lib/mutationCache.esm.js +0 -93
  72. package/build/lib/mutationCache.esm.js.map +0 -1
  73. package/build/lib/mutationCache.js +0 -97
  74. package/build/lib/mutationCache.js.map +0 -1
  75. package/build/lib/mutationCache.mjs +0 -93
  76. package/build/lib/mutationCache.mjs.map +0 -1
  77. package/build/lib/mutationObserver.d.ts.map +0 -1
  78. package/build/lib/mutationObserver.esm.js +0 -132
  79. package/build/lib/mutationObserver.esm.js.map +0 -1
  80. package/build/lib/mutationObserver.js +0 -136
  81. package/build/lib/mutationObserver.js.map +0 -1
  82. package/build/lib/mutationObserver.mjs +0 -132
  83. package/build/lib/mutationObserver.mjs.map +0 -1
  84. package/build/lib/notifyManager.d.ts.map +0 -1
  85. package/build/lib/notifyManager.esm.js +0 -99
  86. package/build/lib/notifyManager.esm.js.map +0 -1
  87. package/build/lib/notifyManager.js +0 -104
  88. package/build/lib/notifyManager.js.map +0 -1
  89. package/build/lib/notifyManager.mjs +0 -99
  90. package/build/lib/notifyManager.mjs.map +0 -1
  91. package/build/lib/onlineManager.d.ts.map +0 -1
  92. package/build/lib/onlineManager.esm.js +0 -93
  93. package/build/lib/onlineManager.esm.js.map +0 -1
  94. package/build/lib/onlineManager.js +0 -98
  95. package/build/lib/onlineManager.js.map +0 -1
  96. package/build/lib/onlineManager.mjs +0 -93
  97. package/build/lib/onlineManager.mjs.map +0 -1
  98. package/build/lib/queriesObserver.d.ts.map +0 -1
  99. package/build/lib/queriesObserver.esm.js +0 -168
  100. package/build/lib/queriesObserver.esm.js.map +0 -1
  101. package/build/lib/queriesObserver.js +0 -172
  102. package/build/lib/queriesObserver.js.map +0 -1
  103. package/build/lib/queriesObserver.mjs +0 -168
  104. package/build/lib/queriesObserver.mjs.map +0 -1
  105. package/build/lib/query.d.ts.map +0 -1
  106. package/build/lib/query.esm.js +0 -475
  107. package/build/lib/query.esm.js.map +0 -1
  108. package/build/lib/query.js +0 -479
  109. package/build/lib/query.js.map +0 -1
  110. package/build/lib/query.mjs +0 -475
  111. package/build/lib/query.mjs.map +0 -1
  112. package/build/lib/queryCache.d.ts.map +0 -1
  113. package/build/lib/queryCache.esm.js +0 -127
  114. package/build/lib/queryCache.esm.js.map +0 -1
  115. package/build/lib/queryCache.js +0 -131
  116. package/build/lib/queryCache.js.map +0 -1
  117. package/build/lib/queryCache.mjs +0 -127
  118. package/build/lib/queryCache.mjs.map +0 -1
  119. package/build/lib/queryClient.d.ts.map +0 -1
  120. package/build/lib/queryClient.esm.js +0 -356
  121. package/build/lib/queryClient.esm.js.map +0 -1
  122. package/build/lib/queryClient.js +0 -360
  123. package/build/lib/queryClient.js.map +0 -1
  124. package/build/lib/queryClient.mjs +0 -356
  125. package/build/lib/queryClient.mjs.map +0 -1
  126. package/build/lib/queryObserver.d.ts.map +0 -1
  127. package/build/lib/queryObserver.esm.js +0 -580
  128. package/build/lib/queryObserver.esm.js.map +0 -1
  129. package/build/lib/queryObserver.js +0 -584
  130. package/build/lib/queryObserver.js.map +0 -1
  131. package/build/lib/queryObserver.mjs +0 -580
  132. package/build/lib/queryObserver.mjs.map +0 -1
  133. package/build/lib/removable.d.ts.map +0 -1
  134. package/build/lib/removable.esm.js +0 -33
  135. package/build/lib/removable.esm.js.map +0 -1
  136. package/build/lib/removable.js +0 -37
  137. package/build/lib/removable.js.map +0 -1
  138. package/build/lib/removable.mjs +0 -33
  139. package/build/lib/removable.mjs.map +0 -1
  140. package/build/lib/retryer.d.ts.map +0 -1
  141. package/build/lib/retryer.esm.js +0 -167
  142. package/build/lib/retryer.esm.js.map +0 -1
  143. package/build/lib/retryer.js +0 -174
  144. package/build/lib/retryer.js.map +0 -1
  145. package/build/lib/retryer.mjs +0 -167
  146. package/build/lib/retryer.mjs.map +0 -1
  147. package/build/lib/subscribable.d.ts.map +0 -1
  148. package/build/lib/subscribable.esm.js +0 -32
  149. package/build/lib/subscribable.esm.js.map +0 -1
  150. package/build/lib/subscribable.js +0 -36
  151. package/build/lib/subscribable.js.map +0 -1
  152. package/build/lib/subscribable.mjs +0 -32
  153. package/build/lib/subscribable.mjs.map +0 -1
  154. package/build/lib/tests/focusManager.test.d.ts.map +0 -1
  155. package/build/lib/tests/hydration.test.d.ts.map +0 -1
  156. package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +0 -1
  157. package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +0 -1
  158. package/build/lib/tests/mutationCache.test.d.ts.map +0 -1
  159. package/build/lib/tests/mutationObserver.test.d.ts.map +0 -1
  160. package/build/lib/tests/mutations.test.d.ts.map +0 -1
  161. package/build/lib/tests/notifyManager.test.d.ts.map +0 -1
  162. package/build/lib/tests/onlineManager.test.d.ts.map +0 -1
  163. package/build/lib/tests/queriesObserver.test.d.ts.map +0 -1
  164. package/build/lib/tests/query.test.d.ts.map +0 -1
  165. package/build/lib/tests/queryCache.test.d.ts.map +0 -1
  166. package/build/lib/tests/queryClient.test.d.ts.map +0 -1
  167. package/build/lib/tests/queryObserver.test.d.ts.map +0 -1
  168. package/build/lib/tests/utils.d.ts.map +0 -1
  169. package/build/lib/tests/utils.test.d.ts.map +0 -1
  170. package/build/lib/types.d.ts.map +0 -1
  171. package/build/lib/utils.d.ts.map +0 -1
  172. package/build/lib/utils.esm.js +0 -320
  173. package/build/lib/utils.esm.js.map +0 -1
  174. package/build/lib/utils.js +0 -350
  175. package/build/lib/utils.js.map +0 -1
  176. package/build/lib/utils.mjs +0 -320
  177. package/build/lib/utils.mjs.map +0 -1
  178. package/build/umd/index.development.js +0 -3307
  179. package/build/umd/index.development.js.map +0 -1
  180. package/build/umd/index.production.js +0 -2
  181. package/build/umd/index.production.js.map +0 -1
@@ -2,7 +2,7 @@ import { Query } from './query';
2
2
  import { Subscribable } from './subscribable';
3
3
  import type { QueryFilters } from './utils';
4
4
  import type { Action, QueryState } from './query';
5
- import type { NotifyEvent, QueryKey, QueryOptions } from './types';
5
+ import type { NotifyEvent, OmitKeyof, QueryKey, QueryOptions } from './types';
6
6
  import type { QueryClient } from './queryClient';
7
7
  import type { QueryObserver } from './queryObserver';
8
8
  interface QueryCacheConfig {
@@ -55,10 +55,20 @@ export declare class QueryCache extends Subscribable<QueryCacheListener> {
55
55
  clear(): void;
56
56
  get<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryHash: string): Query<TQueryFnData, TError, TData, TQueryKey> | undefined;
57
57
  getAll(): Query[];
58
- find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(arg1: QueryKey, arg2?: QueryFilters): Query<TQueryFnData, TError, TData> | undefined;
59
- findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[];
58
+ find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(filters: QueryFilters): Query<TQueryFnData, TError, TData> | undefined;
59
+ /**
60
+ * @deprecated This method should be used with only one object argument.
61
+ */
62
+ find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(queryKey: QueryKey, filters?: OmitKeyof<QueryFilters, 'queryKey'>): Query<TQueryFnData, TError, TData> | undefined;
60
63
  findAll(filters?: QueryFilters): Query[];
61
- findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[];
64
+ /**
65
+ * @deprecated This method should be used with only one object argument.
66
+ */
67
+ findAll(queryKey?: QueryKey, filters?: OmitKeyof<QueryFilters, 'queryKey'>): Query[];
68
+ /**
69
+ * @deprecated This method should be used with only one object argument.
70
+ */
71
+ findAll(arg1?: QueryKey | QueryFilters, arg2?: OmitKeyof<QueryFilters, 'queryKey'>): Query[];
62
72
  notify(event: QueryCacheNotifyEvent): void;
63
73
  onFocus(): void;
64
74
  onOnline(): void;
@@ -1,5 +1,6 @@
1
1
  import { QueryCache } from './queryCache';
2
2
  import { MutationCache } from './mutationCache';
3
+ import type { OmitKeyof } from '@tanstack/query-core';
3
4
  import type { CancelOptions, DefaultedQueryObserverOptions } from './types';
4
5
  import type { Logger } from './logger';
5
6
  import type { QueryState } from './query';
@@ -19,40 +20,102 @@ export declare class QueryClient {
19
20
  mount(): void;
20
21
  unmount(): void;
21
22
  isFetching(filters?: QueryFilters): number;
22
- isFetching(queryKey?: QueryKey, filters?: QueryFilters): number;
23
+ /**
24
+ * @deprecated This method should be used with only one object argument.
25
+ */
26
+ isFetching(queryKey?: QueryKey, filters?: OmitKeyof<QueryFilters, 'queryKey'>): number;
23
27
  isMutating(filters?: MutationFilters): number;
24
- getQueryData<TQueryFnData = unknown>(queryKey: QueryKey, filters?: QueryFilters): TQueryFnData | undefined;
28
+ getQueryData<TQueryFnData = unknown>(queryKey: QueryKey): TQueryFnData | undefined;
29
+ /**
30
+ * @deprecated This method will accept only queryKey in the next major version.
31
+ */
32
+ getQueryData<TQueryFnData = unknown>(queryKey: QueryKey, filters: OmitKeyof<QueryFilters, 'queryKey'>): TQueryFnData | undefined;
25
33
  ensureQueryData<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: WithRequired<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<TData>;
26
- ensureQueryData<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: Omit<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<TData>;
27
- ensureQueryData<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: Omit<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>): Promise<TData>;
28
- getQueriesData<TQueryFnData = unknown>(queryKey: QueryKey): [QueryKey, TQueryFnData | undefined][];
34
+ /**
35
+ * @deprecated This method should be used with only one object argument.
36
+ */
37
+ ensureQueryData<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<TData>;
38
+ /**
39
+ * @deprecated This method should be used with only one object argument.
40
+ */
41
+ ensureQueryData<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>): Promise<TData>;
29
42
  getQueriesData<TQueryFnData = unknown>(filters: QueryFilters): [QueryKey, TQueryFnData | undefined][];
43
+ /**
44
+ * @deprecated This method should be used with only one object argument.
45
+ */
46
+ getQueriesData<TQueryFnData = unknown>(queryKey: QueryKey): [QueryKey, TQueryFnData | undefined][];
30
47
  setQueryData<TQueryFnData>(queryKey: QueryKey, updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>, options?: SetDataOptions): TQueryFnData | undefined;
31
- setQueriesData<TQueryFnData>(queryKey: QueryKey, updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>, options?: SetDataOptions): [QueryKey, TQueryFnData | undefined][];
32
48
  setQueriesData<TQueryFnData>(filters: QueryFilters, updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>, options?: SetDataOptions): [QueryKey, TQueryFnData | undefined][];
33
- getQueryState<TQueryFnData = unknown, TError = undefined>(queryKey: QueryKey, filters?: QueryFilters): QueryState<TQueryFnData, TError> | undefined;
49
+ /**
50
+ * @deprecated This method should be used with only one object argument.
51
+ */
52
+ setQueriesData<TQueryFnData>(queryKey: QueryKey, updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>, options?: SetDataOptions): [QueryKey, TQueryFnData | undefined][];
53
+ getQueryState<TQueryFnData = unknown, TError = undefined>(queryKey: QueryKey,
54
+ /**
55
+ * @deprecated This filters will be removed in the next major version.
56
+ */
57
+ filters?: OmitKeyof<QueryFilters, 'queryKey'>): QueryState<TQueryFnData, TError> | undefined;
34
58
  removeQueries(filters?: QueryFilters): void;
35
- removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void;
59
+ /**
60
+ * @deprecated This method should be used with only one object argument.
61
+ */
62
+ removeQueries(queryKey?: QueryKey, filters?: OmitKeyof<QueryFilters, 'queryKey'>): void;
36
63
  resetQueries<TPageData = unknown>(filters?: ResetQueryFilters<TPageData>, options?: ResetOptions): Promise<void>;
37
- resetQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: ResetQueryFilters<TPageData>, options?: ResetOptions): Promise<void>;
64
+ /**
65
+ * @deprecated This method should be used with only one object argument.
66
+ */
67
+ resetQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: OmitKeyof<ResetQueryFilters<TPageData>, 'queryKey'>, options?: ResetOptions): Promise<void>;
38
68
  cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>;
39
- cancelQueries(queryKey?: QueryKey, filters?: QueryFilters, options?: CancelOptions): Promise<void>;
69
+ /**
70
+ * @deprecated This method should be used with only one object argument.
71
+ */
72
+ cancelQueries(queryKey?: QueryKey, filters?: OmitKeyof<QueryFilters, 'queryKey'>, options?: CancelOptions): Promise<void>;
40
73
  invalidateQueries<TPageData = unknown>(filters?: InvalidateQueryFilters<TPageData>, options?: InvalidateOptions): Promise<void>;
41
- invalidateQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: InvalidateQueryFilters<TPageData>, options?: InvalidateOptions): Promise<void>;
74
+ /**
75
+ * @deprecated This method should be used with only one object argument.
76
+ */
77
+ invalidateQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: OmitKeyof<InvalidateQueryFilters<TPageData>, 'queryKey'>, options?: InvalidateOptions): Promise<void>;
42
78
  refetchQueries<TPageData = unknown>(filters?: RefetchQueryFilters<TPageData>, options?: RefetchOptions): Promise<void>;
43
- refetchQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: RefetchQueryFilters<TPageData>, options?: RefetchOptions): Promise<void>;
79
+ /**
80
+ * @deprecated This method should be used with only one object argument.
81
+ */
82
+ refetchQueries<TPageData = unknown>(queryKey?: QueryKey, filters?: OmitKeyof<RefetchQueryFilters<TPageData>, 'queryKey'>, options?: RefetchOptions): Promise<void>;
44
83
  fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
45
- fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
46
- fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
84
+ /**
85
+ * @deprecated This method should be used with only one object argument.
86
+ */
87
+ fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<TData>;
88
+ /**
89
+ * @deprecated This method should be used with only one object argument.
90
+ */
91
+ fetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>): Promise<TData>;
47
92
  prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
48
- prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
49
- prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
93
+ /**
94
+ * @deprecated This method should be used with only one object argument.
95
+ */
96
+ prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<void>;
97
+ /**
98
+ * @deprecated This method should be used with only one object argument.
99
+ */
100
+ prefetchQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: OmitKeyof<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>): Promise<void>;
50
101
  fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<InfiniteData<TData>>;
51
- fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<InfiniteData<TData>>;
52
- fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<InfiniteData<TData>>;
102
+ /**
103
+ * @deprecated This method should be used with only one object argument.
104
+ */
105
+ fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: OmitKeyof<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<InfiniteData<TData>>;
106
+ /**
107
+ * @deprecated This method should be used with only one object argument.
108
+ */
109
+ fetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: OmitKeyof<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>): Promise<InfiniteData<TData>>;
53
110
  prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
54
- prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
55
- prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
111
+ /**
112
+ * @deprecated This method should be used with only one object argument.
113
+ */
114
+ prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: OmitKeyof<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>): Promise<void>;
115
+ /**
116
+ * @deprecated This method should be used with only one object argument.
117
+ */
118
+ prefetchInfiniteQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: OmitKeyof<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>): Promise<void>;
56
119
  resumePausedMutations(): Promise<unknown>;
57
120
  getQueryCache(): QueryCache;
58
121
  getMutationCache(): MutationCache;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=queryClient.types.test.d.ts.map
@@ -2,6 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  import { QueryClient } from '@tanstack/query-core';
4
4
  import type { MutationOptions, QueryClientConfig } from '@tanstack/query-core';
5
+ export declare const doNotExecute: (_func: () => void) => boolean;
5
6
  export declare function createQueryClient(config?: QueryClientConfig): QueryClient;
6
7
  export declare function mockVisibilityState(value: DocumentVisibilityState): jest.SpyInstance<DocumentVisibilityState, []>;
7
8
  export declare function mockNavigatorOnLine(value: boolean): jest.SpyInstance<boolean, []>;
@@ -5,6 +5,8 @@ import type { QueryFilters, QueryTypeFilter } from './utils';
5
5
  import type { QueryCache } from './queryCache';
6
6
  import type { MutationCache } from './mutationCache';
7
7
  import type { Logger } from './logger';
8
+ export declare type NonUndefinedGuard<T> = T extends undefined ? never : T;
9
+ export declare type OmitKeyof<TObject, TKey extends TStrictly extends 'safely' ? keyof TObject | (string & Record<never, never>) | (number & Record<never, never>) | (symbol & Record<never, never>) : keyof TObject, TStrictly extends 'strictly' | 'safely' = 'strictly'> = Omit<TObject, TKey>;
8
10
  export declare type QueryKey = readonly unknown[];
9
11
  export declare type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = any> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>;
10
12
  export interface QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = any> {
@@ -172,6 +174,8 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = unknown,
172
174
  /**
173
175
  * Set this to `true` to keep the previous `data` when fetching based on a new query key.
174
176
  * Defaults to `false`.
177
+ *
178
+ * @deprecated keepPreviousData will be removed in the next major version.
175
179
  */
176
180
  keepPreviousData?: boolean;
177
181
  /**
@@ -249,6 +253,9 @@ export interface QueryObserverBaseResult<TData = unknown, TError = unknown> {
249
253
  isStale: boolean;
250
254
  isSuccess: boolean;
251
255
  refetch: <TPageData>(options?: RefetchOptions & RefetchQueryFilters<TPageData>) => Promise<QueryObserverResult<TData, TError>>;
256
+ /**
257
+ * @deprecated This method will be removed in the next major version. Use `QueryClient.removeQueries` instead.
258
+ */
252
259
  remove: () => void;
253
260
  status: QueryStatus;
254
261
  fetchStatus: FetchStatus;
@@ -378,6 +385,7 @@ export interface MutationObserverBaseResult<TData = unknown, TError = unknown, T
378
385
  isError: boolean;
379
386
  isIdle: boolean;
380
387
  isLoading: boolean;
388
+ isPending: boolean;
381
389
  isSuccess: boolean;
382
390
  mutate: MutateFunction<TData, TError, TVariables, TContext>;
383
391
  reset: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/query-core",
3
- "version": "4.36.1",
3
+ "version": "4.39.0",
4
4
  "description": "The framework agnostic core that powers TanStack Query",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -31,12 +31,5 @@
31
31
  "build/umd/*",
32
32
  "src"
33
33
  ],
34
- "scripts": {
35
- "clean": "rimraf ./build",
36
- "test:eslint": "eslint --ext .ts,.tsx ./src",
37
- "test:types": "tsc",
38
- "test:lib": "jest --config ./jest.config.ts",
39
- "test:lib:dev": "pnpm run test:lib --watch",
40
- "build:types": "tsc --build"
41
- }
34
+ "scripts": {}
42
35
  }
@@ -141,6 +141,7 @@ export class MutationObserver<
141
141
  ? this.currentMutation.state
142
142
  : getDefaultState<TData, TError, TVariables, TContext>()
143
143
 
144
+ const isLoading = state.status === 'loading'
144
145
  const result: MutationObserverBaseResult<
145
146
  TData,
146
147
  TError,
@@ -148,7 +149,8 @@ export class MutationObserver<
148
149
  TContext
149
150
  > = {
150
151
  ...state,
151
- isLoading: state.status === 'loading',
152
+ isLoading,
153
+ isPending: isLoading,
152
154
  isSuccess: state.status === 'success',
153
155
  isError: state.status === 'error',
154
156
  isIdle: state.status === 'idle',
package/src/queryCache.ts CHANGED
@@ -4,7 +4,7 @@ import { notifyManager } from './notifyManager'
4
4
  import { Subscribable } from './subscribable'
5
5
  import type { QueryFilters } from './utils'
6
6
  import type { Action, QueryState } from './query'
7
- import type { NotifyEvent, QueryKey, QueryOptions } from './types'
7
+ import type { NotifyEvent, OmitKeyof, QueryKey, QueryOptions } from './types'
8
8
  import type { QueryClient } from './queryClient'
9
9
  import type { QueryObserver } from './queryObserver'
10
10
 
@@ -166,8 +166,21 @@ export class QueryCache extends Subscribable<QueryCacheListener> {
166
166
  }
167
167
 
168
168
  find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(
169
- arg1: QueryKey,
170
- arg2?: QueryFilters,
169
+ filters: QueryFilters,
170
+ ): Query<TQueryFnData, TError, TData> | undefined
171
+ /**
172
+ * @deprecated This method should be used with only one object argument.
173
+ */
174
+ find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(
175
+ queryKey: QueryKey,
176
+ filters?: OmitKeyof<QueryFilters, 'queryKey'>,
177
+ ): Query<TQueryFnData, TError, TData> | undefined
178
+ /**
179
+ * @deprecated This method should be used with only one object argument.
180
+ */
181
+ find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(
182
+ arg1: QueryKey | QueryFilters,
183
+ arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
171
184
  ): Query<TQueryFnData, TError, TData> | undefined {
172
185
  const [filters] = parseFilterArgs(arg1, arg2)
173
186
 
@@ -178,10 +191,28 @@ export class QueryCache extends Subscribable<QueryCacheListener> {
178
191
  return this.queries.find((query) => matchQuery(filters, query))
179
192
  }
180
193
 
181
- findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]
182
194
  findAll(filters?: QueryFilters): Query[]
183
- findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]
184
- findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {
195
+ /**
196
+ * @deprecated This method should be used with only one object argument.
197
+ */
198
+ findAll(
199
+ queryKey?: QueryKey,
200
+ filters?: OmitKeyof<QueryFilters, 'queryKey'>,
201
+ ): Query[]
202
+ /**
203
+ * @deprecated This method should be used with only one object argument.
204
+ */
205
+ findAll(
206
+ arg1?: QueryKey | QueryFilters,
207
+ arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
208
+ ): Query[]
209
+ /**
210
+ * @deprecated This method should be used with only one object argument.
211
+ */
212
+ findAll(
213
+ arg1?: QueryKey | QueryFilters,
214
+ arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
215
+ ): Query[] {
185
216
  const [filters] = parseFilterArgs(arg1, arg2)
186
217
  return Object.keys(filters).length > 0
187
218
  ? this.queries.filter((query) => matchQuery(filters, query))