@tanstack/query-core 4.24.10 → 5.0.0-alpha.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 (183) hide show
  1. package/build/lib/focusManager.d.ts +1 -3
  2. package/build/lib/focusManager.esm.js +19 -36
  3. package/build/lib/focusManager.esm.js.map +1 -1
  4. package/build/lib/focusManager.js +19 -38
  5. package/build/lib/focusManager.js.map +1 -1
  6. package/build/lib/focusManager.mjs +19 -36
  7. package/build/lib/focusManager.mjs.map +1 -1
  8. package/build/lib/hydration.esm.js +21 -23
  9. package/build/lib/hydration.esm.js.map +1 -1
  10. package/build/lib/hydration.js +21 -25
  11. package/build/lib/hydration.js.map +1 -1
  12. package/build/lib/hydration.mjs +21 -23
  13. package/build/lib/hydration.mjs.map +1 -1
  14. package/build/lib/index.d.ts +1 -2
  15. package/build/lib/index.esm.js +1 -1
  16. package/build/lib/index.js +2 -8
  17. package/build/lib/index.js.map +1 -1
  18. package/build/lib/index.mjs +1 -1
  19. package/build/lib/infiniteQueryBehavior.d.ts +3 -7
  20. package/build/lib/infiniteQueryBehavior.esm.js +52 -75
  21. package/build/lib/infiniteQueryBehavior.esm.js.map +1 -1
  22. package/build/lib/infiniteQueryBehavior.js +50 -77
  23. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  24. package/build/lib/infiniteQueryBehavior.mjs +52 -75
  25. package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
  26. package/build/lib/infiniteQueryObserver.d.ts +4 -4
  27. package/build/lib/infiniteQueryObserver.esm.js +18 -26
  28. package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
  29. package/build/lib/infiniteQueryObserver.js +18 -28
  30. package/build/lib/infiniteQueryObserver.js.map +1 -1
  31. package/build/lib/infiniteQueryObserver.mjs +18 -26
  32. package/build/lib/infiniteQueryObserver.mjs.map +1 -1
  33. package/build/lib/mutation.d.ts +11 -22
  34. package/build/lib/mutation.esm.js +73 -105
  35. package/build/lib/mutation.esm.js.map +1 -1
  36. package/build/lib/mutation.js +73 -107
  37. package/build/lib/mutation.js.map +1 -1
  38. package/build/lib/mutation.mjs +73 -105
  39. package/build/lib/mutation.mjs.map +1 -1
  40. package/build/lib/mutationCache.d.ts +4 -6
  41. package/build/lib/mutationCache.esm.js +23 -32
  42. package/build/lib/mutationCache.esm.js.map +1 -1
  43. package/build/lib/mutationCache.js +23 -34
  44. package/build/lib/mutationCache.js.map +1 -1
  45. package/build/lib/mutationCache.mjs +23 -32
  46. package/build/lib/mutationCache.mjs.map +1 -1
  47. package/build/lib/mutationObserver.d.ts +4 -9
  48. package/build/lib/mutationObserver.esm.js +43 -72
  49. package/build/lib/mutationObserver.esm.js.map +1 -1
  50. package/build/lib/mutationObserver.js +43 -74
  51. package/build/lib/mutationObserver.js.map +1 -1
  52. package/build/lib/mutationObserver.mjs +43 -72
  53. package/build/lib/mutationObserver.mjs.map +1 -1
  54. package/build/lib/notifyManager.esm.js +7 -17
  55. package/build/lib/notifyManager.esm.js.map +1 -1
  56. package/build/lib/notifyManager.js +7 -19
  57. package/build/lib/notifyManager.js.map +1 -1
  58. package/build/lib/notifyManager.mjs +7 -17
  59. package/build/lib/notifyManager.mjs.map +1 -1
  60. package/build/lib/onlineManager.d.ts +1 -3
  61. package/build/lib/onlineManager.esm.js +16 -30
  62. package/build/lib/onlineManager.esm.js.map +1 -1
  63. package/build/lib/onlineManager.js +16 -32
  64. package/build/lib/onlineManager.js.map +1 -1
  65. package/build/lib/onlineManager.mjs +16 -30
  66. package/build/lib/onlineManager.mjs.map +1 -1
  67. package/build/lib/queriesObserver.d.ts +3 -10
  68. package/build/lib/queriesObserver.esm.js +47 -71
  69. package/build/lib/queriesObserver.esm.js.map +1 -1
  70. package/build/lib/queriesObserver.js +49 -75
  71. package/build/lib/queriesObserver.js.map +1 -1
  72. package/build/lib/queriesObserver.mjs +47 -71
  73. package/build/lib/queriesObserver.mjs.map +1 -1
  74. package/build/lib/query.d.ts +14 -21
  75. package/build/lib/query.esm.js +140 -194
  76. package/build/lib/query.esm.js.map +1 -1
  77. package/build/lib/query.js +139 -195
  78. package/build/lib/query.js.map +1 -1
  79. package/build/lib/query.mjs +140 -194
  80. package/build/lib/query.mjs.map +1 -1
  81. package/build/lib/queryCache.d.ts +12 -7
  82. package/build/lib/queryCache.esm.js +21 -45
  83. package/build/lib/queryCache.esm.js.map +1 -1
  84. package/build/lib/queryCache.js +20 -46
  85. package/build/lib/queryCache.js.map +1 -1
  86. package/build/lib/queryCache.mjs +21 -45
  87. package/build/lib/queryCache.mjs.map +1 -1
  88. package/build/lib/queryClient.d.ts +18 -46
  89. package/build/lib/queryClient.esm.js +137 -216
  90. package/build/lib/queryClient.esm.js.map +1 -1
  91. package/build/lib/queryClient.js +136 -217
  92. package/build/lib/queryClient.js.map +1 -1
  93. package/build/lib/queryClient.mjs +137 -216
  94. package/build/lib/queryClient.mjs.map +1 -1
  95. package/build/lib/queryObserver.d.ts +4 -29
  96. package/build/lib/queryObserver.esm.js +176 -258
  97. package/build/lib/queryObserver.esm.js.map +1 -1
  98. package/build/lib/queryObserver.js +176 -260
  99. package/build/lib/queryObserver.js.map +1 -1
  100. package/build/lib/queryObserver.mjs +176 -258
  101. package/build/lib/queryObserver.mjs.map +1 -1
  102. package/build/lib/removable.d.ts +3 -3
  103. package/build/lib/removable.esm.js +10 -14
  104. package/build/lib/removable.esm.js.map +1 -1
  105. package/build/lib/removable.js +10 -16
  106. package/build/lib/removable.js.map +1 -1
  107. package/build/lib/removable.mjs +10 -14
  108. package/build/lib/removable.mjs.map +1 -1
  109. package/build/lib/retryer.d.ts +5 -5
  110. package/build/lib/retryer.esm.js +27 -44
  111. package/build/lib/retryer.esm.js.map +1 -1
  112. package/build/lib/retryer.js +27 -46
  113. package/build/lib/retryer.js.map +1 -1
  114. package/build/lib/retryer.mjs +27 -44
  115. package/build/lib/retryer.mjs.map +1 -1
  116. package/build/lib/subscribable.esm.js +4 -7
  117. package/build/lib/subscribable.esm.js.map +1 -1
  118. package/build/lib/subscribable.js +4 -9
  119. package/build/lib/subscribable.js.map +1 -1
  120. package/build/lib/subscribable.mjs +4 -7
  121. package/build/lib/subscribable.mjs.map +1 -1
  122. package/build/lib/tests/utils.d.ts +3 -12
  123. package/build/lib/types.d.ts +111 -99
  124. package/build/lib/utils.d.ts +8 -18
  125. package/build/lib/utils.esm.js +39 -132
  126. package/build/lib/utils.esm.js.map +1 -1
  127. package/build/lib/utils.js +42 -144
  128. package/build/lib/utils.js.map +1 -1
  129. package/build/lib/utils.mjs +39 -132
  130. package/build/lib/utils.mjs.map +1 -1
  131. package/build/umd/index.development.js +868 -1398
  132. package/build/umd/index.development.js.map +1 -1
  133. package/build/umd/index.production.js +1 -1
  134. package/build/umd/index.production.js.map +1 -1
  135. package/package.json +1 -1
  136. package/src/focusManager.ts +17 -24
  137. package/src/index.ts +1 -11
  138. package/src/infiniteQueryBehavior.ts +54 -94
  139. package/src/infiniteQueryObserver.ts +10 -12
  140. package/src/mutation.ts +68 -92
  141. package/src/mutationCache.ts +27 -27
  142. package/src/mutationObserver.ts +60 -97
  143. package/src/onlineManager.ts +14 -14
  144. package/src/queriesObserver.ts +50 -54
  145. package/src/query.ts +106 -110
  146. package/src/queryCache.ts +42 -41
  147. package/src/queryClient.ts +155 -434
  148. package/src/queryObserver.ts +155 -192
  149. package/src/removable.ts +13 -13
  150. package/src/retryer.ts +5 -5
  151. package/src/tests/focusManager.test.tsx +25 -25
  152. package/src/tests/hydration.test.tsx +167 -81
  153. package/src/tests/infiniteQueryBehavior.test.tsx +209 -17
  154. package/src/tests/infiniteQueryObserver.test.tsx +6 -2
  155. package/src/tests/mutationCache.test.tsx +127 -127
  156. package/src/tests/mutationObserver.test.tsx +1 -31
  157. package/src/tests/mutations.test.tsx +62 -43
  158. package/src/tests/onlineManager.test.tsx +12 -4
  159. package/src/tests/queriesObserver.test.tsx +41 -77
  160. package/src/tests/query.test.tsx +175 -243
  161. package/src/tests/queryCache.test.tsx +170 -93
  162. package/src/tests/queryClient.test.tsx +229 -378
  163. package/src/tests/queryObserver.test.tsx +23 -147
  164. package/src/tests/utils.test.tsx +84 -29
  165. package/src/tests/utils.ts +9 -18
  166. package/src/types.ts +187 -140
  167. package/src/utils.ts +31 -124
  168. package/build/lib/logger.d.ts +0 -8
  169. package/build/lib/logger.esm.js +0 -4
  170. package/build/lib/logger.esm.js.map +0 -1
  171. package/build/lib/logger.js +0 -8
  172. package/build/lib/logger.js.map +0 -1
  173. package/build/lib/logger.mjs +0 -4
  174. package/build/lib/logger.mjs.map +0 -1
  175. package/build/lib/logger.native.d.ts +0 -6
  176. package/build/lib/logger.native.esm.js +0 -12
  177. package/build/lib/logger.native.esm.js.map +0 -1
  178. package/build/lib/logger.native.js +0 -16
  179. package/build/lib/logger.native.js.map +0 -1
  180. package/build/lib/logger.native.mjs +0 -12
  181. package/build/lib/logger.native.mjs.map +0 -1
  182. package/src/logger.native.ts +0 -11
  183. package/src/logger.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"subscribable.mjs","sources":["../../src/subscribable.ts"],"sourcesContent":["type Listener = () => void\n\nexport class Subscribable<TListener extends Function = Listener> {\n protected listeners: TListener[]\n\n constructor() {\n this.listeners = []\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.push(listener as TListener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners = this.listeners.filter((x) => x !== listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.length > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n"],"names":["Subscribable","constructor","listeners","subscribe","bind","listener","push","onSubscribe","filter","x","onUnsubscribe","hasListeners","length"],"mappings":"AAEO,MAAMA,YAAN,CAA0D;AAG/DC,EAAAA,WAAW,GAAG;IACZ,IAAKC,CAAAA,SAAL,GAAiB,EAAjB,CAAA;IACA,IAAKC,CAAAA,SAAL,GAAiB,IAAKA,CAAAA,SAAL,CAAeC,IAAf,CAAoB,IAApB,CAAjB,CAAA;AACD,GAAA;;EAEDD,SAAS,CAACE,QAAD,EAAkC;AACzC,IAAA,IAAA,CAAKH,SAAL,CAAeI,IAAf,CAAoBD,QAApB,CAAA,CAAA;AAEA,IAAA,IAAA,CAAKE,WAAL,EAAA,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAKL,SAAL,GAAiB,IAAKA,CAAAA,SAAL,CAAeM,MAAf,CAAuBC,CAAD,IAAOA,CAAC,KAAKJ,QAAnC,CAAjB,CAAA;AACA,MAAA,IAAA,CAAKK,aAAL,EAAA,CAAA;KAFF,CAAA;AAID,GAAA;;AAEDC,EAAAA,YAAY,GAAY;AACtB,IAAA,OAAO,IAAKT,CAAAA,SAAL,CAAeU,MAAf,GAAwB,CAA/B,CAAA;AACD,GAAA;;AAESL,EAAAA,WAAW,GAAS;AAE7B,GAAA;;AAESG,EAAAA,aAAa,GAAS;AAE/B,GAAA;;AA7B8D;;;;"}
