@tanstack/query-core 5.0.0-alpha.6 → 5.0.0-alpha.63
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/_virtual/{_rollupPluginBabelHelpers.js → _rollupPluginBabelHelpers.legacy.cjs} +1 -1
- package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs.map +1 -0
- package/build/lib/_virtual/{_rollupPluginBabelHelpers.esm.js → _rollupPluginBabelHelpers.legacy.js} +1 -1
- package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js.map +1 -0
- package/build/lib/{focusManager.mjs → focusManager.cjs} +9 -6
- package/build/lib/{focusManager.mjs.map → focusManager.cjs.map} +1 -1
- package/build/lib/focusManager.d.ts +2 -1
- package/build/lib/focusManager.d.ts.map +1 -0
- package/build/lib/focusManager.js +20 -39
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.legacy.cjs +90 -0
- package/build/lib/focusManager.legacy.cjs.map +1 -0
- package/build/lib/{focusManager.esm.js → focusManager.legacy.js} +4 -4
- package/build/lib/focusManager.legacy.js.map +1 -0
- package/build/lib/{hydration.mjs → hydration.cjs} +11 -20
- package/build/lib/hydration.cjs.map +1 -0
- package/build/lib/hydration.d.ts +3 -6
- package/build/lib/hydration.d.ts.map +1 -0
- package/build/lib/hydration.js +7 -28
- package/build/lib/hydration.js.map +1 -1
- package/build/lib/hydration.legacy.cjs +92 -0
- package/build/lib/hydration.legacy.cjs.map +1 -0
- package/build/lib/{hydration.esm.js → hydration.legacy.js} +6 -19
- package/build/lib/hydration.legacy.js.map +1 -0
- package/build/lib/index.cjs +40 -0
- package/build/lib/index.cjs.map +1 -0
- package/build/lib/index.d.ts +5 -3
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +13 -39
- package/build/lib/index.js.map +1 -1
- package/build/lib/index.legacy.cjs +40 -0
- package/build/lib/index.legacy.cjs.map +1 -0
- package/build/lib/index.legacy.js +14 -0
- package/build/lib/index.legacy.js.map +1 -0
- package/build/lib/{infiniteQueryBehavior.mjs → infiniteQueryBehavior.cjs} +8 -4
- package/build/lib/{infiniteQueryBehavior.mjs.map → infiniteQueryBehavior.cjs.map} +1 -1
- package/build/lib/infiniteQueryBehavior.d.ts +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.js +7 -12
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.legacy.cjs +131 -0
- package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -0
- package/build/lib/{infiniteQueryBehavior.esm.js → infiniteQueryBehavior.legacy.js} +2 -2
- package/build/lib/infiniteQueryBehavior.legacy.js.map +1 -0
- package/build/lib/{infiniteQueryObserver.mjs → infiniteQueryObserver.cjs} +11 -9
- package/build/lib/{infiniteQueryObserver.mjs.map → infiniteQueryObserver.cjs.map} +1 -1
- package/build/lib/infiniteQueryObserver.d.ts +2 -1
- package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
- package/build/lib/infiniteQueryObserver.js +10 -13
- package/build/lib/infiniteQueryObserver.js.map +1 -1
- package/build/lib/infiniteQueryObserver.legacy.cjs +78 -0
- package/build/lib/infiniteQueryObserver.legacy.cjs.map +1 -0
- package/build/lib/{infiniteQueryObserver.esm.js → infiniteQueryObserver.legacy.js} +3 -3
- package/build/lib/infiniteQueryObserver.legacy.js.map +1 -0
- package/build/lib/{mutation.mjs → mutation.cjs} +13 -10
- package/build/lib/mutation.cjs.map +1 -0
- package/build/lib/mutation.d.ts +2 -1
- package/build/lib/mutation.d.ts.map +1 -0
- package/build/lib/mutation.js +107 -135
- package/build/lib/mutation.js.map +1 -1
- package/build/lib/mutation.legacy.cjs +262 -0
- package/build/lib/mutation.legacy.cjs.map +1 -0
- package/build/lib/{mutation.esm.js → mutation.legacy.js} +6 -6
- package/build/lib/mutation.legacy.js.map +1 -0
- package/build/lib/{mutationCache.mjs → mutationCache.cjs} +21 -18
- package/build/lib/mutationCache.cjs.map +1 -0
- package/build/lib/mutationCache.d.ts +3 -2
- package/build/lib/mutationCache.d.ts.map +1 -0
- package/build/lib/mutationCache.js +33 -47
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationCache.legacy.cjs +98 -0
- package/build/lib/mutationCache.legacy.cjs.map +1 -0
- package/build/lib/{mutationCache.esm.js → mutationCache.legacy.js} +11 -10
- package/build/lib/mutationCache.legacy.js.map +1 -0
- package/build/lib/{mutationObserver.mjs → mutationObserver.cjs} +13 -11
- package/build/lib/mutationObserver.cjs.map +1 -0
- package/build/lib/mutationObserver.d.ts +2 -1
- package/build/lib/mutationObserver.d.ts.map +1 -0
- package/build/lib/mutationObserver.js +59 -91
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/mutationObserver.legacy.cjs +128 -0
- package/build/lib/mutationObserver.legacy.cjs.map +1 -0
- package/build/lib/{mutationObserver.esm.js → mutationObserver.legacy.js} +7 -7
- package/build/lib/mutationObserver.legacy.js.map +1 -0
- package/build/lib/{notifyManager.mjs → notifyManager.cjs} +8 -5
- package/build/lib/{notifyManager.mjs.map → notifyManager.cjs.map} +1 -1
- package/build/lib/notifyManager.d.ts +4 -3
- package/build/lib/notifyManager.d.ts.map +1 -0
- package/build/lib/notifyManager.js +4 -7
- package/build/lib/notifyManager.js.map +1 -1
- package/build/lib/notifyManager.legacy.cjs +92 -0
- package/build/lib/notifyManager.legacy.cjs.map +1 -0
- package/build/lib/{notifyManager.esm.js → notifyManager.legacy.js} +2 -2
- package/build/lib/notifyManager.legacy.js.map +1 -0
- package/build/lib/{onlineManager.mjs → onlineManager.cjs} +16 -10
- package/build/lib/onlineManager.cjs.map +1 -0
- package/build/lib/onlineManager.d.ts +2 -1
- package/build/lib/onlineManager.d.ts.map +1 -0
- package/build/lib/onlineManager.js +26 -41
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.legacy.cjs +94 -0
- package/build/lib/onlineManager.legacy.cjs.map +1 -0
- package/build/lib/{onlineManager.esm.js → onlineManager.legacy.js} +11 -8
- package/build/lib/onlineManager.legacy.js.map +1 -0
- package/build/lib/{queriesObserver.mjs → queriesObserver.cjs} +51 -26
- package/build/lib/queriesObserver.cjs.map +1 -0
- package/build/lib/queriesObserver.d.ts +14 -6
- package/build/lib/queriesObserver.d.ts.map +1 -0
- package/build/lib/queriesObserver.js +99 -107
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.legacy.cjs +207 -0
- package/build/lib/queriesObserver.legacy.cjs.map +1 -0
- package/build/lib/{queriesObserver.esm.js → queriesObserver.legacy.js} +62 -22
- package/build/lib/queriesObserver.legacy.js.map +1 -0
- package/build/lib/{query.mjs → query.cjs} +22 -20
- package/build/lib/query.cjs.map +1 -0
- package/build/lib/query.d.ts +3 -2
- package/build/lib/query.d.ts.map +1 -0
- package/build/lib/query.js +173 -224
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.legacy.cjs +471 -0
- package/build/lib/query.legacy.cjs.map +1 -0
- package/build/lib/{query.esm.js → query.legacy.js} +10 -10
- package/build/lib/query.legacy.js.map +1 -0
- package/build/lib/{queryCache.mjs → queryCache.cjs} +28 -23
- package/build/lib/queryCache.cjs.map +1 -0
- package/build/lib/queryCache.d.ts +3 -3
- package/build/lib/queryCache.d.ts.map +1 -0
- package/build/lib/queryCache.js +31 -37
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryCache.legacy.cjs +111 -0
- package/build/lib/queryCache.legacy.cjs.map +1 -0
- package/build/lib/{queryCache.esm.js → queryCache.legacy.js} +13 -12
- package/build/lib/queryCache.legacy.js.map +1 -0
- package/build/lib/{queryClient.mjs → queryClient.cjs} +50 -42
- package/build/lib/queryClient.cjs.map +1 -0
- package/build/lib/queryClient.d.ts +2 -2
- package/build/lib/queryClient.d.ts.map +1 -0
- package/build/lib/queryClient.js +98 -134
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.legacy.cjs +322 -0
- package/build/lib/queryClient.legacy.cjs.map +1 -0
- package/build/lib/{queryClient.esm.js → queryClient.legacy.js} +28 -25
- package/build/lib/queryClient.legacy.js.map +1 -0
- package/build/lib/{queryObserver.mjs → queryObserver.cjs} +40 -50
- package/build/lib/queryObserver.cjs.map +1 -0
- package/build/lib/queryObserver.d.ts +6 -7
- package/build/lib/queryObserver.d.ts.map +1 -0
- package/build/lib/queryObserver.js +208 -323
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.legacy.cjs +526 -0
- package/build/lib/queryObserver.legacy.cjs.map +1 -0
- package/build/lib/{queryObserver.esm.js → queryObserver.legacy.js} +71 -88
- package/build/lib/queryObserver.legacy.js.map +1 -0
- package/build/lib/{removable.mjs → removable.cjs} +7 -5
- package/build/lib/{removable.mjs.map → removable.cjs.map} +1 -1
- package/build/lib/removable.d.ts +1 -0
- package/build/lib/removable.d.ts.map +1 -0
- package/build/lib/removable.js +9 -18
- package/build/lib/removable.js.map +1 -1
- package/build/lib/removable.legacy.cjs +38 -0
- package/build/lib/removable.legacy.cjs.map +1 -0
- package/build/lib/{removable.esm.js → removable.legacy.js} +3 -3
- package/build/lib/removable.legacy.js.map +1 -0
- package/build/lib/{retryer.mjs → retryer.cjs} +15 -8
- package/build/lib/{retryer.mjs.map → retryer.cjs.map} +1 -1
- package/build/lib/retryer.d.ts +5 -4
- package/build/lib/retryer.d.ts.map +1 -0
- package/build/lib/retryer.js +21 -25
- package/build/lib/retryer.js.map +1 -1
- package/build/lib/retryer.legacy.cjs +158 -0
- package/build/lib/retryer.legacy.cjs.map +1 -0
- package/build/lib/{retryer.esm.js → retryer.legacy.js} +6 -4
- package/build/lib/retryer.legacy.js.map +1 -0
- package/build/lib/{subscribable.esm.js → subscribable.cjs} +8 -6
- package/build/lib/subscribable.cjs.map +1 -0
- package/build/lib/subscribable.d.ts +3 -2
- package/build/lib/subscribable.d.ts.map +1 -0
- package/build/lib/subscribable.js +5 -7
- package/build/lib/subscribable.js.map +1 -1
- package/build/lib/subscribable.legacy.cjs +28 -0
- package/build/lib/subscribable.legacy.cjs.map +1 -0
- package/build/lib/{subscribable.mjs → subscribable.legacy.js} +5 -5
- package/build/lib/subscribable.legacy.js.map +1 -0
- package/build/lib/tests/focusManager.test.d.ts +1 -0
- package/build/lib/tests/focusManager.test.d.ts.map +1 -0
- package/build/lib/tests/hydration.test.d.ts +1 -0
- package/build/lib/tests/hydration.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutationCache.test.d.ts +1 -0
- package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutations.test.d.ts +1 -0
- package/build/lib/tests/mutations.test.d.ts.map +1 -0
- package/build/lib/tests/notifyManager.test.d.ts +1 -0
- package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
- package/build/lib/tests/onlineManager.test.d.ts +1 -0
- package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
- package/build/lib/tests/query.test.d.ts +1 -0
- package/build/lib/tests/query.test.d.ts.map +1 -0
- package/build/lib/tests/queryCache.test.d.ts +1 -0
- package/build/lib/tests/queryCache.test.d.ts.map +1 -0
- package/build/lib/tests/queryClient.test.d.ts +1 -0
- package/build/lib/tests/queryClient.test.d.ts.map +1 -0
- package/build/lib/tests/queryObserver.test.d.ts +1 -0
- package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/utils.d.ts +3 -2
- package/build/lib/tests/utils.d.ts.map +1 -0
- package/build/lib/tests/utils.test.d.ts +1 -0
- package/build/lib/tests/utils.test.d.ts.map +1 -0
- package/build/lib/types.d.ts +34 -46
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/{utils.mjs → utils.cjs} +23 -2
- package/build/lib/{utils.mjs.map → utils.cjs.map} +1 -1
- package/build/lib/utils.d.ts +4 -3
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +2 -23
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.legacy.cjs +248 -0
- package/build/lib/utils.legacy.cjs.map +1 -0
- package/build/lib/{utils.esm.js → utils.legacy.js} +1 -1
- package/build/lib/utils.legacy.js.map +1 -0
- package/package.json +13 -9
- package/src/hydration.ts +18 -37
- package/src/index.ts +3 -4
- package/src/mutation.ts +1 -1
- package/src/mutationCache.ts +4 -4
- package/src/mutationObserver.ts +1 -1
- package/src/onlineManager.ts +8 -4
- package/src/queriesObserver.ts +75 -25
- package/src/query.ts +4 -4
- package/src/queryCache.ts +5 -8
- package/src/queryClient.ts +20 -20
- package/src/queryObserver.ts +47 -55
- package/src/subscribable.ts +5 -5
- package/src/tests/hydration.test.tsx +7 -3
- package/src/tests/query.test.tsx +1 -1
- package/src/tests/queryCache.test.tsx +1 -19
- package/src/tests/queryClient.test.tsx +39 -3
- package/src/tests/queryObserver.test.tsx +121 -0
- package/src/types.ts +14 -21
- package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
- package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/lib/focusManager.esm.js.map +0 -1
- package/build/lib/hydration.esm.js.map +0 -1
- package/build/lib/hydration.mjs.map +0 -1
- package/build/lib/index.esm.js +0 -14
- package/build/lib/index.esm.js.map +0 -1
- package/build/lib/index.mjs +0 -14
- package/build/lib/index.mjs.map +0 -1
- package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
- package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
- package/build/lib/mutation.esm.js.map +0 -1
- package/build/lib/mutation.mjs.map +0 -1
- package/build/lib/mutationCache.esm.js.map +0 -1
- package/build/lib/mutationCache.mjs.map +0 -1
- package/build/lib/mutationObserver.esm.js.map +0 -1
- package/build/lib/mutationObserver.mjs.map +0 -1
- package/build/lib/notifyManager.esm.js.map +0 -1
- package/build/lib/onlineManager.esm.js.map +0 -1
- package/build/lib/onlineManager.mjs.map +0 -1
- package/build/lib/queriesObserver.esm.js.map +0 -1
- package/build/lib/queriesObserver.mjs.map +0 -1
- package/build/lib/query.esm.js.map +0 -1
- package/build/lib/query.mjs.map +0 -1
- package/build/lib/queryCache.esm.js.map +0 -1
- package/build/lib/queryCache.mjs.map +0 -1
- package/build/lib/queryClient.esm.js.map +0 -1
- package/build/lib/queryClient.mjs.map +0 -1
- package/build/lib/queryObserver.esm.js.map +0 -1
- package/build/lib/queryObserver.mjs.map +0 -1
- package/build/lib/removable.esm.js.map +0 -1
- package/build/lib/retryer.esm.js.map +0 -1
- package/build/lib/subscribable.esm.js.map +0 -1
- package/build/lib/subscribable.mjs.map +0 -1
- package/build/lib/utils.esm.js.map +0 -1
- package/build/umd/index.development.js +0 -2683
- 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
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
import { notifyManager } from './notifyManager.mjs';
|
|
3
|
-
import { focusManager } from './focusManager.mjs';
|
|
4
|
-
import { Subscribable } from './subscribable.mjs';
|
|
5
|
-
import { canFetch, isCancelledError } from './retryer.mjs';
|
|
1
|
+
'use strict';
|
|
6
2
|
|
|
7
|
-
|
|
3
|
+
var utils = require('./utils.cjs');
|
|
4
|
+
var notifyManager = require('./notifyManager.cjs');
|
|
5
|
+
var focusManager = require('./focusManager.cjs');
|
|
6
|
+
var subscribable = require('./subscribable.cjs');
|
|
7
|
+
var retryer = require('./retryer.cjs');
|
|
8
|
+
|
|
9
|
+
class QueryObserver extends subscribable.Subscribable {
|
|
8
10
|
#client;
|
|
9
11
|
#currentQuery = undefined;
|
|
10
12
|
#currentQueryInitialState = undefined;
|
|
11
13
|
#currentResult = undefined;
|
|
12
14
|
#currentResultState;
|
|
13
15
|
#currentResultOptions;
|
|
14
|
-
#previousQueryResult;
|
|
15
16
|
#selectError;
|
|
16
17
|
#selectFn;
|
|
17
18
|
#selectResult;
|
|
19
|
+
// This property keeps track of the last query with defined data.
|
|
20
|
+
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
21
|
+
#lastQueryWithDefinedData;
|
|
18
22
|
#staleTimeoutId;
|
|
19
23
|
#refetchIntervalId;
|
|
20
24
|
#currentRefetchInterval;
|
|
@@ -31,7 +35,7 @@ class QueryObserver extends Subscribable {
|
|
|
31
35
|
this.refetch = this.refetch.bind(this);
|
|
32
36
|
}
|
|
33
37
|
onSubscribe() {
|
|
34
|
-
if (this.listeners.
|
|
38
|
+
if (this.listeners.size === 1) {
|
|
35
39
|
this.#currentQuery.addObserver(this);
|
|
36
40
|
if (shouldFetchOnMount(this.#currentQuery, this.options)) {
|
|
37
41
|
this.#executeFetch();
|
|
@@ -40,7 +44,7 @@ class QueryObserver extends Subscribable {
|
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
46
|
onUnsubscribe() {
|
|
43
|
-
if (!this.
|
|
47
|
+
if (!this.hasListeners()) {
|
|
44
48
|
this.destroy();
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -51,7 +55,7 @@ class QueryObserver extends Subscribable {
|
|
|
51
55
|
return shouldFetchOn(this.#currentQuery, this.options, this.options.refetchOnWindowFocus);
|
|
52
56
|
}
|
|
53
57
|
destroy() {
|
|
54
|
-
this.listeners =
|
|
58
|
+
this.listeners = new Set();
|
|
55
59
|
this.#clearStaleTimeout();
|
|
56
60
|
this.#clearRefetchInterval();
|
|
57
61
|
this.#currentQuery.removeObserver(this);
|
|
@@ -60,7 +64,7 @@ class QueryObserver extends Subscribable {
|
|
|
60
64
|
const prevOptions = this.options;
|
|
61
65
|
const prevQuery = this.#currentQuery;
|
|
62
66
|
this.options = this.#client.defaultQueryOptions(options);
|
|
63
|
-
if (!shallowEqualObjects(prevOptions, this.options)) {
|
|
67
|
+
if (!utils.shallowEqualObjects(prevOptions, this.options)) {
|
|
64
68
|
this.#client.getQueryCache().notify({
|
|
65
69
|
type: 'observerOptionsUpdated',
|
|
66
70
|
query: this.#currentQuery,
|
|
@@ -84,7 +88,7 @@ class QueryObserver extends Subscribable {
|
|
|
84
88
|
}
|
|
85
89
|
|
|
86
90
|
// Update result
|
|
87
|
-
this
|
|
91
|
+
this.updateResult(notifyOptions);
|
|
88
92
|
|
|
89
93
|
// Update stale interval if needed
|
|
90
94
|
if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {
|
|
@@ -139,7 +143,7 @@ class QueryObserver extends Subscribable {
|
|
|
139
143
|
...fetchOptions,
|
|
140
144
|
cancelRefetch: fetchOptions.cancelRefetch ?? true
|
|
141
145
|
}).then(() => {
|
|
142
|
-
this
|
|
146
|
+
this.updateResult();
|
|
143
147
|
return this.#currentResult;
|
|
144
148
|
});
|
|
145
149
|
}
|
|
@@ -150,37 +154,37 @@ class QueryObserver extends Subscribable {
|
|
|
150
154
|
// Fetch
|
|
151
155
|
let promise = this.#currentQuery.fetch(this.options, fetchOptions);
|
|
152
156
|
if (!fetchOptions?.throwOnError) {
|
|
153
|
-
promise = promise.catch(noop);
|
|
157
|
+
promise = promise.catch(utils.noop);
|
|
154
158
|
}
|
|
155
159
|
return promise;
|
|
156
160
|
}
|
|
157
161
|
#updateStaleTimeout() {
|
|
158
162
|
this.#clearStaleTimeout();
|
|
159
|
-
if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {
|
|
163
|
+
if (utils.isServer || this.#currentResult.isStale || !utils.isValidTimeout(this.options.staleTime)) {
|
|
160
164
|
return;
|
|
161
165
|
}
|
|
162
|
-
const time = timeUntilStale(this.#currentResult.dataUpdatedAt, this.options.staleTime);
|
|
166
|
+
const time = utils.timeUntilStale(this.#currentResult.dataUpdatedAt, this.options.staleTime);
|
|
163
167
|
|
|
164
168
|
// The timeout is sometimes triggered 1 ms before the stale time expiration.
|
|
165
169
|
// To mitigate this issue we always add 1 ms to the timeout.
|
|
166
170
|
const timeout = time + 1;
|
|
167
171
|
this.#staleTimeoutId = setTimeout(() => {
|
|
168
172
|
if (!this.#currentResult.isStale) {
|
|
169
|
-
this
|
|
173
|
+
this.updateResult();
|
|
170
174
|
}
|
|
171
175
|
}, timeout);
|
|
172
176
|
}
|
|
173
177
|
#computeRefetchInterval() {
|
|
174
|
-
return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.#currentResult.data, this.#currentQuery) : this.options.refetchInterval ?? false;
|
|
178
|
+
return (typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.#currentResult.data, this.#currentQuery) : this.options.refetchInterval) ?? false;
|
|
175
179
|
}
|
|
176
180
|
#updateRefetchInterval(nextInterval) {
|
|
177
181
|
this.#clearRefetchInterval();
|
|
178
182
|
this.#currentRefetchInterval = nextInterval;
|
|
179
|
-
if (isServer || this.options.enabled === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {
|
|
183
|
+
if (utils.isServer || this.options.enabled === false || !utils.isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {
|
|
180
184
|
return;
|
|
181
185
|
}
|
|
182
186
|
this.#refetchIntervalId = setInterval(() => {
|
|
183
|
-
if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {
|
|
187
|
+
if (this.options.refetchIntervalInBackground || focusManager.focusManager.isFocused()) {
|
|
184
188
|
this.#executeFetch();
|
|
185
189
|
}
|
|
186
190
|
}, this.#currentRefetchInterval);
|
|
@@ -209,7 +213,6 @@ class QueryObserver extends Subscribable {
|
|
|
209
213
|
const prevResultOptions = this.#currentResultOptions;
|
|
210
214
|
const queryChange = query !== prevQuery;
|
|
211
215
|
const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;
|
|
212
|
-
const prevQueryResult = queryChange ? this.#currentResult : this.#previousQueryResult;
|
|
213
216
|
const {
|
|
214
217
|
state
|
|
215
218
|
} = query;
|
|
@@ -228,7 +231,7 @@ class QueryObserver extends Subscribable {
|
|
|
228
231
|
const fetchOnMount = !mounted && shouldFetchOnMount(query, options);
|
|
229
232
|
const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);
|
|
230
233
|
if (fetchOnMount || fetchOptionally) {
|
|
231
|
-
fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';
|
|
234
|
+
fetchStatus = retryer.canFetch(query.options.networkMode) ? 'fetching' : 'paused';
|
|
232
235
|
if (!state.dataUpdatedAt) {
|
|
233
236
|
status = 'pending';
|
|
234
237
|
}
|
|
@@ -247,7 +250,7 @@ class QueryObserver extends Subscribable {
|
|
|
247
250
|
try {
|
|
248
251
|
this.#selectFn = options.select;
|
|
249
252
|
data = options.select(state.data);
|
|
250
|
-
data = replaceData(prevResult?.data, data, options);
|
|
253
|
+
data = utils.replaceData(prevResult?.data, data, options);
|
|
251
254
|
this.#selectResult = data;
|
|
252
255
|
this.#selectError = null;
|
|
253
256
|
} catch (selectError) {
|
|
@@ -268,7 +271,7 @@ class QueryObserver extends Subscribable {
|
|
|
268
271
|
if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {
|
|
269
272
|
placeholderData = prevResult.data;
|
|
270
273
|
} else {
|
|
271
|
-
placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(
|
|
274
|
+
placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData(this.#lastQueryWithDefinedData?.state.data, this.#lastQueryWithDefinedData) : options.placeholderData;
|
|
272
275
|
if (options.select && typeof placeholderData !== 'undefined') {
|
|
273
276
|
try {
|
|
274
277
|
placeholderData = options.select(placeholderData);
|
|
@@ -280,7 +283,7 @@ class QueryObserver extends Subscribable {
|
|
|
280
283
|
}
|
|
281
284
|
if (typeof placeholderData !== 'undefined') {
|
|
282
285
|
status = 'success';
|
|
283
|
-
data = replaceData(prevResult?.data, placeholderData, options);
|
|
286
|
+
data = utils.replaceData(prevResult?.data, placeholderData, options);
|
|
284
287
|
isPlaceholderData = true;
|
|
285
288
|
}
|
|
286
289
|
}
|
|
@@ -322,16 +325,19 @@ class QueryObserver extends Subscribable {
|
|
|
322
325
|
};
|
|
323
326
|
return result;
|
|
324
327
|
}
|
|
325
|
-
|
|
328
|
+
updateResult(notifyOptions) {
|
|
326
329
|
const prevResult = this.#currentResult;
|
|
327
330
|
const nextResult = this.createResult(this.#currentQuery, this.options);
|
|
328
331
|
this.#currentResultState = this.#currentQuery.state;
|
|
329
332
|
this.#currentResultOptions = this.options;
|
|
330
333
|
|
|
331
334
|
// Only notify and update result if something has changed
|
|
332
|
-
if (shallowEqualObjects(nextResult, prevResult)) {
|
|
335
|
+
if (utils.shallowEqualObjects(nextResult, prevResult)) {
|
|
333
336
|
return;
|
|
334
337
|
}
|
|
338
|
+
if (this.#currentResultState.data !== undefined) {
|
|
339
|
+
this.#lastQueryWithDefinedData = this.#currentQuery;
|
|
340
|
+
}
|
|
335
341
|
this.#currentResult = nextResult;
|
|
336
342
|
|
|
337
343
|
// Determine which callbacks to trigger
|
|
@@ -347,7 +353,7 @@ class QueryObserver extends Subscribable {
|
|
|
347
353
|
return true;
|
|
348
354
|
}
|
|
349
355
|
const includedProps = new Set(notifyOnChangeProps ?? this.#trackedProps);
|
|
350
|
-
if (this.options.
|
|
356
|
+
if (this.options.throwOnError) {
|
|
351
357
|
includedProps.add('error');
|
|
352
358
|
}
|
|
353
359
|
return Object.keys(this.#currentResult).some(key => {
|
|
@@ -372,36 +378,20 @@ class QueryObserver extends Subscribable {
|
|
|
372
378
|
const prevQuery = this.#currentQuery;
|
|
373
379
|
this.#currentQuery = query;
|
|
374
380
|
this.#currentQueryInitialState = query.state;
|
|
375
|
-
this.#previousQueryResult = this.#currentResult;
|
|
376
381
|
if (this.hasListeners()) {
|
|
377
382
|
prevQuery?.removeObserver(this);
|
|
378
383
|
query.addObserver(this);
|
|
379
384
|
}
|
|
380
385
|
}
|
|
381
|
-
onQueryUpdate(
|
|
382
|
-
|
|
383
|
-
if (action.type === 'success') {
|
|
384
|
-
notifyOptions.onSuccess = !action.manual;
|
|
385
|
-
} else if (action.type === 'error' && !isCancelledError(action.error)) {
|
|
386
|
-
notifyOptions.onError = true;
|
|
387
|
-
}
|
|
388
|
-
this.#updateResult(notifyOptions);
|
|
386
|
+
onQueryUpdate() {
|
|
387
|
+
this.updateResult();
|
|
389
388
|
if (this.hasListeners()) {
|
|
390
389
|
this.#updateTimers();
|
|
391
390
|
}
|
|
392
391
|
}
|
|
393
392
|
#notify(notifyOptions) {
|
|
394
|
-
notifyManager.batch(() => {
|
|
395
|
-
// First trigger the
|
|
396
|
-
if (notifyOptions.onSuccess) {
|
|
397
|
-
this.options.onSuccess?.(this.#currentResult.data);
|
|
398
|
-
this.options.onSettled?.(this.#currentResult.data, null);
|
|
399
|
-
} else if (notifyOptions.onError) {
|
|
400
|
-
this.options.onError?.(this.#currentResult.error);
|
|
401
|
-
this.options.onSettled?.(undefined, this.#currentResult.error);
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
// Then trigger the listeners
|
|
393
|
+
notifyManager.notifyManager.batch(() => {
|
|
394
|
+
// First, trigger the listeners
|
|
405
395
|
if (notifyOptions.listeners) {
|
|
406
396
|
this.listeners.forEach(listener => {
|
|
407
397
|
listener(this.#currentResult);
|
|
@@ -436,5 +426,5 @@ function isStale(query, options) {
|
|
|
436
426
|
return query.isStaleByTime(options.staleTime);
|
|
437
427
|
}
|
|
438
428
|
|
|
439
|
-
|
|
440
|
-
//# sourceMappingURL=queryObserver.
|
|
429
|
+
exports.QueryObserver = QueryObserver;
|
|
430
|
+
//# sourceMappingURL=queryObserver.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryObserver.cjs","sources":["../../src/queryObserver.ts"],"sourcesContent":["import type {\n DefaultedQueryObserverOptions,\n DefaultError,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport type { Query, QueryState, FetchOptions } from './query'\nimport type { QueryClient } from './queryClient'\nimport { focusManager } from './focusManager'\nimport { Subscribable } from './subscribable'\nimport { canFetch } from './retryer'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\nexport interface NotifyOptions {\n listeners?: boolean\n}\n\nexport interface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ReturnType<typeof setTimeout>\n #refetchIntervalId?: ReturnType<typeof setInterval>\n #currentRefetchInterval?: number | false\n #trackedProps: Set<keyof QueryObserverResult> = new Set()\n\n constructor(\n client: QueryClient,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.options = options\n this.#selectError = null\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n if (\n typeof this.options.enabled !== 'undefined' &&\n typeof this.options.enabled !== 'boolean'\n ) {\n throw new Error('Expected enabled to be a boolean')\n }\n\n // Keep previous query key if the user does not supply one\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey\n }\n\n this.#updateQuery()\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult(notifyOptions)\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n this.options.staleTime !== prevOptions.staleTime)\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n this.options.enabled !== prevOptions.enabled ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n return this.createResult(query, options)\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n ): QueryObserverResult<TData, TError> {\n const trackedResult = {} as QueryObserverResult<TData, TError>\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n query.isFetchingOptimistic = true\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: ObserverFetchOptions,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n\n if (\n isServer ||\n this.#currentResult.isStale ||\n !isValidTimeout(this.options.staleTime)\n ) {\n return\n }\n\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime,\n )\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(\n this.#currentResult.data,\n this.#currentQuery,\n )\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n this.options.enabled === false ||\n !isValidTimeout(this.#currentRefetchInterval) ||\n this.#currentRefetchInterval === 0\n ) {\n return\n }\n\n this.#refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let { error, errorUpdatedAt, fetchStatus, status } = state\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode)\n ? 'fetching'\n : 'paused'\n if (!state.dataUpdatedAt) {\n status = 'pending'\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle'\n }\n }\n\n // Select data if needed\n if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (\n prevResult &&\n state.data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(state.data)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n // Use query data\n else {\n data = state.data as unknown as TData\n }\n\n // Show placeholder data if needed\n if (\n typeof options.placeholderData !== 'undefined' &&\n typeof data === 'undefined' &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n } else {\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData)\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n if (this.#selectError) {\n error = this.#selectError as any\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount:\n state.dataUpdateCount > queryInitialState.dataUpdateCount ||\n state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n }\n\n return result as QueryObserverResult<TData, TError>\n }\n\n updateResult(notifyOptions?: NotifyOptions): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n this.#currentResult = nextResult\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions: NotifyOptions = {}\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n\n if (\n notifyOnChangeProps === 'all' ||\n (!notifyOnChangeProps && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(notifyOnChangeProps ?? this.#trackedProps)\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n return changed && includedProps.has(typedKey)\n })\n }\n\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true\n }\n\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n !query.state.dataUpdatedAt &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.dataUpdatedAt > 0 &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n options.enabled !== false &&\n (query !== prevQuery || prevOptions.enabled === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return query.isStaleByTime(options.staleTime)\n}\n"],"names":["QueryObserver","Subscribable","undefined","Set","constructor","client","options","bindMethods","setOptions","refetch","bind","onSubscribe","listeners","size","addObserver","shouldFetchOnMount","onUnsubscribe","hasListeners","destroy","shouldFetchOnReconnect","shouldFetchOn","refetchOnReconnect","shouldFetchOnWindowFocus","refetchOnWindowFocus","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","shallowEqualObjects","getQueryCache","notify","type","query","observer","enabled","Error","queryKey","mounted","shouldFetchOptionally","updateResult","staleTime","nextRefetchInterval","getOptimisticResult","build","createResult","getCurrentResult","trackResult","result","trackedResult","Object","keys","forEach","key","defineProperty","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","cancelRefetch","#executeFetch","promise","throwOnError","catch","noop","#updateStaleTimeout","isServer","isStale","isValidTimeout","time","timeUntilStale","dataUpdatedAt","timeout","setTimeout","#computeRefetchInterval","refetchInterval","data","#updateRefetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","#updateTimers","#clearStaleTimeout","clearTimeout","#clearRefetchInterval","clearInterval","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","state","error","errorUpdatedAt","fetchStatus","status","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","select","replaceData","selectError","placeholderData","Date","now","isFetching","isPending","isError","isLoading","isSuccess","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","some","typedKey","changed","has","#updateQuery","onQueryUpdate","#notify","notifyManager","batch","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","value","suspense","isStaleByTime"],"mappings":"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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import type { DefaultedQueryObserverOptions, DefaultError } from './types';
|
|
2
|
-
import type {
|
|
3
|
-
import type { Query, Action, FetchOptions } from './query';
|
|
1
|
+
import type { DefaultedQueryObserverOptions, DefaultError, QueryKey, QueryObserverOptions, QueryObserverResult, RefetchOptions } from './types';
|
|
2
|
+
import type { Query, FetchOptions } from './query';
|
|
4
3
|
import type { QueryClient } from './queryClient';
|
|
5
4
|
import { Subscribable } from './subscribable';
|
|
6
|
-
|
|
5
|
+
type QueryObserverListener<TData, TError> = (result: QueryObserverResult<TData, TError>) => void;
|
|
7
6
|
export interface NotifyOptions {
|
|
8
7
|
listeners?: boolean;
|
|
9
|
-
onError?: boolean;
|
|
10
|
-
onSuccess?: boolean;
|
|
11
8
|
}
|
|
12
9
|
export interface ObserverFetchOptions extends FetchOptions {
|
|
13
10
|
throwOnError?: boolean;
|
|
@@ -31,6 +28,8 @@ export declare class QueryObserver<TQueryFnData = unknown, TError = DefaultError
|
|
|
31
28
|
fetchOptimistic(options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): Promise<QueryObserverResult<TData, TError>>;
|
|
32
29
|
protected fetch(fetchOptions: ObserverFetchOptions): Promise<QueryObserverResult<TData, TError>>;
|
|
33
30
|
protected createResult(query: Query<TQueryFnData, TError, TQueryData, TQueryKey>, options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryObserverResult<TData, TError>;
|
|
34
|
-
|
|
31
|
+
updateResult(notifyOptions?: NotifyOptions): void;
|
|
32
|
+
onQueryUpdate(): void;
|
|
35
33
|
}
|
|
36
34
|
export {};
|
|
35
|
+
//# sourceMappingURL=queryObserver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryObserver.d.ts","sourceRoot":"","sources":["../../src/queryObserver.ts"],"names":[],"mappings":"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"}
|