@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.
- package/build/lib/queryCache.d.ts +14 -4
- package/build/lib/queryClient.d.ts +83 -20
- package/build/lib/tests/queryClient.types.test.d.ts +2 -0
- package/build/lib/tests/utils.d.ts +1 -0
- package/build/lib/types.d.ts +8 -0
- package/package.json +2 -9
- package/src/mutationObserver.ts +3 -1
- package/src/queryCache.ts +37 -6
- package/src/queryClient.ts +202 -37
- package/src/tests/mutations.test.tsx +8 -0
- package/src/tests/queryClient.types.test.tsx +13 -0
- package/src/tests/utils.ts +2 -0
- package/src/types.ts +20 -0
- package/build/lib/focusManager.esm.js +0 -91
- package/build/lib/focusManager.esm.js.map +0 -1
- package/build/lib/focusManager.js +0 -96
- package/build/lib/focusManager.js.map +0 -1
- package/build/lib/focusManager.mjs +0 -91
- package/build/lib/focusManager.mjs.map +0 -1
- package/build/lib/hydration.esm.js +0 -109
- package/build/lib/hydration.esm.js.map +0 -1
- package/build/lib/hydration.js +0 -116
- package/build/lib/hydration.js.map +0 -1
- package/build/lib/hydration.mjs +0 -109
- package/build/lib/hydration.mjs.map +0 -1
- package/build/lib/index.esm.js +0 -15
- package/build/lib/index.esm.js.map +0 -1
- package/build/lib/index.js +0 -48
- package/build/lib/index.js.map +0 -1
- package/build/lib/index.mjs +0 -15
- package/build/lib/index.mjs.map +0 -1
- package/build/lib/infiniteQueryBehavior.esm.js +0 -146
- package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
- package/build/lib/infiniteQueryBehavior.js +0 -154
- package/build/lib/infiniteQueryBehavior.js.map +0 -1
- package/build/lib/infiniteQueryBehavior.mjs +0 -146
- package/build/lib/infiniteQueryBehavior.mjs.map +0 -1
- package/build/lib/infiniteQueryObserver.esm.js +0 -85
- package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
- package/build/lib/infiniteQueryObserver.js +0 -89
- package/build/lib/infiniteQueryObserver.js.map +0 -1
- package/build/lib/infiniteQueryObserver.mjs +0 -85
- package/build/lib/infiniteQueryObserver.mjs.map +0 -1
- package/build/lib/logger.esm.js +0 -4
- package/build/lib/logger.esm.js.map +0 -1
- package/build/lib/logger.js +0 -8
- package/build/lib/logger.js.map +0 -1
- package/build/lib/logger.mjs +0 -4
- package/build/lib/logger.mjs.map +0 -1
- package/build/lib/logger.native.esm.js +0 -12
- package/build/lib/logger.native.esm.js.map +0 -1
- package/build/lib/logger.native.js +0 -16
- package/build/lib/logger.native.js.map +0 -1
- package/build/lib/logger.native.mjs +0 -12
- package/build/lib/logger.native.mjs.map +0 -1
- package/build/lib/mutation.esm.js +0 -261
- package/build/lib/mutation.esm.js.map +0 -1
- package/build/lib/mutation.js +0 -266
- package/build/lib/mutation.js.map +0 -1
- package/build/lib/mutation.mjs +0 -261
- package/build/lib/mutation.mjs.map +0 -1
- package/build/lib/mutationCache.esm.js +0 -93
- package/build/lib/mutationCache.esm.js.map +0 -1
- package/build/lib/mutationCache.js +0 -97
- package/build/lib/mutationCache.js.map +0 -1
- package/build/lib/mutationCache.mjs +0 -93
- package/build/lib/mutationCache.mjs.map +0 -1
- package/build/lib/mutationObserver.esm.js +0 -132
- package/build/lib/mutationObserver.esm.js.map +0 -1
- package/build/lib/mutationObserver.js +0 -136
- package/build/lib/mutationObserver.js.map +0 -1
- package/build/lib/mutationObserver.mjs +0 -132
- package/build/lib/mutationObserver.mjs.map +0 -1
- package/build/lib/notifyManager.esm.js +0 -99
- package/build/lib/notifyManager.esm.js.map +0 -1
- package/build/lib/notifyManager.js +0 -104
- package/build/lib/notifyManager.js.map +0 -1
- package/build/lib/notifyManager.mjs +0 -99
- package/build/lib/notifyManager.mjs.map +0 -1
- package/build/lib/onlineManager.esm.js +0 -93
- package/build/lib/onlineManager.esm.js.map +0 -1
- package/build/lib/onlineManager.js +0 -98
- package/build/lib/onlineManager.js.map +0 -1
- package/build/lib/onlineManager.mjs +0 -93
- package/build/lib/onlineManager.mjs.map +0 -1
- package/build/lib/queriesObserver.esm.js +0 -168
- package/build/lib/queriesObserver.esm.js.map +0 -1
- package/build/lib/queriesObserver.js +0 -172
- package/build/lib/queriesObserver.js.map +0 -1
- package/build/lib/queriesObserver.mjs +0 -168
- package/build/lib/queriesObserver.mjs.map +0 -1
- package/build/lib/query.esm.js +0 -475
- package/build/lib/query.esm.js.map +0 -1
- package/build/lib/query.js +0 -479
- package/build/lib/query.js.map +0 -1
- package/build/lib/query.mjs +0 -475
- package/build/lib/query.mjs.map +0 -1
- package/build/lib/queryCache.esm.js +0 -127
- package/build/lib/queryCache.esm.js.map +0 -1
- package/build/lib/queryCache.js +0 -131
- package/build/lib/queryCache.js.map +0 -1
- package/build/lib/queryCache.mjs +0 -127
- package/build/lib/queryCache.mjs.map +0 -1
- package/build/lib/queryClient.esm.js +0 -356
- package/build/lib/queryClient.esm.js.map +0 -1
- package/build/lib/queryClient.js +0 -360
- package/build/lib/queryClient.js.map +0 -1
- package/build/lib/queryClient.mjs +0 -356
- package/build/lib/queryClient.mjs.map +0 -1
- package/build/lib/queryObserver.esm.js +0 -580
- package/build/lib/queryObserver.esm.js.map +0 -1
- package/build/lib/queryObserver.js +0 -584
- package/build/lib/queryObserver.js.map +0 -1
- package/build/lib/queryObserver.mjs +0 -580
- package/build/lib/queryObserver.mjs.map +0 -1
- package/build/lib/removable.esm.js +0 -33
- package/build/lib/removable.esm.js.map +0 -1
- package/build/lib/removable.js +0 -37
- package/build/lib/removable.js.map +0 -1
- package/build/lib/removable.mjs +0 -33
- package/build/lib/removable.mjs.map +0 -1
- package/build/lib/retryer.esm.js +0 -167
- package/build/lib/retryer.esm.js.map +0 -1
- package/build/lib/retryer.js +0 -174
- package/build/lib/retryer.js.map +0 -1
- package/build/lib/retryer.mjs +0 -167
- package/build/lib/retryer.mjs.map +0 -1
- package/build/lib/subscribable.esm.js +0 -32
- package/build/lib/subscribable.esm.js.map +0 -1
- package/build/lib/subscribable.js +0 -36
- package/build/lib/subscribable.js.map +0 -1
- package/build/lib/subscribable.mjs +0 -32
- package/build/lib/subscribable.mjs.map +0 -1
- package/build/lib/utils.esm.js +0 -320
- package/build/lib/utils.esm.js.map +0 -1
- package/build/lib/utils.js +0 -350
- package/build/lib/utils.js.map +0 -1
- package/build/lib/utils.mjs +0 -320
- package/build/lib/utils.mjs.map +0 -1
- package/build/umd/index.development.js +0 -3307
- package/build/umd/index.development.js.map +0 -1
- package/build/umd/index.production.js +0 -2
- package/build/umd/index.production.js.map +0 -1
package/src/queryClient.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { onlineManager } from './onlineManager'
|
|
|
14
14
|
import { notifyManager } from './notifyManager'
|
|
15
15
|
import { infiniteQueryBehavior } from './infiniteQueryBehavior'
|
|
16
16
|
import { defaultLogger } from './logger'
|
|
17
|
+
import type { OmitKeyof } from '@tanstack/query-core'
|
|
17
18
|
import type { CancelOptions, DefaultedQueryObserverOptions } from './types'
|
|
18
19
|
import type { Logger } from './logger'
|
|
19
20
|
import type { QueryState } from './query'
|
|
@@ -112,7 +113,16 @@ export class QueryClient {
|
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
isFetching(filters?: QueryFilters): number
|
|
115
|
-
|
|
116
|
+
/**
|
|
117
|
+
* @deprecated This method should be used with only one object argument.
|
|
118
|
+
*/
|
|
119
|
+
isFetching(
|
|
120
|
+
queryKey?: QueryKey,
|
|
121
|
+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
122
|
+
): number
|
|
123
|
+
/**
|
|
124
|
+
* @deprecated This method should be used with only one object argument.
|
|
125
|
+
*/
|
|
116
126
|
isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {
|
|
117
127
|
const [filters] = parseFilterArgs(arg1, arg2)
|
|
118
128
|
filters.fetchStatus = 'fetching'
|
|
@@ -125,7 +135,20 @@ export class QueryClient {
|
|
|
125
135
|
|
|
126
136
|
getQueryData<TQueryFnData = unknown>(
|
|
127
137
|
queryKey: QueryKey,
|
|
128
|
-
|
|
138
|
+
): TQueryFnData | undefined
|
|
139
|
+
/**
|
|
140
|
+
* @deprecated This method will accept only queryKey in the next major version.
|
|
141
|
+
*/
|
|
142
|
+
getQueryData<TQueryFnData = unknown>(
|
|
143
|
+
queryKey: QueryKey,
|
|
144
|
+
filters: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
145
|
+
): TQueryFnData | undefined
|
|
146
|
+
/**
|
|
147
|
+
* @deprecated This method will accept only queryKey in the next major version.
|
|
148
|
+
*/
|
|
149
|
+
getQueryData<TQueryFnData = unknown>(
|
|
150
|
+
queryKey: QueryKey,
|
|
151
|
+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
129
152
|
): TQueryFnData | undefined {
|
|
130
153
|
return this.queryCache.find<TQueryFnData>(queryKey, filters)?.state.data
|
|
131
154
|
}
|
|
@@ -141,6 +164,9 @@ export class QueryClient {
|
|
|
141
164
|
'queryKey'
|
|
142
165
|
>,
|
|
143
166
|
): Promise<TData>
|
|
167
|
+
/**
|
|
168
|
+
* @deprecated This method should be used with only one object argument.
|
|
169
|
+
*/
|
|
144
170
|
ensureQueryData<
|
|
145
171
|
TQueryFnData = unknown,
|
|
146
172
|
TError = unknown,
|
|
@@ -148,11 +174,14 @@ export class QueryClient {
|
|
|
148
174
|
TQueryKey extends QueryKey = QueryKey,
|
|
149
175
|
>(
|
|
150
176
|
queryKey: TQueryKey,
|
|
151
|
-
options?:
|
|
177
|
+
options?: OmitKeyof<
|
|
152
178
|
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
153
179
|
'queryKey'
|
|
154
180
|
>,
|
|
155
181
|
): Promise<TData>
|
|
182
|
+
/**
|
|
183
|
+
* @deprecated This method should be used with only one object argument.
|
|
184
|
+
*/
|
|
156
185
|
ensureQueryData<
|
|
157
186
|
TQueryFnData = unknown,
|
|
158
187
|
TError = unknown,
|
|
@@ -161,11 +190,14 @@ export class QueryClient {
|
|
|
161
190
|
>(
|
|
162
191
|
queryKey: TQueryKey,
|
|
163
192
|
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
|
|
164
|
-
options?:
|
|
193
|
+
options?: OmitKeyof<
|
|
165
194
|
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
166
195
|
'queryKey' | 'queryFn'
|
|
167
196
|
>,
|
|
168
197
|
): Promise<TData>
|
|
198
|
+
/**
|
|
199
|
+
* @deprecated This method should be used with only one object argument.
|
|
200
|
+
*/
|
|
169
201
|
ensureQueryData<
|
|
170
202
|
TQueryFnData,
|
|
171
203
|
TError,
|
|
@@ -192,11 +224,17 @@ export class QueryClient {
|
|
|
192
224
|
}
|
|
193
225
|
|
|
194
226
|
getQueriesData<TQueryFnData = unknown>(
|
|
195
|
-
|
|
227
|
+
filters: QueryFilters,
|
|
196
228
|
): [QueryKey, TQueryFnData | undefined][]
|
|
229
|
+
/**
|
|
230
|
+
* @deprecated This method should be used with only one object argument.
|
|
231
|
+
*/
|
|
197
232
|
getQueriesData<TQueryFnData = unknown>(
|
|
198
|
-
|
|
233
|
+
queryKey: QueryKey,
|
|
199
234
|
): [QueryKey, TQueryFnData | undefined][]
|
|
235
|
+
/**
|
|
236
|
+
* @deprecated This method should be used with only one object argument.
|
|
237
|
+
*/
|
|
200
238
|
getQueriesData<TQueryFnData = unknown>(
|
|
201
239
|
queryKeyOrFilters: QueryKey | QueryFilters,
|
|
202
240
|
): [QueryKey, TQueryFnData | undefined][] {
|
|
@@ -229,17 +267,21 @@ export class QueryClient {
|
|
|
229
267
|
}
|
|
230
268
|
|
|
231
269
|
setQueriesData<TQueryFnData>(
|
|
232
|
-
|
|
270
|
+
filters: QueryFilters,
|
|
233
271
|
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
234
272
|
options?: SetDataOptions,
|
|
235
273
|
): [QueryKey, TQueryFnData | undefined][]
|
|
236
|
-
|
|
274
|
+
/**
|
|
275
|
+
* @deprecated This method should be used with only one object argument.
|
|
276
|
+
*/
|
|
237
277
|
setQueriesData<TQueryFnData>(
|
|
238
|
-
|
|
278
|
+
queryKey: QueryKey,
|
|
239
279
|
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
240
280
|
options?: SetDataOptions,
|
|
241
281
|
): [QueryKey, TQueryFnData | undefined][]
|
|
242
|
-
|
|
282
|
+
/**
|
|
283
|
+
* @deprecated This method should be used with only one object argument.
|
|
284
|
+
*/
|
|
243
285
|
setQueriesData<TQueryFnData>(
|
|
244
286
|
queryKeyOrFilters: QueryKey | QueryFilters,
|
|
245
287
|
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
@@ -257,14 +299,29 @@ export class QueryClient {
|
|
|
257
299
|
|
|
258
300
|
getQueryState<TQueryFnData = unknown, TError = undefined>(
|
|
259
301
|
queryKey: QueryKey,
|
|
260
|
-
|
|
302
|
+
/**
|
|
303
|
+
* @deprecated This filters will be removed in the next major version.
|
|
304
|
+
*/
|
|
305
|
+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
261
306
|
): QueryState<TQueryFnData, TError> | undefined {
|
|
262
307
|
return this.queryCache.find<TQueryFnData, TError>(queryKey, filters)?.state
|
|
263
308
|
}
|
|
264
309
|
|
|
265
310
|
removeQueries(filters?: QueryFilters): void
|
|
266
|
-
|
|
267
|
-
|
|
311
|
+
/**
|
|
312
|
+
* @deprecated This method should be used with only one object argument.
|
|
313
|
+
*/
|
|
314
|
+
removeQueries(
|
|
315
|
+
queryKey?: QueryKey,
|
|
316
|
+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
317
|
+
): void
|
|
318
|
+
/**
|
|
319
|
+
* @deprecated This method should be used with only one object argument.
|
|
320
|
+
*/
|
|
321
|
+
removeQueries(
|
|
322
|
+
arg1?: QueryKey | QueryFilters,
|
|
323
|
+
arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
324
|
+
): void {
|
|
268
325
|
const [filters] = parseFilterArgs(arg1, arg2)
|
|
269
326
|
const queryCache = this.queryCache
|
|
270
327
|
notifyManager.batch(() => {
|
|
@@ -278,14 +335,20 @@ export class QueryClient {
|
|
|
278
335
|
filters?: ResetQueryFilters<TPageData>,
|
|
279
336
|
options?: ResetOptions,
|
|
280
337
|
): Promise<void>
|
|
338
|
+
/**
|
|
339
|
+
* @deprecated This method should be used with only one object argument.
|
|
340
|
+
*/
|
|
281
341
|
resetQueries<TPageData = unknown>(
|
|
282
342
|
queryKey?: QueryKey,
|
|
283
|
-
filters?: ResetQueryFilters<TPageData>,
|
|
343
|
+
filters?: OmitKeyof<ResetQueryFilters<TPageData>, 'queryKey'>,
|
|
284
344
|
options?: ResetOptions,
|
|
285
345
|
): Promise<void>
|
|
346
|
+
/**
|
|
347
|
+
* @deprecated This method should be used with only one object argument.
|
|
348
|
+
*/
|
|
286
349
|
resetQueries(
|
|
287
350
|
arg1?: QueryKey | ResetQueryFilters,
|
|
288
|
-
arg2?: ResetQueryFilters | ResetOptions,
|
|
351
|
+
arg2?: OmitKeyof<ResetQueryFilters, 'queryKey'> | ResetOptions,
|
|
289
352
|
arg3?: ResetOptions,
|
|
290
353
|
): Promise<void> {
|
|
291
354
|
const [filters, options] = parseFilterArgs(arg1, arg2, arg3)
|
|
@@ -305,14 +368,20 @@ export class QueryClient {
|
|
|
305
368
|
}
|
|
306
369
|
|
|
307
370
|
cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>
|
|
371
|
+
/**
|
|
372
|
+
* @deprecated This method should be used with only one object argument.
|
|
373
|
+
*/
|
|
308
374
|
cancelQueries(
|
|
309
375
|
queryKey?: QueryKey,
|
|
310
|
-
filters?: QueryFilters,
|
|
376
|
+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
|
|
311
377
|
options?: CancelOptions,
|
|
312
378
|
): Promise<void>
|
|
379
|
+
/**
|
|
380
|
+
* @deprecated This method should be used with only one object argument.
|
|
381
|
+
*/
|
|
313
382
|
cancelQueries(
|
|
314
383
|
arg1?: QueryKey | QueryFilters,
|
|
315
|
-
arg2?: QueryFilters | CancelOptions,
|
|
384
|
+
arg2?: OmitKeyof<QueryFilters, 'queryKey'> | CancelOptions,
|
|
316
385
|
arg3?: CancelOptions,
|
|
317
386
|
): Promise<void> {
|
|
318
387
|
const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)
|
|
@@ -334,14 +403,20 @@ export class QueryClient {
|
|
|
334
403
|
filters?: InvalidateQueryFilters<TPageData>,
|
|
335
404
|
options?: InvalidateOptions,
|
|
336
405
|
): Promise<void>
|
|
406
|
+
/**
|
|
407
|
+
* @deprecated This method should be used with only one object argument.
|
|
408
|
+
*/
|
|
337
409
|
invalidateQueries<TPageData = unknown>(
|
|
338
410
|
queryKey?: QueryKey,
|
|
339
|
-
filters?: InvalidateQueryFilters<TPageData>,
|
|
411
|
+
filters?: OmitKeyof<InvalidateQueryFilters<TPageData>, 'queryKey'>,
|
|
340
412
|
options?: InvalidateOptions,
|
|
341
413
|
): Promise<void>
|
|
414
|
+
/**
|
|
415
|
+
* @deprecated This method should be used with only one object argument.
|
|
416
|
+
*/
|
|
342
417
|
invalidateQueries(
|
|
343
418
|
arg1?: QueryKey | InvalidateQueryFilters,
|
|
344
|
-
arg2?: InvalidateQueryFilters | InvalidateOptions,
|
|
419
|
+
arg2?: OmitKeyof<InvalidateQueryFilters, 'queryKey'> | InvalidateOptions,
|
|
345
420
|
arg3?: InvalidateOptions,
|
|
346
421
|
): Promise<void> {
|
|
347
422
|
const [filters, options] = parseFilterArgs(arg1, arg2, arg3)
|
|
@@ -366,14 +441,20 @@ export class QueryClient {
|
|
|
366
441
|
filters?: RefetchQueryFilters<TPageData>,
|
|
367
442
|
options?: RefetchOptions,
|
|
368
443
|
): Promise<void>
|
|
444
|
+
/**
|
|
445
|
+
* @deprecated This method should be used with only one object argument.
|
|
446
|
+
*/
|
|
369
447
|
refetchQueries<TPageData = unknown>(
|
|
370
448
|
queryKey?: QueryKey,
|
|
371
|
-
filters?: RefetchQueryFilters<TPageData>,
|
|
449
|
+
filters?: OmitKeyof<RefetchQueryFilters<TPageData>, 'queryKey'>,
|
|
372
450
|
options?: RefetchOptions,
|
|
373
451
|
): Promise<void>
|
|
452
|
+
/**
|
|
453
|
+
* @deprecated This method should be used with only one object argument.
|
|
454
|
+
*/
|
|
374
455
|
refetchQueries(
|
|
375
456
|
arg1?: QueryKey | RefetchQueryFilters,
|
|
376
|
-
arg2?: RefetchQueryFilters | RefetchOptions,
|
|
457
|
+
arg2?: OmitKeyof<RefetchQueryFilters, 'queryKey'> | RefetchOptions,
|
|
377
458
|
arg3?: RefetchOptions,
|
|
378
459
|
): Promise<void> {
|
|
379
460
|
const [filters, options] = parseFilterArgs(arg1, arg2, arg3)
|
|
@@ -408,6 +489,9 @@ export class QueryClient {
|
|
|
408
489
|
>(
|
|
409
490
|
options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
410
491
|
): Promise<TData>
|
|
492
|
+
/**
|
|
493
|
+
* @deprecated This method should be used with only one object argument.
|
|
494
|
+
*/
|
|
411
495
|
fetchQuery<
|
|
412
496
|
TQueryFnData = unknown,
|
|
413
497
|
TError = unknown,
|
|
@@ -415,8 +499,14 @@ export class QueryClient {
|
|
|
415
499
|
TQueryKey extends QueryKey = QueryKey,
|
|
416
500
|
>(
|
|
417
501
|
queryKey: TQueryKey,
|
|
418
|
-
options?:
|
|
502
|
+
options?: OmitKeyof<
|
|
503
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
504
|
+
'queryKey'
|
|
505
|
+
>,
|
|
419
506
|
): Promise<TData>
|
|
507
|
+
/**
|
|
508
|
+
* @deprecated This method should be used with only one object argument.
|
|
509
|
+
*/
|
|
420
510
|
fetchQuery<
|
|
421
511
|
TQueryFnData = unknown,
|
|
422
512
|
TError = unknown,
|
|
@@ -425,8 +515,14 @@ export class QueryClient {
|
|
|
425
515
|
>(
|
|
426
516
|
queryKey: TQueryKey,
|
|
427
517
|
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
|
|
428
|
-
options?:
|
|
518
|
+
options?: OmitKeyof<
|
|
519
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
520
|
+
'queryKey' | 'queryFn'
|
|
521
|
+
>,
|
|
429
522
|
): Promise<TData>
|
|
523
|
+
/**
|
|
524
|
+
* @deprecated This method should be used with only one object argument.
|
|
525
|
+
*/
|
|
430
526
|
fetchQuery<
|
|
431
527
|
TQueryFnData,
|
|
432
528
|
TError,
|
|
@@ -436,8 +532,14 @@ export class QueryClient {
|
|
|
436
532
|
arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
437
533
|
arg2?:
|
|
438
534
|
| QueryFunction<TQueryFnData, TQueryKey>
|
|
439
|
-
|
|
|
440
|
-
|
|
535
|
+
| OmitKeyof<
|
|
536
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
537
|
+
'queryKey'
|
|
538
|
+
>,
|
|
539
|
+
arg3?: OmitKeyof<
|
|
540
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
541
|
+
'queryKey' | 'queryFn'
|
|
542
|
+
>,
|
|
441
543
|
): Promise<TData> {
|
|
442
544
|
const parsedOptions = parseQueryArgs(arg1, arg2, arg3)
|
|
443
545
|
const defaultedOptions = this.defaultQueryOptions(parsedOptions)
|
|
@@ -462,6 +564,9 @@ export class QueryClient {
|
|
|
462
564
|
>(
|
|
463
565
|
options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
464
566
|
): Promise<void>
|
|
567
|
+
/**
|
|
568
|
+
* @deprecated This method should be used with only one object argument.
|
|
569
|
+
*/
|
|
465
570
|
prefetchQuery<
|
|
466
571
|
TQueryFnData = unknown,
|
|
467
572
|
TError = unknown,
|
|
@@ -469,8 +574,14 @@ export class QueryClient {
|
|
|
469
574
|
TQueryKey extends QueryKey = QueryKey,
|
|
470
575
|
>(
|
|
471
576
|
queryKey: TQueryKey,
|
|
472
|
-
options?:
|
|
577
|
+
options?: OmitKeyof<
|
|
578
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
579
|
+
'queryKey'
|
|
580
|
+
>,
|
|
473
581
|
): Promise<void>
|
|
582
|
+
/**
|
|
583
|
+
* @deprecated This method should be used with only one object argument.
|
|
584
|
+
*/
|
|
474
585
|
prefetchQuery<
|
|
475
586
|
TQueryFnData = unknown,
|
|
476
587
|
TError = unknown,
|
|
@@ -479,8 +590,14 @@ export class QueryClient {
|
|
|
479
590
|
>(
|
|
480
591
|
queryKey: TQueryKey,
|
|
481
592
|
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
|
|
482
|
-
options?:
|
|
593
|
+
options?: OmitKeyof<
|
|
594
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
595
|
+
'queryKey' | 'queryFn'
|
|
596
|
+
>,
|
|
483
597
|
): Promise<void>
|
|
598
|
+
/**
|
|
599
|
+
* @deprecated This method should be used with only one object argument.
|
|
600
|
+
*/
|
|
484
601
|
prefetchQuery<
|
|
485
602
|
TQueryFnData = unknown,
|
|
486
603
|
TError = unknown,
|
|
@@ -490,8 +607,14 @@ export class QueryClient {
|
|
|
490
607
|
arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
491
608
|
arg2?:
|
|
492
609
|
| QueryFunction<TQueryFnData, TQueryKey>
|
|
493
|
-
|
|
|
494
|
-
|
|
610
|
+
| OmitKeyof<
|
|
611
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
612
|
+
'queryKey'
|
|
613
|
+
>,
|
|
614
|
+
arg3?: OmitKeyof<
|
|
615
|
+
FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
616
|
+
'queryKey' | 'queryFn'
|
|
617
|
+
>,
|
|
495
618
|
): Promise<void> {
|
|
496
619
|
return this.fetchQuery(arg1 as any, arg2 as any, arg3)
|
|
497
620
|
.then(noop)
|
|
@@ -506,6 +629,9 @@ export class QueryClient {
|
|
|
506
629
|
>(
|
|
507
630
|
options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
508
631
|
): Promise<InfiniteData<TData>>
|
|
632
|
+
/**
|
|
633
|
+
* @deprecated This method should be used with only one object argument.
|
|
634
|
+
*/
|
|
509
635
|
fetchInfiniteQuery<
|
|
510
636
|
TQueryFnData = unknown,
|
|
511
637
|
TError = unknown,
|
|
@@ -513,8 +639,14 @@ export class QueryClient {
|
|
|
513
639
|
TQueryKey extends QueryKey = QueryKey,
|
|
514
640
|
>(
|
|
515
641
|
queryKey: TQueryKey,
|
|
516
|
-
options?:
|
|
642
|
+
options?: OmitKeyof<
|
|
643
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
644
|
+
'queryKey'
|
|
645
|
+
>,
|
|
517
646
|
): Promise<InfiniteData<TData>>
|
|
647
|
+
/**
|
|
648
|
+
* @deprecated This method should be used with only one object argument.
|
|
649
|
+
*/
|
|
518
650
|
fetchInfiniteQuery<
|
|
519
651
|
TQueryFnData = unknown,
|
|
520
652
|
TError = unknown,
|
|
@@ -523,8 +655,14 @@ export class QueryClient {
|
|
|
523
655
|
>(
|
|
524
656
|
queryKey: TQueryKey,
|
|
525
657
|
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
|
|
526
|
-
options?:
|
|
658
|
+
options?: OmitKeyof<
|
|
659
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
660
|
+
'queryKey' | 'queryFn'
|
|
661
|
+
>,
|
|
527
662
|
): Promise<InfiniteData<TData>>
|
|
663
|
+
/**
|
|
664
|
+
* @deprecated This method should be used with only one object argument.
|
|
665
|
+
*/
|
|
528
666
|
fetchInfiniteQuery<
|
|
529
667
|
TQueryFnData,
|
|
530
668
|
TError,
|
|
@@ -536,8 +674,14 @@ export class QueryClient {
|
|
|
536
674
|
| FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
537
675
|
arg2?:
|
|
538
676
|
| QueryFunction<TQueryFnData, TQueryKey>
|
|
539
|
-
|
|
|
540
|
-
|
|
677
|
+
| OmitKeyof<
|
|
678
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
679
|
+
'queryKey'
|
|
680
|
+
>,
|
|
681
|
+
arg3?: OmitKeyof<
|
|
682
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
683
|
+
'queryKey' | 'queryFn'
|
|
684
|
+
>,
|
|
541
685
|
): Promise<InfiniteData<TData>> {
|
|
542
686
|
const parsedOptions = parseQueryArgs(arg1, arg2, arg3)
|
|
543
687
|
parsedOptions.behavior = infiniteQueryBehavior<
|
|
@@ -556,6 +700,9 @@ export class QueryClient {
|
|
|
556
700
|
>(
|
|
557
701
|
options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
558
702
|
): Promise<void>
|
|
703
|
+
/**
|
|
704
|
+
* @deprecated This method should be used with only one object argument.
|
|
705
|
+
*/
|
|
559
706
|
prefetchInfiniteQuery<
|
|
560
707
|
TQueryFnData = unknown,
|
|
561
708
|
TError = unknown,
|
|
@@ -563,8 +710,14 @@ export class QueryClient {
|
|
|
563
710
|
TQueryKey extends QueryKey = QueryKey,
|
|
564
711
|
>(
|
|
565
712
|
queryKey: TQueryKey,
|
|
566
|
-
options?:
|
|
713
|
+
options?: OmitKeyof<
|
|
714
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
715
|
+
'queryKey'
|
|
716
|
+
>,
|
|
567
717
|
): Promise<void>
|
|
718
|
+
/**
|
|
719
|
+
* @deprecated This method should be used with only one object argument.
|
|
720
|
+
*/
|
|
568
721
|
prefetchInfiniteQuery<
|
|
569
722
|
TQueryFnData = unknown,
|
|
570
723
|
TError = unknown,
|
|
@@ -573,8 +726,14 @@ export class QueryClient {
|
|
|
573
726
|
>(
|
|
574
727
|
queryKey: TQueryKey,
|
|
575
728
|
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
|
|
576
|
-
options?:
|
|
729
|
+
options?: OmitKeyof<
|
|
730
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
731
|
+
'queryKey' | 'queryFn'
|
|
732
|
+
>,
|
|
577
733
|
): Promise<void>
|
|
734
|
+
/**
|
|
735
|
+
* @deprecated This method should be used with only one object argument.
|
|
736
|
+
*/
|
|
578
737
|
prefetchInfiniteQuery<
|
|
579
738
|
TQueryFnData,
|
|
580
739
|
TError,
|
|
@@ -586,8 +745,14 @@ export class QueryClient {
|
|
|
586
745
|
| FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
587
746
|
arg2?:
|
|
588
747
|
| QueryFunction<TQueryFnData, TQueryKey>
|
|
589
|
-
|
|
|
590
|
-
|
|
748
|
+
| OmitKeyof<
|
|
749
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
750
|
+
'queryKey'
|
|
751
|
+
>,
|
|
752
|
+
arg3?: OmitKeyof<
|
|
753
|
+
FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
754
|
+
'queryKey' | 'queryFn'
|
|
755
|
+
>,
|
|
591
756
|
): Promise<void> {
|
|
592
757
|
return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)
|
|
593
758
|
.then(noop)
|
|
@@ -76,6 +76,7 @@ describe('mutations', () => {
|
|
|
76
76
|
isError: false,
|
|
77
77
|
isIdle: true,
|
|
78
78
|
isLoading: false,
|
|
79
|
+
isPending: false,
|
|
79
80
|
isPaused: false,
|
|
80
81
|
isSuccess: false,
|
|
81
82
|
mutate: expect.any(Function),
|
|
@@ -103,6 +104,7 @@ describe('mutations', () => {
|
|
|
103
104
|
isError: false,
|
|
104
105
|
isIdle: false,
|
|
105
106
|
isLoading: true,
|
|
107
|
+
isPending: true,
|
|
106
108
|
isPaused: false,
|
|
107
109
|
isSuccess: false,
|
|
108
110
|
mutate: expect.any(Function),
|
|
@@ -122,6 +124,7 @@ describe('mutations', () => {
|
|
|
122
124
|
isError: false,
|
|
123
125
|
isIdle: false,
|
|
124
126
|
isLoading: true,
|
|
127
|
+
isPending: true,
|
|
125
128
|
isPaused: false,
|
|
126
129
|
isSuccess: false,
|
|
127
130
|
mutate: expect.any(Function),
|
|
@@ -141,6 +144,7 @@ describe('mutations', () => {
|
|
|
141
144
|
isError: false,
|
|
142
145
|
isIdle: false,
|
|
143
146
|
isLoading: false,
|
|
147
|
+
isPending: false,
|
|
144
148
|
isPaused: false,
|
|
145
149
|
isSuccess: true,
|
|
146
150
|
mutate: expect.any(Function),
|
|
@@ -181,6 +185,7 @@ describe('mutations', () => {
|
|
|
181
185
|
isError: false,
|
|
182
186
|
isIdle: false,
|
|
183
187
|
isLoading: true,
|
|
188
|
+
isPending: true,
|
|
184
189
|
isPaused: false,
|
|
185
190
|
isSuccess: false,
|
|
186
191
|
mutate: expect.any(Function),
|
|
@@ -200,6 +205,7 @@ describe('mutations', () => {
|
|
|
200
205
|
isError: false,
|
|
201
206
|
isIdle: false,
|
|
202
207
|
isLoading: true,
|
|
208
|
+
isPending: true,
|
|
203
209
|
isPaused: false,
|
|
204
210
|
isSuccess: false,
|
|
205
211
|
mutate: expect.any(Function),
|
|
@@ -219,6 +225,7 @@ describe('mutations', () => {
|
|
|
219
225
|
isError: false,
|
|
220
226
|
isIdle: false,
|
|
221
227
|
isLoading: true,
|
|
228
|
+
isPending: true,
|
|
222
229
|
isPaused: false,
|
|
223
230
|
isSuccess: false,
|
|
224
231
|
mutate: expect.any(Function),
|
|
@@ -238,6 +245,7 @@ describe('mutations', () => {
|
|
|
238
245
|
isError: true,
|
|
239
246
|
isIdle: false,
|
|
240
247
|
isLoading: false,
|
|
248
|
+
isPending: false,
|
|
241
249
|
isPaused: false,
|
|
242
250
|
isSuccess: false,
|
|
243
251
|
mutate: expect.any(Function),
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { doNotExecute, queryKey } from './utils'
|
|
2
|
+
import type { QueryClient } from '..'
|
|
3
|
+
|
|
4
|
+
describe('queryClient', () => {
|
|
5
|
+
let queryClient: QueryClient
|
|
6
|
+
|
|
7
|
+
it('should be used with queryCache', () => {
|
|
8
|
+
doNotExecute(() => {
|
|
9
|
+
queryClient.getQueryData(queryKey())
|
|
10
|
+
queryClient.getQueryData(queryKey(), {})
|
|
11
|
+
})
|
|
12
|
+
})
|
|
13
|
+
})
|
package/src/tests/utils.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { QueryClient } from '@tanstack/query-core'
|
|
|
4
4
|
import * as utils from '../utils'
|
|
5
5
|
import type { MutationOptions, QueryClientConfig } from '@tanstack/query-core'
|
|
6
6
|
|
|
7
|
+
export const doNotExecute = (_func: () => void) => true
|
|
8
|
+
|
|
7
9
|
export function createQueryClient(config?: QueryClientConfig): QueryClient {
|
|
8
10
|
jest.spyOn(console, 'error').mockImplementation(() => undefined)
|
|
9
11
|
return new QueryClient({ logger: mockLogger, ...config })
|
package/src/types.ts
CHANGED
|
@@ -8,6 +8,20 @@ import type { QueryCache } from './queryCache'
|
|
|
8
8
|
import type { MutationCache } from './mutationCache'
|
|
9
9
|
import type { Logger } from './logger'
|
|
10
10
|
|
|
11
|
+
export type NonUndefinedGuard<T> = T extends undefined ? never : T
|
|
12
|
+
|
|
13
|
+
export type OmitKeyof<
|
|
14
|
+
TObject,
|
|
15
|
+
TKey extends TStrictly extends 'safely'
|
|
16
|
+
?
|
|
17
|
+
| keyof TObject
|
|
18
|
+
| (string & Record<never, never>)
|
|
19
|
+
| (number & Record<never, never>)
|
|
20
|
+
| (symbol & Record<never, never>)
|
|
21
|
+
: keyof TObject,
|
|
22
|
+
TStrictly extends 'strictly' | 'safely' = 'strictly',
|
|
23
|
+
> = Omit<TObject, TKey>
|
|
24
|
+
|
|
11
25
|
export type QueryKey = readonly unknown[]
|
|
12
26
|
|
|
13
27
|
export type QueryFunction<
|
|
@@ -256,6 +270,8 @@ export interface QueryObserverOptions<
|
|
|
256
270
|
/**
|
|
257
271
|
* Set this to `true` to keep the previous `data` when fetching based on a new query key.
|
|
258
272
|
* Defaults to `false`.
|
|
273
|
+
*
|
|
274
|
+
* @deprecated keepPreviousData will be removed in the next major version.
|
|
259
275
|
*/
|
|
260
276
|
keepPreviousData?: boolean
|
|
261
277
|
/**
|
|
@@ -406,6 +422,9 @@ export interface QueryObserverBaseResult<TData = unknown, TError = unknown> {
|
|
|
406
422
|
refetch: <TPageData>(
|
|
407
423
|
options?: RefetchOptions & RefetchQueryFilters<TPageData>,
|
|
408
424
|
) => Promise<QueryObserverResult<TData, TError>>
|
|
425
|
+
/**
|
|
426
|
+
* @deprecated This method will be removed in the next major version. Use `QueryClient.removeQueries` instead.
|
|
427
|
+
*/
|
|
409
428
|
remove: () => void
|
|
410
429
|
status: QueryStatus
|
|
411
430
|
fetchStatus: FetchStatus
|
|
@@ -646,6 +665,7 @@ export interface MutationObserverBaseResult<
|
|
|
646
665
|
isError: boolean
|
|
647
666
|
isIdle: boolean
|
|
648
667
|
isLoading: boolean
|
|
668
|
+
isPending: boolean
|
|
649
669
|
isSuccess: boolean
|
|
650
670
|
mutate: MutateFunction<TData, TError, TVariables, TContext>
|
|
651
671
|
reset: () => void
|