1
+ {"version":3,"file":"subscribable.mjs","sources":["../../src/subscribable.ts"],"sourcesContent":["type Listener = () => void\n\nexport class Subscribable<TListener extends Function = Listener> {\n protected listeners: TListener[]\n\n constructor() {\n this.listeners = []\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.push(listener as TListener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners = this.listeners.filter((x) => x !== listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.length > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n"],"names":["Subscribable","constructor","listeners","subscribe","bind","listener","push","onSubscribe","filter","x","onUnsubscribe","hasListeners","length"],"mappings":"AAEO,MAAMA,YAAY,CAAwC;AAG/DC,EAAAA,WAAW,GAAG;IACZ,IAAI,CAACC,SAAS,GAAG,EAAE,CAAA;IACnB,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5C,GAAA;EAEAD,SAAS,CAACE,QAAmB,EAAc;AACzC,IAAA,IAAI,CAACH,SAAS,CAACI,IAAI,CAACD,QAAQ,CAAc,CAAA;IAE1C,IAAI,CAACE,WAAW,EAAE,CAAA;AAElB,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAACL,SAAS,GAAG,IAAI,CAACA,SAAS,CAACM,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,QAAQ,CAAC,CAAA;MAC7D,IAAI,CAACK,aAAa,EAAE,CAAA;KACrB,CAAA;AACH,GAAA;AAEAC,EAAAA,YAAY,GAAY;AACtB,IAAA,OAAO,IAAI,CAACT,SAAS,CAACU,MAAM,GAAG,CAAC,CAAA;AAClC,GAAA;AAEUL,EAAAA,WAAW,GAAS;AAC5B;AAAA,GAAA;AAGQG,EAAAA,aAAa,GAAS;AAC9B;AAAA,GAAA;AAEJ;;;;"}
@@ -3,13 +3,8 @@
3
3
  import type { MutationOptions, QueryClientConfig } from '@tanstack/query-core';
