@tanstack/query-core 5.0.0-alpha.1 → 5.0.0-alpha.18

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/_virtual/_rollupPluginBabelHelpers.esm.js +13 -0
  2. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +1 -0
  3. package/build/lib/_virtual/_rollupPluginBabelHelpers.js +16 -0
  4. package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  5. package/build/lib/focusManager.esm.js +31 -15
  6. package/build/lib/focusManager.esm.js.map +1 -1
  7. package/build/lib/focusManager.js +31 -15
  8. package/build/lib/focusManager.js.map +1 -1
  9. package/build/lib/hydration.d.ts +2 -6
  10. package/build/lib/hydration.esm.js +9 -20
  11. package/build/lib/hydration.esm.js.map +1 -1
  12. package/build/lib/hydration.js +9 -20
  13. package/build/lib/hydration.js.map +1 -1
  14. package/build/lib/hydration.mjs +4 -18
  15. package/build/lib/hydration.mjs.map +1 -1
  16. package/build/lib/index.d.ts +4 -4
  17. package/build/lib/index.esm.js +1 -1
  18. package/build/lib/index.js +1 -0
  19. package/build/lib/index.js.map +1 -1
  20. package/build/lib/index.mjs +1 -1
  21. package/build/lib/infiniteQueryBehavior.d.ts +2 -2
  22. package/build/lib/infiniteQueryBehavior.esm.js +52 -48
  23. package/build/lib/infiniteQueryBehavior.esm.js.map +1 -1
  24. package/build/lib/infiniteQueryBehavior.js +52 -48
  25. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  26. package/build/lib/infiniteQueryBehavior.mjs +48 -45
  27. package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
  28. package/build/lib/infiniteQueryObserver.d.ts +7 -7
  29. package/build/lib/infiniteQueryObserver.esm.js +7 -8
  30. package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
  31. package/build/lib/infiniteQueryObserver.js +7 -8
  32. package/build/lib/infiniteQueryObserver.js.map +1 -1
  33. package/build/lib/infiniteQueryObserver.mjs +4 -6
  34. package/build/lib/infiniteQueryObserver.mjs.map +1 -1
  35. package/build/lib/mutation.d.ts +5 -4
  36. package/build/lib/mutation.esm.js +138 -99
  37. package/build/lib/mutation.esm.js.map +1 -1
  38. package/build/lib/mutation.js +138 -99
  39. package/build/lib/mutation.js.map +1 -1
  40. package/build/lib/mutation.mjs +16 -2
  41. package/build/lib/mutation.mjs.map +1 -1
  42. package/build/lib/mutationCache.d.ts +5 -4
  43. package/build/lib/mutationCache.esm.js +34 -20
  44. package/build/lib/mutationCache.esm.js.map +1 -1
  45. package/build/lib/mutationCache.js +34 -20
  46. package/build/lib/mutationCache.js.map +1 -1
  47. package/build/lib/mutationCache.mjs +5 -4
  48. package/build/lib/mutationCache.mjs.map +1 -1
  49. package/build/lib/mutationObserver.d.ts +2 -2
  50. package/build/lib/mutationObserver.esm.js +81 -50
  51. package/build/lib/mutationObserver.esm.js.map +1 -1
  52. package/build/lib/mutationObserver.js +81 -50
  53. package/build/lib/mutationObserver.js.map +1 -1
  54. package/build/lib/mutationObserver.mjs +1 -0
  55. package/build/lib/mutationObserver.mjs.map +1 -1
  56. package/build/lib/onlineManager.esm.js +29 -14
  57. package/build/lib/onlineManager.esm.js.map +1 -1
  58. package/build/lib/onlineManager.js +29 -14
  59. package/build/lib/onlineManager.js.map +1 -1
  60. package/build/lib/queriesObserver.esm.js +94 -69
  61. package/build/lib/queriesObserver.esm.js.map +1 -1
  62. package/build/lib/queriesObserver.js +94 -69
  63. package/build/lib/queriesObserver.js.map +1 -1
  64. package/build/lib/queriesObserver.mjs +1 -5
  65. package/build/lib/queriesObserver.mjs.map +1 -1
  66. package/build/lib/query.d.ts +8 -7
  67. package/build/lib/query.esm.js +210 -159
  68. package/build/lib/query.esm.js.map +1 -1
  69. package/build/lib/query.js +210 -159
  70. package/build/lib/query.js.map +1 -1
  71. package/build/lib/query.mjs +2 -0
  72. package/build/lib/query.mjs.map +1 -1
  73. package/build/lib/queryCache.d.ts +5 -4
  74. package/build/lib/queryCache.esm.js +21 -13
  75. package/build/lib/queryCache.esm.js.map +1 -1
  76. package/build/lib/queryCache.js +21 -13
  77. package/build/lib/queryCache.js.map +1 -1
  78. package/build/lib/queryCache.mjs +5 -4
  79. package/build/lib/queryCache.mjs.map +1 -1
  80. package/build/lib/queryClient.d.ts +7 -7
  81. package/build/lib/queryClient.esm.js +107 -66
  82. package/build/lib/queryClient.esm.js.map +1 -1
  83. package/build/lib/queryClient.js +107 -66
  84. package/build/lib/queryClient.js.map +1 -1
  85. package/build/lib/queryClient.mjs +5 -4
  86. package/build/lib/queryClient.mjs.map +1 -1
  87. package/build/lib/queryObserver.d.ts +2 -2
  88. package/build/lib/queryObserver.esm.js +308 -207
  89. package/build/lib/queryObserver.esm.js.map +1 -1
  90. package/build/lib/queryObserver.js +307 -206
  91. package/build/lib/queryObserver.js.map +1 -1
  92. package/build/lib/queryObserver.mjs.map +1 -1
  93. package/build/lib/removable.esm.js +13 -6
  94. package/build/lib/removable.esm.js.map +1 -1
  95. package/build/lib/removable.js +13 -6
  96. package/build/lib/removable.js.map +1 -1
  97. package/build/lib/retryer.d.ts +5 -5
  98. package/build/lib/retryer.esm.js +15 -14
  99. package/build/lib/retryer.esm.js.map +1 -1
  100. package/build/lib/retryer.js +15 -14
  101. package/build/lib/retryer.js.map +1 -1
  102. package/build/lib/retryer.mjs.map +1 -1
  103. package/build/lib/tests/utils.d.ts +4 -5
  104. package/build/lib/types.d.ts +42 -40
  105. package/build/lib/utils.esm.js +1 -1
  106. package/build/lib/utils.esm.js.map +1 -1
  107. package/build/lib/utils.js +1 -1
  108. package/build/lib/utils.js.map +1 -1
  109. package/build/umd/index.development.js +92 -88
  110. package/build/umd/index.development.js.map +1 -1
  111. package/build/umd/index.production.js +1 -1
  112. package/build/umd/index.production.js.map +1 -1
  113. package/package.json +2 -2
  114. package/src/hydration.ts +18 -37
  115. package/src/index.ts +9 -5
  116. package/src/infiniteQueryBehavior.ts +52 -60
  117. package/src/infiniteQueryObserver.ts +17 -12
  118. package/src/mutation.ts +34 -7
  119. package/src/mutationCache.ts +15 -8
  120. package/src/mutationObserver.ts +3 -2
  121. package/src/queriesObserver.ts +3 -7
  122. package/src/query.ts +24 -9
  123. package/src/queryCache.ts +16 -10
  124. package/src/queryClient.ts +9 -11
  125. package/src/queryObserver.ts +2 -2
  126. package/src/retryer.ts +5 -5
  127. package/src/tests/focusManager.test.tsx +12 -14
  128. package/src/tests/hydration.test.tsx +22 -17
  129. package/src/tests/infiniteQueryBehavior.test.tsx +16 -9
  130. package/src/tests/infiniteQueryObserver.test.tsx +62 -1
  131. package/src/tests/mutationCache.test.tsx +61 -16
  132. package/src/tests/mutationObserver.test.tsx +3 -2
  133. package/src/tests/mutations.test.tsx +41 -9
  134. package/src/tests/notifyManager.test.tsx +7 -6
  135. package/src/tests/onlineManager.test.tsx +12 -17
  136. package/src/tests/queriesObserver.test.tsx +18 -17
  137. package/src/tests/query.test.tsx +18 -17
  138. package/src/tests/queryCache.test.tsx +28 -15
  139. package/src/tests/queryClient.test.tsx +49 -48
  140. package/src/tests/queryObserver.test.tsx +10 -9
  141. package/src/tests/utils.test.tsx +2 -1
  142. package/src/tests/utils.ts +5 -4
  143. package/src/types.ts +53 -37
