@tanstack/query-core 4.35.7 → 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 (143) 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.esm.js +0 -91
  15. package/build/lib/focusManager.esm.js.map +0 -1
  16. package/build/lib/focusManager.js +0 -96
  17. package/build/lib/focusManager.js.map +0 -1
  18. package/build/lib/focusManager.mjs +0 -91
  19. package/build/lib/focusManager.mjs.map +0 -1
  20. package/build/lib/hydration.esm.js +0 -109
  21. package/build/lib/hydration.esm.js.map +0 -1
  22. package/build/lib/hydration.js +0 -116
  23. package/build/lib/hydration.js.map +0 -1
  24. package/build/lib/hydration.mjs +0 -109
  25. package/build/lib/hydration.mjs.map +0 -1
  26. package/build/lib/index.esm.js +0 -15
  27. package/build/lib/index.esm.js.map +0 -1
  28. package/build/lib/index.js +0 -48
  29. package/build/lib/index.js.map +0 -1
  30. package/build/lib/index.mjs +0 -15
  31. package/build/lib/index.mjs.map +0 -1
  32. package/build/lib/infiniteQueryBehavior.esm.js +0 -146
  33. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  34. package/build/lib/infiniteQueryBehavior.js +0 -154
  35. package/build/lib/infiniteQueryBehavior.js.map +0 -1
  36. package/build/lib/infiniteQueryBehavior.mjs +0 -146
  37. package/build/lib/infiniteQueryBehavior.mjs.map +0 -1
  38. package/build/lib/infiniteQueryObserver.esm.js +0 -85
  39. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  40. package/build/lib/infiniteQueryObserver.js +0 -89
  41. package/build/lib/infiniteQueryObserver.js.map +0 -1
  42. package/build/lib/infiniteQueryObserver.mjs +0 -85
  43. package/build/lib/infiniteQueryObserver.mjs.map +0 -1
  44. package/build/lib/logger.esm.js +0 -4
  45. package/build/lib/logger.esm.js.map +0 -1
  46. package/build/lib/logger.js +0 -8
  47. package/build/lib/logger.js.map +0 -1
  48. package/build/lib/logger.mjs +0 -4
  49. package/build/lib/logger.mjs.map +0 -1
  50. package/build/lib/logger.native.esm.js +0 -12
  51. package/build/lib/logger.native.esm.js.map +0 -1
  52. package/build/lib/logger.native.js +0 -16
  53. package/build/lib/logger.native.js.map +0 -1
  54. package/build/lib/logger.native.mjs +0 -12
  55. package/build/lib/logger.native.mjs.map +0 -1
  56. package/build/lib/mutation.esm.js +0 -261
  57. package/build/lib/mutation.esm.js.map +0 -1
  58. package/build/lib/mutation.js +0 -266
  59. package/build/lib/mutation.js.map +0 -1
  60. package/build/lib/mutation.mjs +0 -261
  61. package/build/lib/mutation.mjs.map +0 -1
  62. package/build/lib/mutationCache.esm.js +0 -93
  63. package/build/lib/mutationCache.esm.js.map +0 -1
  64. package/build/lib/mutationCache.js +0 -97
  65. package/build/lib/mutationCache.js.map +0 -1
  66. package/build/lib/mutationCache.mjs +0 -93
  67. package/build/lib/mutationCache.mjs.map +0 -1
  68. package/build/lib/mutationObserver.esm.js +0 -132
  69. package/build/lib/mutationObserver.esm.js.map +0 -1
  70. package/build/lib/mutationObserver.js +0 -136
  71. package/build/lib/mutationObserver.js.map +0 -1
  72. package/build/lib/mutationObserver.mjs +0 -132
  73. package/build/lib/mutationObserver.mjs.map +0 -1
  74. package/build/lib/notifyManager.esm.js +0 -99
  75. package/build/lib/notifyManager.esm.js.map +0 -1
  76. package/build/lib/notifyManager.js +0 -104
  77. package/build/lib/notifyManager.js.map +0 -1
  78. package/build/lib/notifyManager.mjs +0 -99
  79. package/build/lib/notifyManager.mjs.map +0 -1
  80. package/build/lib/onlineManager.esm.js +0 -93
  81. package/build/lib/onlineManager.esm.js.map +0 -1
  82. package/build/lib/onlineManager.js +0 -98
  83. package/build/lib/onlineManager.js.map +0 -1
  84. package/build/lib/onlineManager.mjs +0 -93
  85. package/build/lib/onlineManager.mjs.map +0 -1
  86. package/build/lib/queriesObserver.esm.js +0 -168
  87. package/build/lib/queriesObserver.esm.js.map +0 -1
  88. package/build/lib/queriesObserver.js +0 -172
  89. package/build/lib/queriesObserver.js.map +0 -1
  90. package/build/lib/queriesObserver.mjs +0 -168
  91. package/build/lib/queriesObserver.mjs.map +0 -1
  92. package/build/lib/query.esm.js +0 -475
  93. package/build/lib/query.esm.js.map +0 -1
  94. package/build/lib/query.js +0 -479
  95. package/build/lib/query.js.map +0 -1
  96. package/build/lib/query.mjs +0 -475
  97. package/build/lib/query.mjs.map +0 -1
  98. package/build/lib/queryCache.esm.js +0 -127
  99. package/build/lib/queryCache.esm.js.map +0 -1
  100. package/build/lib/queryCache.js +0 -131
  101. package/build/lib/queryCache.js.map +0 -1
  102. package/build/lib/queryCache.mjs +0 -127
  103. package/build/lib/queryCache.mjs.map +0 -1
  104. package/build/lib/queryClient.esm.js +0 -356
  105. package/build/lib/queryClient.esm.js.map +0 -1
  106. package/build/lib/queryClient.js +0 -360
  107. package/build/lib/queryClient.js.map +0 -1
  108. package/build/lib/queryClient.mjs +0 -356
  109. package/build/lib/queryClient.mjs.map +0 -1
  110. package/build/lib/queryObserver.esm.js +0 -580
  111. package/build/lib/queryObserver.esm.js.map +0 -1
  112. package/build/lib/queryObserver.js +0 -584
  113. package/build/lib/queryObserver.js.map +0 -1
  114. package/build/lib/queryObserver.mjs +0 -580
  115. package/build/lib/queryObserver.mjs.map +0 -1
  116. package/build/lib/removable.esm.js +0 -33
  117. package/build/lib/removable.esm.js.map +0 -1
  118. package/build/lib/removable.js +0 -37
  119. package/build/lib/removable.js.map +0 -1
  120. package/build/lib/removable.mjs +0 -33
  121. package/build/lib/removable.mjs.map +0 -1
  122. package/build/lib/retryer.esm.js +0 -167
  123. package/build/lib/retryer.esm.js.map +0 -1
  124. package/build/lib/retryer.js +0 -174
  125. package/build/lib/retryer.js.map +0 -1
  126. package/build/lib/retryer.mjs +0 -167
  127. package/build/lib/retryer.mjs.map +0 -1
  128. package/build/lib/subscribable.esm.js +0 -32
  129. package/build/lib/subscribable.esm.js.map +0 -1
  130. package/build/lib/subscribable.js +0 -36
  131. package/build/lib/subscribable.js.map +0 -1
  132. package/build/lib/subscribable.mjs +0 -32
  133. package/build/lib/subscribable.mjs.map +0 -1
  134. package/build/lib/utils.esm.js +0 -320
  135. package/build/lib/utils.esm.js.map +0 -1
  136. package/build/lib/utils.js +0 -350
  137. package/build/lib/utils.js.map +0 -1
  138. package/build/lib/utils.mjs +0 -320
  139. package/build/lib/utils.mjs.map +0 -1
  140. package/build/umd/index.development.js +0 -3307
  141. package/build/umd/index.development.js.map +0 -1
  142. package/build/umd/index.production.js +0 -2
  143. 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.35.7",
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))