4
4
  import { QueryClient } from '@tanstack/query-core';
5
5
  export declare function createQueryClient(config?: QueryClientConfig): QueryClient;
6
- export declare function mockVisibilityState(value: DocumentVisibilityState): jest.SpyInstance<DocumentVisibilityState, []>;
7
- export declare function mockNavigatorOnLine(value: boolean): jest.SpyInstance<boolean, []>;
8
- export declare const mockLogger: {
9
- log: jest.Mock<any, any>;
10
- warn: jest.Mock<any, any>;
11
- error: jest.Mock<any, any>;
12
- };
6
+ export declare function mockVisibilityState(value: DocumentVisibilityState): jest.SpyInstance<DocumentVisibilityState, [], any>;
7
+ export declare function mockNavigatorOnLine(value: boolean): jest.SpyInstance<boolean, [], any>;
13
8
  export declare function queryKey(): Array<string>;
14
9
  export declare function sleep(timeout: number): Promise<void>;
15
10
  export declare function setActTimeout(fn: () => void, ms?: number): NodeJS.Timeout;
@@ -17,9 +12,5 @@ export declare function setActTimeout(fn: () => void, ms?: number): NodeJS.Timeo
17
12
  * Assert the parameter is of a specific type.
18
13
  */
19
14
  export declare const expectType: <T>(_: T) => void;
20
- /**
21
- * Assert the parameter is not typed as `any`
22
- */
23
- export declare const expectTypeNotAny: <T>(_: 0 extends 1 & T ? never : T) => void;
24
- export declare const executeMutation: (queryClient: QueryClient, options: MutationOptions<any, any, any, any>) => Promise<unknown>;
15
+ export declare const executeMutation: <TVariables>(queryClient: QueryClient, options: MutationOptions<any, any, TVariables, any>, variables: TVariables) => Promise<any>;
25
16
  export declare function setIsServer(isServer: boolean): () => void;
@@ -4,20 +4,30 @@ import type { RetryValue, RetryDelayValue } from './retryer';
4
4
  import type { QueryFilters, QueryTypeFilter } from './utils';
5
5
  import type { QueryCache } from './queryCache';
6
6
  import type { MutationCache } from './mutationCache';
7
- import type { Logger } from './logger';
7
+ export interface Register {
8
+ }
9
+ export declare type RegisteredError = Register extends {
10
+ defaultError: infer TError;
11
+ } ? TError : Error;
8
12
  export declare type QueryKey = readonly unknown[];