package/src/types.ts CHANGED
@@ -6,12 +6,15 @@ import type { RetryValue, RetryDelayValue } from './retryer'
6
6
  import type { QueryFilters, QueryTypeFilter } from './utils'
7
7
  import type { QueryCache } from './queryCache'
8
8
  import type { MutationCache } from './mutationCache'
9
+ import type { FetchDirection } from './query'
9
10
 
10
11
  export interface Register {
11
12
  // defaultError: Error
13
+ // queryMeta: Record<string, unknown>
14
+ // mutationMeta: Record<string, unknown>
12
15
  }
13
16
 
14
- export type RegisteredError = Register extends {
17
+ export type DefaultError = Register extends {
15
18
  defaultError: infer TError
16
19
  }
17
20
  ? TError
@@ -38,6 +41,7 @@ export type QueryFunctionContext<
38
41
  queryKey: TQueryKey
39
42
  signal: AbortSignal
40
43
  pageParam: TPageParam
44
+ direction: FetchDirection
41
45
  meta: QueryMeta | undefined
42
46
  }
43
47
 
@@ -60,11 +64,15 @@ export type QueryKeyHashFunction<TQueryKey extends QueryKey> = (
60
64
  export type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (
61
65
  firstPage: TQueryFnData,
62
66
  allPages: TQueryFnData[],
67
+ firstPageParam: TPageParam,
68
+ allPageParams: TPageParam[],
63
69
  ) => TPageParam | undefined
64
70
 
65
71
  export type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (
66
72
  lastPage: TQueryFnData,
67
73
  allPages: TQueryFnData[],
74
+ lastPageParam: TPageParam,
75
+ allPageParams: TPageParam[],
68
76
  ) => TPageParam | undefined
69
77
 
70
78
  export interface InfiniteData<TData> {
@@ -72,15 +80,19 @@ export interface InfiniteData<TData> {
72
80
  pageParams: unknown[]
73
81
  }
74
82
 
75
- export interface QueryMeta {
76
- [index: string]: unknown
83
+ export type QueryMeta = Register extends {
84
+ queryMeta: infer TQueryMeta
77
85
  }
86
+ ? TQueryMeta extends Record<string, unknown>
87
+ ? TQueryMeta
88
+ : Record<string, unknown>
89
+ : Record<string, unknown>
78
90
 
79
91
  export type NetworkMode = 'online' | 'always' | 'offlineFirst'
80
92
 
81
93
  export interface QueryOptions<
82
94
  TQueryFnData = unknown,
83
- TError = RegisteredError,
95
+ TError = DefaultError,
84
96
  TData = TQueryFnData,
85
97
  TQueryKey extends QueryKey = QueryKey,
86
98
  TPageParam = never,
@@ -156,7 +168,7 @@ export type ThrowErrors<
156
168
 
157
169
  export interface QueryObserverOptions<
158
170
  TQueryFnData = unknown,
159
- TError = RegisteredError,
171
+ TError = DefaultError,
160
172
  TData = TQueryFnData,
161
173
  TQueryData = TQueryFnData,
162
174
  TQueryKey extends QueryKey = QueryKey,
@@ -291,7 +303,7 @@ export type WithRequired<T, K extends keyof T> = Omit<T, K> &
291
303
  Required<Pick<T, K>>
292
304
  export type DefaultedQueryObserverOptions<
293
305
  TQueryFnData = unknown,
294
- TError = RegisteredError,
306
+ TError = DefaultError,
295
307
  TData = TQueryFnData,
296
308
  TQueryData = TQueryFnData,
297
309
  TQueryKey extends QueryKey = QueryKey,
@@ -302,7 +314,7 @@ export type DefaultedQueryObserverOptions<
302
314
 
303
315
  export interface InfiniteQueryObserverOptions<
304
316
  TQueryFnData = unknown,
305
- TError = RegisteredError,
317
+ TError = DefaultError,
306
318
  TData = TQueryFnData,
307
319
  TQueryData = TQueryFnData,
308
320
  TQueryKey extends QueryKey = QueryKey,
@@ -319,24 +331,26 @@ export interface InfiniteQueryObserverOptions<
319
331
 
320
332
  export type DefaultedInfiniteQueryObserverOptions<
321
333
  TQueryFnData = unknown,
322
- TError = RegisteredError,
334
+ TError = DefaultError,
323
335
  TData = TQueryFnData,
324
336
  TQueryData = TQueryFnData,
325
337
  TQueryKey extends QueryKey = QueryKey,
338
+ TPageParam = unknown,
326
339
  > = WithRequired<
327
340
  InfiniteQueryObserverOptions<
328
341
  TQueryFnData,
329
342
  TError,
330
343
  TData,
331
344
  TQueryData,
332
- TQueryKey
345
+ TQueryKey,
346
+ TPageParam
333
347
  >,
334
348
  'throwErrors' | 'refetchOnReconnect'
335
349
  >
336
350
 
337
351
  export interface FetchQueryOptions<
338
352
  TQueryFnData = unknown,
339
- TError = RegisteredError,
353
+ TError = DefaultError,
340
354
  TData = TQueryFnData,
341
355
  TQueryKey extends QueryKey = QueryKey,
342
356
  TPageParam = never,
@@ -353,7 +367,7 @@ export interface FetchQueryOptions<
353
367
 
354
368
  export interface FetchInfiniteQueryOptions<
355
369
  TQueryFnData = unknown,
356
- TError = RegisteredError,
370
+ TError = DefaultError,
357
371
  TData = TQueryFnData,
358
372
  TQueryKey extends QueryKey = QueryKey,
359
373
  TPageParam = unknown,
@@ -396,7 +410,7 @@ export type FetchStatus = 'fetching' | 'paused' | 'idle'
396
410
 
397
411
  export interface QueryObserverBaseResult<
398
412
  TData = unknown,
399
- TError = RegisteredError,
413
+ TError = DefaultError,
400
414
  > {
401
415
  data: TData | undefined
402
416
  dataUpdatedAt: number
@@ -432,7 +446,7 @@ export interface QueryObserverBaseResult<
432
446
 
433
447
  export interface QueryObserverLoadingResult<
434
448
  TData = unknown,
435
- TError = RegisteredError,
449
+ TError = DefaultError,
436
450
  > extends QueryObserverBaseResult<TData, TError> {
437
451
  data: undefined
438
452
  error: null
@@ -446,7 +460,7 @@ export interface QueryObserverLoadingResult<
446
460
 
447
461
  export interface QueryObserverLoadingErrorResult<
448
462
  TData = unknown,
449
- TError = RegisteredError,
463
+ TError = DefaultError,
450
464
  > extends QueryObserverBaseResult<TData, TError> {
451
465
  data: undefined
452
466
  error: TError
@@ -460,7 +474,7 @@ export interface QueryObserverLoadingErrorResult<
460
474
 
461
475
  export interface QueryObserverRefetchErrorResult<
462
476
  TData = unknown,
463
- TError = RegisteredError,
477
+ TError = DefaultError,
464
478
  > extends QueryObserverBaseResult<TData, TError> {
465
479
  data: TData
466
480
  error: TError
@@ -474,7 +488,7 @@ export interface QueryObserverRefetchErrorResult<
474
488
 
475
489
  export interface QueryObserverSuccessResult<
476
490
  TData = unknown,
477
- TError = RegisteredError,
491
+ TError = DefaultError,
478
492
  > extends QueryObserverBaseResult<TData, TError> {
479
493
  data: TData
480
494
  error: null
@@ -488,19 +502,19 @@ export interface QueryObserverSuccessResult<
488
502
 
489
503
  export type DefinedQueryObserverResult<
490
504
  TData = unknown,
491
- TError = RegisteredError,
505
+ TError = DefaultError,
492
506
  > =
493
507
  | QueryObserverRefetchErrorResult<TData, TError>
494
508
  | QueryObserverSuccessResult<TData, TError>
495
509
 
496
- export type QueryObserverResult<TData = unknown, TError = RegisteredError> =
510
+ export type QueryObserverResult<TData = unknown, TError = DefaultError> =
497
511
  | DefinedQueryObserverResult<TData, TError>
498
512
  | QueryObserverLoadingErrorResult<TData, TError>
499
513
  | QueryObserverLoadingResult<TData, TError>
500
514
 
501
515
  export interface InfiniteQueryObserverBaseResult<
502
516
  TData = unknown,
503
- TError = RegisteredError,
517
+ TError = DefaultError,
504
518
  > extends QueryObserverBaseResult<TData, TError> {
505
519
  fetchNextPage: (
506
520
  options?: FetchNextPageOptions,
@@ -516,7 +530,7 @@ export interface InfiniteQueryObserverBaseResult<
516
530
 
517
531
  export interface InfiniteQueryObserverLoadingResult<
518
532
  TData = unknown,
519
- TError = RegisteredError,
533
+ TError = DefaultError,
520
534
  > extends InfiniteQueryObserverBaseResult<TData, TError> {
521
535
  data: undefined
522
536
  error: null
@@ -530,7 +544,7 @@ export interface InfiniteQueryObserverLoadingResult<
530
544
 
531
545
  export interface InfiniteQueryObserverLoadingErrorResult<
532
546
  TData = unknown,
533
- TError = RegisteredError,
547
+ TError = DefaultError,
534
548
  > extends InfiniteQueryObserverBaseResult<TData, TError> {
535
549
  data: undefined
536
550
  error: TError
@@ -544,7 +558,7 @@ export interface InfiniteQueryObserverLoadingErrorResult<
544
558
 
545
559
  export interface InfiniteQueryObserverRefetchErrorResult<
546
560
  TData = unknown,
547
- TError = RegisteredError,
561
+ TError = DefaultError,
548
562
  > extends InfiniteQueryObserverBaseResult<TData, TError> {
549
563
  data: TData
550
564
  error: TError
@@ -558,7 +572,7 @@ export interface InfiniteQueryObserverRefetchErrorResult<
558
572
 
559
573
  export interface InfiniteQueryObserverSuccessResult<
560
574
  TData = unknown,
561
- TError = RegisteredError,
575
+ TError = DefaultError,
562
576
  > extends InfiniteQueryObserverBaseResult<TData, TError> {
563
577
  data: TData
564
578
  error: null
@@ -572,7 +586,7 @@ export interface InfiniteQueryObserverSuccessResult<
572
586
 
573
587
  export type InfiniteQueryObserverResult<
574
588
  TData = unknown,
575
- TError = RegisteredError,
589
+ TError = DefaultError,
576
590
  > =
577
591
  | InfiniteQueryObserverLoadingErrorResult<TData, TError>
578
592
  | InfiniteQueryObserverLoadingResult<TData, TError>
@@ -583,9 +597,11 @@ export type MutationKey = readonly unknown[]
583
597
 
584
598
  export type MutationStatus = 'idle' | 'pending' | 'success' | 'error'
585
599
 
586
- export interface MutationMeta {
587
- [index: string]: unknown
600
+ export type MutationMeta = Register extends {
601
+ mutationMeta: infer TMutationMeta
588
602
  }
603
+ ? TMutationMeta
604
+ : Record<string, unknown>
589
605
 
590
606
  export type MutationFunction<TData = unknown, TVariables = unknown> = (
591
607
  variables: TVariables,
@@ -593,7 +609,7 @@ export type MutationFunction<TData = unknown, TVariables = unknown> = (
593
609
 
594
610
  export interface MutationOptions<
595
611
  TData = unknown,
596
- TError = RegisteredError,
612
+ TError = DefaultError,
597
613
  TVariables = void,
598
614
  TContext = unknown,
599
615
  > {
@@ -628,7 +644,7 @@ export interface MutationOptions<
628
644
 
629
645
  export interface MutationObserverOptions<
630
646
  TData = unknown,
631
- TError = RegisteredError,
647
+ TError = DefaultError,
632
648
  TVariables = void,
633
649
  TContext = unknown,
634
650
  > extends MutationOptions<TData, TError, TVariables, TContext> {
@@ -637,7 +653,7 @@ export interface MutationObserverOptions<
637
653
 
638
654
  export interface MutateOptions<
639
655
  TData = unknown,
640
- TError = RegisteredError,
656
+ TError = DefaultError,
641
657
  TVariables = void,
642
658
  TContext = unknown,
643
659
  > {
@@ -657,7 +673,7 @@ export interface MutateOptions<
657
673
 
658
674
  export type MutateFunction<
659
675
  TData = unknown,
660
- TError = RegisteredError,
676
+ TError = DefaultError,
661
677
  TVariables = void,
662
678
  TContext = unknown,
663
679
  > = (
@@ -667,7 +683,7 @@ export type MutateFunction<
667
683
 
668
684
  export interface MutationObserverBaseResult<
669
685
  TData = unknown,
670
- TError = RegisteredError,
686
+ TError = DefaultError,
671
687
  TVariables = void,
672
688
  TContext = unknown,
673
689
  > extends MutationState<TData, TError, TVariables, TContext> {
@@ -681,7 +697,7 @@ export interface MutationObserverBaseResult<
681
697
 
682
698
  export interface MutationObserverIdleResult<
683
699
  TData = unknown,
684
- TError = RegisteredError,
700
+ TError = DefaultError,
685
701
  TVariables = void,
686
702
  TContext = unknown,
687
703
  > extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
@@ -697,7 +713,7 @@ export interface MutationObserverIdleResult<
697
713
 
698
714
  export interface MutationObserverLoadingResult<
699
715
  TData = unknown,
700
- TError = RegisteredError,
716
+ TError = DefaultError,
701
717
  TVariables = void,
702
718
  TContext = unknown,
703
719
  > extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
@@ -713,7 +729,7 @@ export interface MutationObserverLoadingResult<
713
729
 
714
730
  export interface MutationObserverErrorResult<
715
731
  TData = unknown,
716
- TError = RegisteredError,
732
+ TError = DefaultError,
717
733
  TVariables = void,
718
734
  TContext = unknown,
719
735
  > extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
@@ -729,7 +745,7 @@ export interface MutationObserverErrorResult<
729
745
 
730
746
  export interface MutationObserverSuccessResult<
731
747
  TData = unknown,
732
- TError = RegisteredError,
748
+ TError = DefaultError,
733
749
  TVariables = void,
734
750
  TContext = unknown,
735
751
  > extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
@@ -745,7 +761,7 @@ export interface MutationObserverSuccessResult<
745
761
 
746
762
  export type MutationObserverResult<
747
763
  TData = unknown,
748
- TError = RegisteredError,
764
+ TError = DefaultError,
749
765
  TVariables = void,
750
766
  TContext = unknown,
751
767
  > =
@@ -760,7 +776,7 @@ export interface QueryClientConfig {
760
776
  defaultOptions?: DefaultOptions
761
777
  }
762
778
 
763
- export interface DefaultOptions<TError = RegisteredError> {
779
+ export interface DefaultOptions<TError = DefaultError> {
764
780
  queries?: QueryObserverOptions<unknown, TError>
765
781
  mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>
766
782
  }