9
- export declare type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey> = (context: QueryFunctionContext<TQueryKey>) => T | Promise<T>;
10
- export interface QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = any> {
13
+ export declare type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>;
14
+ export declare type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
11
15
  queryKey: TQueryKey;
12
- signal?: AbortSignal;
13
- pageParam?: TPageParam;
16
+ signal: AbortSignal;
14
17
  meta: QueryMeta | undefined;
15
- }
18
+ } : {
19
+ queryKey: TQueryKey;
20
+ signal: AbortSignal;
21
+ pageParam: TPageParam;
22
+ meta: QueryMeta | undefined;
23
+ };
16
24
  export declare type InitialDataFunction<T> = () => T | undefined;
17
- export declare type PlaceholderDataFunction<TResult> = () => TResult | undefined;
25
+ declare type NonFunctionGuard<T> = T extends Function ? never : T;
26
+ export declare type PlaceholderDataFunction<TQueryData> = (previousData: TQueryData | undefined) => TQueryData | undefined;
27
+ export declare type QueriesPlaceholderDataFunction<TQueryData> = () => TQueryData | undefined;
18
28
  export declare type QueryKeyHashFunction<TQueryKey extends QueryKey> = (queryKey: TQueryKey) => string;
19
- export declare type GetPreviousPageParamFunction<TQueryFnData = unknown> = (firstPage: TQueryFnData, allPages: TQueryFnData[]) => unknown;
20
- export declare type GetNextPageParamFunction<TQueryFnData = unknown> = (lastPage: TQueryFnData, allPages: TQueryFnData[]) => unknown;
29
+ export declare type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (firstPage: TQueryFnData, allPages: TQueryFnData[]) => TPageParam | undefined;
30
+ export declare type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (lastPage: TQueryFnData, allPages: TQueryFnData[]) => TPageParam | undefined;
21
31
  export interface InfiniteData<TData> {
22
32
  pages: TData[];
23
33
  pageParams: unknown[];
@@ -26,7 +36,7 @@ export interface QueryMeta {
26
36
  [index: string]: unknown;
27
37
  }
28
38
  export declare type NetworkMode = 'online' | 'always' | 'offlineFirst';
29
- export interface QueryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
39
+ export interface QueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> {
30
40
  /**
31
41
  * If `false`, failed queries will not retry by default.
32
42
  * If `true`, failed queries will retry infinitely., failureCount: num
@@ -36,40 +46,48 @@ export interface QueryOptions<TQueryFnData = unknown, TError = unknown, TData =
36
46
  retry?: RetryValue<TError>;
37
47
  retryDelay?: RetryDelayValue<TError>;
38
48
  networkMode?: NetworkMode;
39
- cacheTime?: number;
40
- isDataEqual?: (oldData: TData | undefined, newData: TData) => boolean;
41
- queryFn?: QueryFunction<TQueryFnData, TQueryKey>;
49
+ gcTime?: number;
50
+ queryFn?: QueryFunction<TQueryFnData, TQueryKey, TPageParam>;
42
51
  queryHash?: string;
43
52
  queryKey?: TQueryKey;
44
53
  queryKeyHashFn?: QueryKeyHashFunction<TQueryKey>;
45
54
  initialData?: TData | InitialDataFunction<TData>;
46
55
  initialDataUpdatedAt?: number | (() => number | undefined);
47
- behavior?: QueryBehavior<TQueryFnData, TError, TData>;
56
+ behavior?: QueryBehavior<TQueryFnData, TError, TData, TQueryKey>;
48
57
  /**
49
58
  * Set this to `false` to disable structural sharing between query results.
50
59
  * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom structural sharing logic.
51
60
  * Defaults to `true`.
52
61
  */
53
62
  structuralSharing?: boolean | ((oldData: TData | undefined, newData: TData) => TData);
63
+ _defaulted?: boolean;
64
+ /**
65
+ * Additional payload to be stored on each query.
66
+ * Use this property to pass information that can be used in other places.
67
+ */
68
+ meta?: QueryMeta;
69
+ /**
70
+ * Maximum number of pages to store in the data of an infinite query.
71
+ */
72
+ maxPages?: number;
73
+ }
74
+ export interface DefaultPageParam<TPageParam = unknown> {
75
+ defaultPageParam: TPageParam;
76
+ }
77
+ export interface InfiniteQueryPageParamsOptions<TQueryFnData = unknown, TPageParam = unknown> extends DefaultPageParam<TPageParam> {
54
78
  /**
55
79
  * This function can be set to automatically get the previous cursor for infinite queries.
56
80
  * The result will also be used to determine the value of `hasPreviousPage`.
57
81
  */
58
- getPreviousPageParam?: GetPreviousPageParamFunction<TQueryFnData>;
82
+ getPreviousPageParam?: GetPreviousPageParamFunction<TPageParam, TQueryFnData>;
59
83
  /**
60
84
  * This function can be set to automatically get the next cursor for infinite queries.
61
85
  * The result will also be used to determine the value of `hasNextPage`.
62
86
  */
63
- getNextPageParam?: GetNextPageParamFunction<TQueryFnData>;
64
- _defaulted?: boolean;
65
- /**
66
- * Additional payload to be stored on each query.
67
- * Use this property to pass information that can be used in other places.
68
- */
69
- meta?: QueryMeta;
87
+ getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>;
70
88
  }
71
- export declare type UseErrorBoundary<TQueryFnData, TError, TQueryData, TQueryKey extends QueryKey> = boolean | ((error: TError, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => boolean);
72
- export interface QueryObserverOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey> {
89
+ export declare type ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey extends QueryKey> = boolean | ((error: TError, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => boolean);
90
+ export interface QueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam> {
73
91
  /**
74
92
  * Set this to `false` to disable automatic refetching when the query mounts or changes query keys.
75
93
  * To refetch the query, use the `refetch` method returned from the `useQuery` instance.
@@ -147,57 +165,47 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = unknown,
147
165
  * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).
148
166
  * Defaults to `false`.
149
167
  */
150
- useErrorBoundary?: UseErrorBoundary<TQueryFnData, TError, TQueryData, TQueryKey>;
168
+ throwErrors?: ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey>;
151
169
  /**
152
170
  * This option can be used to transform or select a part of the data returned by the query function.
153
171
  */
154
172
  select?: (data: TQueryData) => TData;
155
173
  /**
156
- * If set to `true`, the query will suspend when `status === 'loading'`
174
+ * If set to `true`, the query will suspend when `status === 'pending'`
157
175
  * and throw errors when `status === 'error'`.
158
176
  * Defaults to `false`.
159
177
  */
160
178
  suspense?: boolean;
161
- /**
162
- * Set this to `true` to keep the previous `data` when fetching based on a new query key.
163
- * Defaults to `false`.
164
- */
165
- keepPreviousData?: boolean;
166
179
  /**
167
180
  * If set, this value will be used as the placeholder data for this particular query observer while the query is still in the `loading` data and no initialData has been provided.
168
181
  */
169
- placeholderData?: TQueryData | PlaceholderDataFunction<TQueryData>;
182
+ placeholderData?: NonFunctionGuard<TQueryData> | PlaceholderDataFunction<NonFunctionGuard<TQueryData>>;
170
183
  _optimisticResults?: 'optimistic' | 'isRestoring';
171
184
  }
172
185
  export declare type WithRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
173
- export declare type DefaultedQueryObserverOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'useErrorBoundary' | 'refetchOnReconnect'>;
174
- export interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, InfiniteData<TData>, InfiniteData<TQueryData>, TQueryKey> {
186
+ export declare type DefaultedQueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>;
187
+ export interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends QueryObserverOptions<TQueryFnData, TError, TData, InfiniteData<TQueryData>, TQueryKey, TPageParam>, InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {
175
188
  }
176
- export declare type DefaultedInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'useErrorBoundary' | 'refetchOnReconnect'>;
177
- export interface FetchQueryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryOptions<TQueryFnData, TError, TData, TQueryKey> {
189
+ export declare type DefaultedInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>;
190
+ export interface FetchQueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends WithRequired<QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'queryKey'> {
178
191
  /**
179
192
  * The time in milliseconds after data is considered stale.
180
193
  * If the data is fresh it will be returned from the cache.
181
194
  */
182
195
  staleTime?: number;
183
196
  }
184
- export interface FetchInfiniteQueryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends FetchQueryOptions<TQueryFnData, TError, InfiniteData<TData>, TQueryKey> {
197
+ export interface FetchInfiniteQueryOptions<TQueryFnData = unknown, TError = RegisteredError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends FetchQueryOptions<TQueryFnData, TError, InfiniteData<TData>, TQueryKey, TPageParam>, DefaultPageParam<TPageParam> {
185
198
  }
186
199
  export interface ResultOptions {
187
200
  throwOnError?: boolean;
188
201
  }
189
- export interface RefetchPageFilters<TPageData = unknown> {
190
- refetchPage?: (lastPage: TPageData, index: number, allPages: TPageData[]) => boolean;
191
- }
192
202
  export interface RefetchOptions extends ResultOptions {
193
203
  cancelRefetch?: boolean;
194
204
  }
195
- export interface InvalidateQueryFilters<TPageData = unknown> extends QueryFilters, RefetchPageFilters<TPageData> {
205
+ export interface InvalidateQueryFilters extends QueryFilters {
196
206
  refetchType?: QueryTypeFilter | 'none';
197
207
  }
198
- export interface RefetchQueryFilters<TPageData = unknown> extends QueryFilters, RefetchPageFilters<TPageData> {
199
- }
200
- export interface ResetQueryFilters<TPageData = unknown> extends QueryFilters, RefetchPageFilters<TPageData> {
208
+ export interface RefetchQueryFilters extends QueryFilters {
201
209
  }
202
210
  export interface InvalidateOptions extends RefetchOptions {
203
211
  }
@@ -205,15 +213,13 @@ export interface ResetOptions extends RefetchOptions {
205
213
  }
206
214
  export interface FetchNextPageOptions extends ResultOptions {
207
215
  cancelRefetch?: boolean;
208
- pageParam?: unknown;
209
216
  }
210
217
  export interface FetchPreviousPageOptions extends ResultOptions {
211
218
  cancelRefetch?: boolean;
212
- pageParam?: unknown;
213
219
  }
214
- export declare type QueryStatus = 'loading' | 'error' | 'success';
220
+ export declare type QueryStatus = 'pending' | 'error' | 'success';
215
221
  export declare type FetchStatus = 'fetching' | 'paused' | 'idle';
216
- export interface QueryObserverBaseResult<TData = unknown, TError = unknown> {
222
+ export interface QueryObserverBaseResult<TData = unknown, TError = RegisteredError> {
217
223
  data: TData | undefined;
218
224
  dataUpdatedAt: number;
219
225
  error: TError | null;
@@ -226,121 +232,123 @@ export interface QueryObserverBaseResult<TData = unknown, TError = unknown> {
226
232
  isFetchedAfterMount: boolean;
227
233
  isFetching: boolean;
228
234
  isLoading: boolean;
235
+ isPending: boolean;
229
236
  isLoadingError: boolean;
237
+ /**
238
+ * @deprecated isInitialLoading is being deprecated in favor of isLoading
239
+ * and will be removed in the next major version.
240
+ */
230
241
  isInitialLoading: boolean;
231
242
  isPaused: boolean;
232
243
  isPlaceholderData: boolean;
233
- isPreviousData: boolean;
234
244
  isRefetchError: boolean;
235
245
  isRefetching: boolean;
236
246
  isStale: boolean;
237
247
  isSuccess: boolean;
238
- refetch: <TPageData>(options?: RefetchOptions & RefetchQueryFilters<TPageData>) => Promise<QueryObserverResult<TData, TError>>;
239
- remove: () => void;
248
+ refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<TData, TError>>;
240
249
  status: QueryStatus;
241
250
  fetchStatus: FetchStatus;
242
251
  }
243
- export interface QueryObserverLoadingResult<TData = unknown, TError = unknown> extends QueryObserverBaseResult<TData, TError> {
252
+ export interface QueryObserverLoadingResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> {
244
253
  data: undefined;
245
254
  error: null;
246
255
  isError: false;
247
- isLoading: true;
256
+ isPending: true;
248
257
  isLoadingError: false;
249
258
  isRefetchError: false;
250
259
  isSuccess: false;
251
- status: 'loading';
260
+ status: 'pending';
252
261
  }
253
- export interface QueryObserverLoadingErrorResult<TData = unknown, TError = unknown> extends QueryObserverBaseResult<TData, TError> {
262
+ export interface QueryObserverLoadingErrorResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> {
254
263
  data: undefined;
255
264
  error: TError;
256
265
  isError: true;
257
- isLoading: false;
266
+ isPending: false;
258
267
  isLoadingError: true;
259
268
  isRefetchError: false;
260
269
  isSuccess: false;
261
270
  status: 'error';
262
271
  }
263
- export interface QueryObserverRefetchErrorResult<TData = unknown, TError = unknown> extends QueryObserverBaseResult<TData, TError> {
272
+ export interface QueryObserverRefetchErrorResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> {
264
273
  data: TData;
265
274
  error: TError;
266
275
  isError: true;
267
- isLoading: false;
276
+ isPending: false;
268
277
  isLoadingError: false;
269
278
  isRefetchError: true;
270
279
  isSuccess: false;
271
280
  status: 'error';
272
281
  }
273
- export interface QueryObserverSuccessResult<TData = unknown, TError = unknown> extends QueryObserverBaseResult<TData, TError> {
282
+ export interface QueryObserverSuccessResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> {
274
283
  data: TData;
275
284
  error: null;
276
285
  isError: false;
277
- isLoading: false;
286
+ isPending: false;
278
287
  isLoadingError: false;
279
288
  isRefetchError: false;
280
289
  isSuccess: true;
281
290
  status: 'success';
282
291
  }
283
- export declare type DefinedQueryObserverResult<TData = unknown, TError = unknown> = QueryObserverRefetchErrorResult<TData, TError> | QueryObserverSuccessResult<TData, TError>;
284
- export declare type QueryObserverResult<TData = unknown, TError = unknown> = DefinedQueryObserverResult<TData, TError> | QueryObserverLoadingErrorResult<TData, TError> | QueryObserverLoadingResult<TData, TError>;
285
- export interface InfiniteQueryObserverBaseResult<TData = unknown, TError = unknown> extends QueryObserverBaseResult<InfiniteData<TData>, TError> {
292
+ export declare type DefinedQueryObserverResult<TData = unknown, TError = RegisteredError> = QueryObserverRefetchErrorResult<TData, TError> | QueryObserverSuccessResult<TData, TError>;
293
+ export declare type QueryObserverResult<TData = unknown, TError = RegisteredError> = DefinedQueryObserverResult<TData, TError> | QueryObserverLoadingErrorResult<TData, TError> | QueryObserverLoadingResult<TData, TError>;
294
+ export interface InfiniteQueryObserverBaseResult<TData = unknown, TError = RegisteredError> extends QueryObserverBaseResult<TData, TError> {
286
295
  fetchNextPage: (options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>;
287
296
  fetchPreviousPage: (options?: FetchPreviousPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>;
288
- hasNextPage?: boolean;
289
- hasPreviousPage?: boolean;
297
+ hasNextPage: boolean;
298
+ hasPreviousPage: boolean;
290
299
  isFetchingNextPage: boolean;
291
300
  isFetchingPreviousPage: boolean;
292
301
  }
293
- export interface InfiniteQueryObserverLoadingResult<TData = unknown, TError = unknown> extends InfiniteQueryObserverBaseResult<TData, TError> {
302
+ export interface InfiniteQueryObserverLoadingResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> {
294
303
  data: undefined;
295
304
  error: null;
296
305
  isError: false;
297
- isLoading: true;
306
+ isPending: true;
298
307
  isLoadingError: false;
299
308
  isRefetchError: false;
300
309
  isSuccess: false;
301
- status: 'loading';
310
+ status: 'pending';
302
311
  }
303
- export interface InfiniteQueryObserverLoadingErrorResult<TData = unknown, TError = unknown> extends InfiniteQueryObserverBaseResult<TData, TError> {
312
+ export interface InfiniteQueryObserverLoadingErrorResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> {
304
313
  data: undefined;
305
314
  error: TError;
306
315
  isError: true;
307
- isLoading: false;
316
+ isPending: false;
308
317
  isLoadingError: true;
309
318
  isRefetchError: false;
310
319
  isSuccess: false;
311
320
  status: 'error';
312
321
  }
313
- export interface InfiniteQueryObserverRefetchErrorResult<TData = unknown, TError = unknown> extends InfiniteQueryObserverBaseResult<TData, TError> {
314
- data: InfiniteData<TData>;
322
+ export interface InfiniteQueryObserverRefetchErrorResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> {
323
+ data: TData;
315
324
  error: TError;
316
325
  isError: true;
317
- isLoading: false;
326
+ isPending: false;
318
327
  isLoadingError: false;
319
328
  isRefetchError: true;
320
329
  isSuccess: false;
321
330
  status: 'error';
322
331
  }
323
- export interface InfiniteQueryObserverSuccessResult<TData = unknown, TError = unknown> extends InfiniteQueryObserverBaseResult<TData, TError> {
324
- data: InfiniteData<TData>;
332
+ export interface InfiniteQueryObserverSuccessResult<TData = unknown, TError = RegisteredError> extends InfiniteQueryObserverBaseResult<TData, TError> {
333
+ data: TData;
325
334
  error: null;
326
335
  isError: false;
327
- isLoading: false;
336
+ isPending: false;
328
337
  isLoadingError: false;
329
338
  isRefetchError: false;
330
339
  isSuccess: true;
331
340
  status: 'success';
332
341
  }
333
- export declare type InfiniteQueryObserverResult<TData = unknown, TError = unknown> = InfiniteQueryObserverLoadingErrorResult<TData, TError> | InfiniteQueryObserverLoadingResult<TData, TError> | InfiniteQueryObserverRefetchErrorResult<TData, TError> | InfiniteQueryObserverSuccessResult<TData, TError>;
342
+ export declare type InfiniteQueryObserverResult<TData = unknown, TError = RegisteredError> = InfiniteQueryObserverLoadingErrorResult<TData, TError> | InfiniteQueryObserverLoadingResult<TData, TError> | InfiniteQueryObserverRefetchErrorResult<TData, TError> | InfiniteQueryObserverSuccessResult<TData, TError>;
334
343
  export declare type MutationKey = readonly unknown[];
335
- export declare type MutationStatus = 'idle' | 'loading' | 'success' | 'error';
344
+ export declare type MutationStatus = 'idle' | 'pending' | 'success' | 'error';
336
345
  export interface MutationMeta {
337
346
  [index: string]: unknown;
338
347
  }
339
348
  export declare type MutationFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData>;
340
- export interface MutationOptions<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> {
349
+ export interface MutationOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> {
341
350
  mutationFn?: MutationFunction<TData, TVariables>;
342
351
  mutationKey?: MutationKey;
343
- variables?: TVariables;
344
352
  onMutate?: (variables: TVariables) => Promise<TContext | undefined> | TContext | undefined;
345
353
  onSuccess?: (data: TData, variables: TVariables, context: TContext | undefined) => Promise<unknown> | unknown;
346
354
  onError?: (error: TError, variables: TVariables, context: TContext | undefined) => Promise<unknown> | unknown;
@@ -348,71 +356,74 @@ export interface MutationOptions<TData = unknown, TError = unknown, TVariables =
348
356
  retry?: RetryValue<TError>;
349
357
  retryDelay?: RetryDelayValue<TError>;
350
358
  networkMode?: NetworkMode;
351
- cacheTime?: number;
359
+ gcTime?: number;
352
360
  _defaulted?: boolean;
353
361
  meta?: MutationMeta;
354
362
  }
355
- export interface MutationObserverOptions<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends MutationOptions<TData, TError, TVariables, TContext> {
356
- useErrorBoundary?: boolean | ((error: TError) => boolean);
363
+ export interface MutationObserverOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationOptions<TData, TError, TVariables, TContext> {
364
+ throwErrors?: boolean | ((error: TError) => boolean);
357
365
  }
358
- export interface MutateOptions<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> {
366
+ export interface MutateOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> {
359
367
  onSuccess?: (data: TData, variables: TVariables, context: TContext) => void;
360
368
  onError?: (error: TError, variables: TVariables, context: TContext | undefined) => void;
361
369
  onSettled?: (data: TData | undefined, error: TError | null, variables: TVariables, context: TContext | undefined) => void;
362
370
  }
363
- export declare type MutateFunction<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>;
364
- export interface MutationObserverBaseResult<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends MutationState<TData, TError, TVariables, TContext> {
371
+ export declare type MutateFunction<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>;
372
+ export interface MutationObserverBaseResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationState<TData, TError, TVariables, TContext> {
365
373
  isError: boolean;
366
374
  isIdle: boolean;
367
- isLoading: boolean;
375
+ isPending: boolean;
368
376
  isSuccess: boolean;
369
377
  mutate: MutateFunction<TData, TError, TVariables, TContext>;
370
378
  reset: () => void;
371
379
  }
372
- export interface MutationObserverIdleResult<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
380
+ export interface MutationObserverIdleResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
373
381
  data: undefined;
382
+ variables: undefined;
374
383
  error: null;
375
384
  isError: false;
376
385
  isIdle: true;
377
- isLoading: false;
386
+ isPending: false;
378
387
  isSuccess: false;
379
388
  status: 'idle';
380
389
  }
381
- export interface MutationObserverLoadingResult<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
390
+ export interface MutationObserverLoadingResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
382
391
  data: undefined;
392
+ variables: TVariables;
383
393
  error: null;
384
394
  isError: false;
385
395
  isIdle: false;
386
- isLoading: true;
396
+ isPending: true;
387
397
  isSuccess: false;
388
- status: 'loading';
398
+ status: 'pending';
389
399
  }
390
- export interface MutationObserverErrorResult<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
400
+ export interface MutationObserverErrorResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
391
401
  data: undefined;
392
402
  error: TError;
403
+ variables: TVariables;
393
404
  isError: true;
394
405
  isIdle: false;
395
- isLoading: false;
406
+ isPending: false;
396
407
  isSuccess: false;
397
408
  status: 'error';
398
409
  }
399
- export interface MutationObserverSuccessResult<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
410
+ export interface MutationObserverSuccessResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends MutationObserverBaseResult<TData, TError, TVariables, TContext> {
400
411
  data: TData;
401
412
  error: null;
413
+ variables: TVariables;
402
414
  isError: false;
403
415
  isIdle: false;
404
- isLoading: false;
416
+ isPending: false;
405
417
  isSuccess: true;
406
418
  status: 'success';
407
419
  }
408
- export declare type MutationObserverResult<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> = MutationObserverIdleResult<TData, TError, TVariables, TContext> | MutationObserverLoadingResult<TData, TError, TVariables, TContext> | MutationObserverErrorResult<TData, TError, TVariables, TContext> | MutationObserverSuccessResult<TData, TError, TVariables, TContext>;
420
+ export declare type MutationObserverResult<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> = MutationObserverIdleResult<TData, TError, TVariables, TContext> | MutationObserverLoadingResult<TData, TError, TVariables, TContext> | MutationObserverErrorResult<TData, TError, TVariables, TContext> | MutationObserverSuccessResult<TData, TError, TVariables, TContext>;
409
421
  export interface QueryClientConfig {
410
422
  queryCache?: QueryCache;
411
423
  mutationCache?: MutationCache;
412
- logger?: Logger;
413
424
  defaultOptions?: DefaultOptions;
414
425
  }
415
- export interface DefaultOptions<TError = unknown> {
426
+ export interface DefaultOptions<TError = RegisteredError> {
416
427
  queries?: QueryObserverOptions<unknown, TError>;
417
428
  mutations?: MutationObserverOptions<unknown, TError, unknown, unknown>;
418
429
  }
@@ -427,3 +438,4 @@ export declare type NotifyEventType = 'added' | 'removed' | 'updated' | 'observe
427
438
  export interface NotifyEvent {
428
439
  type: NotifyEventType;
429
440
  }
441
+ export {};
@@ -1,6 +1,6 @@
1
1
  import type { Mutation } from './mutation';
2
2
  import type { Query } from './query';
3
- import type { FetchStatus, MutationFunction, MutationKey, MutationOptions, QueryFunction, QueryKey, QueryOptions } from './types';
3
+ import type { FetchStatus, MutationKey, MutationStatus, QueryKey, QueryOptions } from './types';
4
4
  export interface QueryFilters {
5
5
  /**
6
6
  * Filter to active queries, inactive queries or all queries
@@ -41,9 +41,9 @@ export interface MutationFilters {
41
41
  */
42
42
  mutationKey?: MutationKey;
43
43
  /**
44
- * Include or exclude fetching mutations
44
+ * Filter by mutation status
45
45
  */
46
- fetching?: boolean;
46
+ status?: MutationStatus;
47
47
  }
48
48
  export declare type DataUpdateFunction<TInput, TOutput> = (input: TInput) => TOutput;
49
49
  export declare type Updater<TInput, TOutput> = TOutput | DataUpdateFunction<TInput, TOutput>;
@@ -52,29 +52,19 @@ export declare const isServer: boolean;
52
52
  export declare function noop(): undefined;
53
53
  export declare function functionalUpdate<TInput, TOutput>(updater: Updater<TInput, TOutput>, input: TInput): TOutput;
54
54
  export declare function isValidTimeout(value: unknown): value is number;
55
- export declare function difference<T>(array1: T[], array2: T[]): T[];
56
- export declare function replaceAt<T>(array: T[], index: number, value: T): T[];
57
55
  export declare function timeUntilStale(updatedAt: number, staleTime?: number): number;
58
- export declare function parseQueryArgs<TOptions extends QueryOptions<any, any, any, TQueryKey>, TQueryKey extends QueryKey = QueryKey>(arg1: TQueryKey | TOptions, arg2?: QueryFunction<any, TQueryKey> | TOptions, arg3?: TOptions): TOptions;
59
- export declare function parseMutationArgs<TOptions extends MutationOptions<any, any, any, any>>(arg1: MutationKey | MutationFunction<any, any> | TOptions, arg2?: MutationFunction<any, any> | TOptions, arg3?: TOptions): TOptions;
60
- export declare function parseFilterArgs<TFilters extends QueryFilters, TOptions = unknown>(arg1?: QueryKey | TFilters, arg2?: TFilters | TOptions, arg3?: TOptions): [TFilters, TOptions | undefined];
61
- export declare function parseMutationFilterArgs<TFilters extends MutationFilters, TOptions = unknown>(arg1?: QueryKey | TFilters, arg2?: TFilters | TOptions, arg3?: TOptions): [TFilters, TOptions | undefined];
62
56
  export declare function matchQuery(filters: QueryFilters, query: Query<any, any, any, any>): boolean;
63
57
  export declare function matchMutation(filters: MutationFilters, mutation: Mutation<any, any>): boolean;
64
58
  export declare function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, options?: QueryOptions<any, any, any, TQueryKey>): string;
65
59
  /**
66
- * Default query keys hash function.
60
+ * Default query & mutation keys hash function.
67
61
  * Hashes the value into a stable hash.
68
62
  */
69
- export declare function hashQueryKey(queryKey: QueryKey): string;
63
+ export declare function hashKey(queryKey: QueryKey | MutationKey): string;
70
64
  /**
71
65
  * Checks if key `b` partially matches with key `a`.
72
66
  */
73
67
  export declare function partialMatchKey(a: QueryKey, b: QueryKey): boolean;
74
- /**
75
- * Checks if `b` partially matches with `a`.
76
- */
77
- export declare function partialDeepEqual(a: any, b: any): boolean;
78
68
  /**
79
69
  * This function returns `a` if `b` is deeply equal.
80
70
  * If not, it will replace any deeply equal children of `b` with those of `a`.
@@ -87,13 +77,13 @@ export declare function replaceEqualDeep<T>(a: unknown, b: T): T;
87
77
  export declare function shallowEqualObjects<T>(a: T, b: T): boolean;
88
78
  export declare function isPlainArray(value: unknown): boolean;
89
79
  export declare function isPlainObject(o: any): o is Object;
90
- export declare function isQueryKey(value: unknown): value is QueryKey;
91
- export declare function isError(value: any): value is Error;
92
80
  export declare function sleep(timeout: number): Promise<void>;
93
81
  /**
94
82
  * Schedules a microtask.
95
83
  * This can be useful to schedule state updates after rendering.
96
84
  */
97
85
  export declare function scheduleMicrotask(callback: () => void): void;
98
- export declare function getAbortController(): AbortController | undefined;
99
86
  export declare function replaceData<TData, TOptions extends QueryOptions<any, any, any, any>>(prevData: TData | undefined, data: TData, options: TOptions): TData;
87
+ export declare function keepPreviousData<T>(previousData: T | undefined): T | undefined;
88
+ export declare function addToEnd<T>(items: T[], item: T, max?: number): T[];
89
+ export declare function addToStart<T>(items: T[], item: T, max?: number): T[];