@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
package/build/lib/query.js
CHANGED
|
@@ -1,108 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var notifyManager = require('./notifyManager.js');
|
|
6
|
-
var retryer = require('./retryer.js');
|
|
7
|
-
var removable = require('./removable.js');
|
|
1
|
+
import { replaceData, noop, timeUntilStale } from './utils.js';
|
|
2
|
+
import { notifyManager } from './notifyManager.js';
|
|
3
|
+
import { createRetryer, isCancelledError, canFetch } from './retryer.js';
|
|
4
|
+
import { Removable } from './removable.js';
|
|
8
5
|
|
|
9
6
|
// TYPES
|
|
10
|
-
|
|
11
|
-
var _revertState = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("revertState");
|
|
12
|
-
var _cache = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("cache");
|
|
13
|
-
var _promise = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("promise");
|
|
14
|
-
var _retryer = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("retryer");
|
|
15
|
-
var _observers = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("observers");
|
|
16
|
-
var _defaultOptions = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("defaultOptions");
|
|
17
|
-
var _abortSignalConsumed = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("abortSignalConsumed");
|
|
18
|
-
var _setOptions = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("setOptions");
|
|
19
|
-
var _dispatch = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("dispatch");
|
|
7
|
+
|
|
20
8
|
// CLASS
|
|
21
9
|
|
|
22
|
-
class Query extends
|
|
10
|
+
class Query extends Removable {
|
|
11
|
+
#initialState;
|
|
12
|
+
#revertState;
|
|
13
|
+
#cache;
|
|
14
|
+
#promise;
|
|
15
|
+
#retryer;
|
|
16
|
+
#observers;
|
|
17
|
+
#defaultOptions;
|
|
18
|
+
#abortSignalConsumed;
|
|
23
19
|
constructor(config) {
|
|
24
20
|
super();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(this, _initialState, {
|
|
32
|
-
writable: true,
|
|
33
|
-
value: void 0
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(this, _revertState, {
|
|
36
|
-
writable: true,
|
|
37
|
-
value: void 0
|
|
38
|
-
});
|
|
39
|
-
Object.defineProperty(this, _cache, {
|
|
40
|
-
writable: true,
|
|
41
|
-
value: void 0
|
|
42
|
-
});
|
|
43
|
-
Object.defineProperty(this, _promise, {
|
|
44
|
-
writable: true,
|
|
45
|
-
value: void 0
|
|
46
|
-
});
|
|
47
|
-
Object.defineProperty(this, _retryer, {
|
|
48
|
-
writable: true,
|
|
49
|
-
value: void 0
|
|
50
|
-
});
|
|
51
|
-
Object.defineProperty(this, _observers, {
|
|
52
|
-
writable: true,
|
|
53
|
-
value: void 0
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(this, _defaultOptions, {
|
|
56
|
-
writable: true,
|
|
57
|
-
value: void 0
|
|
58
|
-
});
|
|
59
|
-
Object.defineProperty(this, _abortSignalConsumed, {
|
|
60
|
-
writable: true,
|
|
61
|
-
value: void 0
|
|
62
|
-
});
|
|
63
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _abortSignalConsumed)[_abortSignalConsumed] = false;
|
|
64
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _defaultOptions)[_defaultOptions] = config.defaultOptions;
|
|
65
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setOptions)[_setOptions](config.options);
|
|
66
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers] = [];
|
|
67
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cache)[_cache] = config.cache;
|
|
21
|
+
this.#abortSignalConsumed = false;
|
|
22
|
+
this.#defaultOptions = config.defaultOptions;
|
|
23
|
+
this.#setOptions(config.options);
|
|
24
|
+
this.#observers = [];
|
|
25
|
+
this.#cache = config.cache;
|
|
68
26
|
this.queryKey = config.queryKey;
|
|
69
27
|
this.queryHash = config.queryHash;
|
|
70
|
-
|
|
71
|
-
this.state =
|
|
28
|
+
this.#initialState = config.state || getDefaultState(this.options);
|
|
29
|
+
this.state = this.#initialState;
|
|
72
30
|
this.scheduleGc();
|
|
73
31
|
}
|
|
74
32
|
get meta() {
|
|
75
33
|
return this.options.meta;
|
|
76
34
|
}
|
|
35
|
+
#setOptions(options) {
|
|
36
|
+
this.options = {
|
|
37
|
+
...this.#defaultOptions,
|
|
38
|
+
...options
|
|
39
|
+
};
|
|
40
|
+
this.updateGcTime(this.options.gcTime);
|
|
41
|
+
}
|
|
77
42
|
optionalRemove() {
|
|
78
|
-
if (!
|
|
79
|
-
|
|
43
|
+
if (!this.#observers.length && this.state.fetchStatus === 'idle') {
|
|
44
|
+
this.#cache.remove(this);
|
|
80
45
|
}
|
|
81
46
|
}
|
|
82
47
|
setData(newData, options) {
|
|
83
|
-
const data =
|
|
48
|
+
const data = replaceData(this.state.data, newData, this.options);
|
|
84
49
|
|
|
85
50
|
// Set data and mark it as cached
|
|
86
|
-
|
|
51
|
+
this.#dispatch({
|
|
87
52
|
data,
|
|
88
53
|
type: 'success',
|
|
89
|
-
dataUpdatedAt: options
|
|
90
|
-
manual: options
|
|
54
|
+
dataUpdatedAt: options?.updatedAt,
|
|
55
|
+
manual: options?.manual
|
|
91
56
|
});
|
|
92
57
|
return data;
|
|
93
58
|
}
|
|
94
59
|
setState(state, setStateOptions) {
|
|
95
|
-
|
|
60
|
+
this.#dispatch({
|
|
96
61
|
type: 'setState',
|
|
97
62
|
state,
|
|
98
63
|
setStateOptions
|
|
99
64
|
});
|
|
100
65
|
}
|
|
101
66
|
cancel(options) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return promise ? promise.then(utils.noop).catch(utils.noop) : Promise.resolve();
|
|
67
|
+
const promise = this.#promise;
|
|
68
|
+
this.#retryer?.cancel(options);
|
|
69
|
+
return promise ? promise.then(noop).catch(noop) : Promise.resolve();
|
|
106
70
|
}
|
|
107
71
|
destroy() {
|
|
108
72
|
super.destroy();
|
|
@@ -112,47 +76,45 @@ class Query extends removable.Removable {
|
|
|
112
76
|
}
|
|
113
77
|
reset() {
|
|
114
78
|
this.destroy();
|
|
115
|
-
this.setState(
|
|
79
|
+
this.setState(this.#initialState);
|
|
116
80
|
}
|
|
117
81
|
isActive() {
|
|
118
|
-
return
|
|
82
|
+
return this.#observers.some(observer => observer.options.enabled !== false);
|
|
119
83
|
}
|
|
120
84
|
isDisabled() {
|
|
121
85
|
return this.getObserversCount() > 0 && !this.isActive();
|
|
122
86
|
}
|
|
123
87
|
isStale() {
|
|
124
|
-
return this.state.isInvalidated || !this.state.dataUpdatedAt ||
|
|
88
|
+
return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some(observer => observer.getCurrentResult().isStale);
|
|
125
89
|
}
|
|
126
90
|
isStaleByTime(staleTime = 0) {
|
|
127
|
-
return this.state.isInvalidated || !this.state.dataUpdatedAt || !
|
|
91
|
+
return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);
|
|
128
92
|
}
|
|
129
93
|
onFocus() {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
observer == null ? void 0 : observer.refetch({
|
|
94
|
+
const observer = this.#observers.find(x => x.shouldFetchOnWindowFocus());
|
|
95
|
+
observer?.refetch({
|
|
133
96
|
cancelRefetch: false
|
|
134
97
|
});
|
|
135
98
|
|
|
136
99
|
// Continue fetch if currently paused
|
|
137
|
-
|
|
100
|
+
this.#retryer?.continue();
|
|
138
101
|
}
|
|
139
102
|
onOnline() {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
observer == null ? void 0 : observer.refetch({
|
|
103
|
+
const observer = this.#observers.find(x => x.shouldFetchOnReconnect());
|
|
104
|
+
observer?.refetch({
|
|
143
105
|
cancelRefetch: false
|
|
144
106
|
});
|
|
145
107
|
|
|
146
108
|
// Continue fetch if currently paused
|
|
147
|
-
|
|
109
|
+
this.#retryer?.continue();
|
|
148
110
|
}
|
|
149
111
|
addObserver(observer) {
|
|
150
|
-
if (
|
|
151
|
-
|
|
112
|
+
if (!this.#observers.includes(observer)) {
|
|
113
|
+
this.#observers.push(observer);
|
|
152
114
|
|
|
153
115
|
// Stop the query from being garbage collected
|
|
154
116
|
this.clearGcTimeout();
|
|
155
|
-
|
|
117
|
+
this.#cache.notify({
|
|
156
118
|
type: 'observerAdded',
|
|
157
119
|
query: this,
|
|
158
120
|
observer
|
|
@@ -160,23 +122,23 @@ class Query extends removable.Removable {
|
|
|
160
122
|
}
|
|
161
123
|
}
|
|
162
124
|
removeObserver(observer) {
|
|
163
|
-
if (
|
|
164
|
-
|
|
165
|
-
if (!
|
|
125
|
+
if (this.#observers.includes(observer)) {
|
|
126
|
+
this.#observers = this.#observers.filter(x => x !== observer);
|
|
127
|
+
if (!this.#observers.length) {
|
|
166
128
|
// If the transport layer does not support cancellation
|
|
167
129
|
// we'll let the query continue so the result can be cached
|
|
168
|
-
if (
|
|
169
|
-
if (
|
|
170
|
-
|
|
130
|
+
if (this.#retryer) {
|
|
131
|
+
if (this.#abortSignalConsumed) {
|
|
132
|
+
this.#retryer.cancel({
|
|
171
133
|
revert: true
|
|
172
134
|
});
|
|
173
135
|
} else {
|
|
174
|
-
|
|
136
|
+
this.#retryer.cancelRetry();
|
|
175
137
|
}
|
|
176
138
|
}
|
|
177
139
|
this.scheduleGc();
|
|
178
140
|
}
|
|
179
|
-
|
|
141
|
+
this.#cache.notify({
|
|
180
142
|
type: 'observerRemoved',
|
|
181
143
|
query: this,
|
|
182
144
|
observer
|
|
@@ -184,43 +146,41 @@ class Query extends removable.Removable {
|
|
|
184
146
|
}
|
|
185
147
|
}
|
|
186
148
|
getObserversCount() {
|
|
187
|
-
return
|
|
149
|
+
return this.#observers.length;
|
|
188
150
|
}
|
|
189
151
|
invalidate() {
|
|
190
152
|
if (!this.state.isInvalidated) {
|
|
191
|
-
|
|
153
|
+
this.#dispatch({
|
|
192
154
|
type: 'invalidate'
|
|
193
155
|
});
|
|
194
156
|
}
|
|
195
157
|
}
|
|
196
158
|
fetch(options, fetchOptions) {
|
|
197
|
-
var _this$options$behavio, _context$fetchOptions;
|
|
198
159
|
if (this.state.fetchStatus !== 'idle') {
|
|
199
|
-
if (this.state.dataUpdatedAt && fetchOptions
|
|
160
|
+
if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {
|
|
200
161
|
// Silently cancel current fetch if the user wants to cancel refetches
|
|
201
162
|
this.cancel({
|
|
202
163
|
silent: true
|
|
203
164
|
});
|
|
204
|
-
} else if (
|
|
205
|
-
var _classPrivateFieldLoo4;
|
|
165
|
+
} else if (this.#promise) {
|
|
206
166
|
// make sure that retries that were potentially cancelled due to unmounts can continue
|
|
207
|
-
|
|
167
|
+
this.#retryer?.continueRetry();
|
|
208
168
|
// Return current promise if we are already fetching
|
|
209
|
-
return
|
|
169
|
+
return this.#promise;
|
|
210
170
|
}
|
|
211
171
|
}
|
|
212
172
|
|
|
213
173
|
// Update config if passed, otherwise the config from the last execution is used
|
|
214
174
|
if (options) {
|
|
215
|
-
|
|
175
|
+
this.#setOptions(options);
|
|
216
176
|
}
|
|
217
177
|
|
|
218
178
|
// Use the options from the first observer with a query function if no function is found.
|
|
219
179
|
// This can happen when the query is hydrated or created with setQueryData.
|
|
220
180
|
if (!this.options.queryFn) {
|
|
221
|
-
const observer =
|
|
181
|
+
const observer = this.#observers.find(x => x.options.queryFn);
|
|
222
182
|
if (observer) {
|
|
223
|
-
|
|
183
|
+
this.#setOptions(observer.options);
|
|
224
184
|
}
|
|
225
185
|
}
|
|
226
186
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -243,7 +203,7 @@ class Query extends removable.Removable {
|
|
|
243
203
|
Object.defineProperty(object, 'signal', {
|
|
244
204
|
enumerable: true,
|
|
245
205
|
get: () => {
|
|
246
|
-
|
|
206
|
+
this.#abortSignalConsumed = true;
|
|
247
207
|
return abortController.signal;
|
|
248
208
|
}
|
|
249
209
|
});
|
|
@@ -255,7 +215,7 @@ class Query extends removable.Removable {
|
|
|
255
215
|
if (!this.options.queryFn) {
|
|
256
216
|
return Promise.reject(new Error('Missing queryFn'));
|
|
257
217
|
}
|
|
258
|
-
|
|
218
|
+
this.#abortSignalConsumed = false;
|
|
259
219
|
return this.options.queryFn(queryFnContext);
|
|
260
220
|
};
|
|
261
221
|
|
|
@@ -268,32 +228,30 @@ class Query extends removable.Removable {
|
|
|
268
228
|
fetchFn
|
|
269
229
|
};
|
|
270
230
|
addSignalProperty(context);
|
|
271
|
-
|
|
231
|
+
this.options.behavior?.onFetch(context);
|
|
272
232
|
|
|
273
233
|
// Store state in case the current fetch needs to be reverted
|
|
274
|
-
|
|
234
|
+
this.#revertState = this.state;
|
|
275
235
|
|
|
276
236
|
// Set to fetching state if not already in it
|
|
277
|
-
if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !==
|
|
278
|
-
|
|
279
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _dispatch)[_dispatch]({
|
|
237
|
+
if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== context.fetchOptions?.meta) {
|
|
238
|
+
this.#dispatch({
|
|
280
239
|
type: 'fetch',
|
|
281
|
-
meta:
|
|
240
|
+
meta: context.fetchOptions?.meta
|
|
282
241
|
});
|
|
283
242
|
}
|
|
284
243
|
const onError = error => {
|
|
285
244
|
// Optimistically update state if needed
|
|
286
|
-
if (!(
|
|
287
|
-
|
|
245
|
+
if (!(isCancelledError(error) && error.silent)) {
|
|
246
|
+
this.#dispatch({
|
|
288
247
|
type: 'error',
|
|
289
248
|
error: error
|
|
290
249
|
});
|
|
291
250
|
}
|
|
292
|
-
if (!
|
|
293
|
-
var _classPrivateFieldLoo5, _classPrivateFieldLoo6, _classPrivateFieldLoo7, _classPrivateFieldLoo8;
|
|
251
|
+
if (!isCancelledError(error)) {
|
|
294
252
|
// Notify cache callback
|
|
295
|
-
|
|
296
|
-
|
|
253
|
+
this.#cache.config.onError?.(error, this);
|
|
254
|
+
this.#cache.config.onSettled?.(this.state.data, error, this);
|
|
297
255
|
}
|
|
298
256
|
if (!this.isFetchingOptimistic) {
|
|
299
257
|
// Schedule query gc after fetching
|
|
@@ -303,23 +261,22 @@ class Query extends removable.Removable {
|
|
|
303
261
|
};
|
|
304
262
|
|
|
305
263
|
// Try to fetch the data
|
|
306
|
-
|
|
264
|
+
this.#retryer = createRetryer({
|
|
307
265
|
fn: context.fetchFn,
|
|
308
266
|
abort: abortController.abort.bind(abortController),
|
|
309
267
|
onSuccess: data => {
|
|
310
|
-
var _classPrivateFieldLoo9, _classPrivateFieldLoo10, _classPrivateFieldLoo11, _classPrivateFieldLoo12;
|
|
311
268
|
if (typeof data === 'undefined') {
|
|
312
269
|
if (process.env.NODE_ENV !== 'production') {
|
|
313
270
|
console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`);
|
|
314
271
|
}
|
|
315
|
-
onError(new Error(
|
|
272
|
+
onError(new Error(`${this.queryHash} data is undefined`));
|
|
316
273
|
return;
|
|
317
274
|
}
|
|
318
275
|
this.setData(data);
|
|
319
276
|
|
|
320
277
|
// Notify cache callback
|
|
321
|
-
|
|
322
|
-
|
|
278
|
+
this.#cache.config.onSuccess?.(data, this);
|
|
279
|
+
this.#cache.config.onSettled?.(data, this.state.error, this);
|
|
323
280
|
if (!this.isFetchingOptimistic) {
|
|
324
281
|
// Schedule query gc after fetching
|
|
325
282
|
this.scheduleGc();
|
|
@@ -328,19 +285,19 @@ class Query extends removable.Removable {
|
|
|
328
285
|
},
|
|
329
286
|
onError,
|
|
330
287
|
onFail: (failureCount, error) => {
|
|
331
|
-
|
|
288
|
+
this.#dispatch({
|
|
332
289
|
type: 'failed',
|
|
333
290
|
failureCount,
|
|
334
291
|
error
|
|
335
292
|
});
|
|
336
293
|
},
|
|
337
294
|
onPause: () => {
|
|
338
|
-
|
|
295
|
+
this.#dispatch({
|
|
339
296
|
type: 'pause'
|
|
340
297
|
});
|
|
341
298
|
},
|
|
342
299
|
onContinue: () => {
|
|
343
|
-
|
|
300
|
+
this.#dispatch({
|
|
344
301
|
type: 'continue'
|
|
345
302
|
});
|
|
346
303
|
},
|
|
@@ -348,104 +305,96 @@ class Query extends removable.Removable {
|
|
|
348
305
|
retryDelay: context.options.retryDelay,
|
|
349
306
|
networkMode: context.options.networkMode
|
|
350
307
|
});
|
|
351
|
-
|
|
352
|
-
return
|
|
308
|
+
this.#promise = this.#retryer.promise;
|
|
309
|
+
return this.#promise;
|
|
353
310
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
311
|
+
#dispatch(action) {
|
|
312
|
+
const reducer = state => {
|
|
313
|
+
switch (action.type) {
|
|
314
|
+
case 'failed':
|
|
315
|
+
return {
|
|
316
|
+
...state,
|
|
317
|
+
fetchFailureCount: action.failureCount,
|
|
318
|
+
fetchFailureReason: action.error
|
|
319
|
+
};
|
|
320
|
+
case 'pause':
|
|
321
|
+
return {
|
|
322
|
+
...state,
|
|
323
|
+
fetchStatus: 'paused'
|
|
324
|
+
};
|
|
325
|
+
case 'continue':
|
|
326
|
+
return {
|
|
327
|
+
...state,
|
|
328
|
+
fetchStatus: 'fetching'
|
|
329
|
+
};
|
|
330
|
+
case 'fetch':
|
|
331
|
+
return {
|
|
332
|
+
...state,
|
|
333
|
+
fetchFailureCount: 0,
|
|
334
|
+
fetchFailureReason: null,
|
|
335
|
+
fetchMeta: action.meta ?? null,
|
|
336
|
+
fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',
|
|
337
|
+
...(!state.dataUpdatedAt && {
|
|
338
|
+
error: null,
|
|
339
|
+
status: 'pending'
|
|
340
|
+
})
|
|
341
|
+
};
|
|
342
|
+
case 'success':
|
|
343
|
+
return {
|
|
344
|
+
...state,
|
|
345
|
+
data: action.data,
|
|
346
|
+
dataUpdateCount: state.dataUpdateCount + 1,
|
|
347
|
+
dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),
|
|
390
348
|
error: null,
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
error
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
349
|
+
isInvalidated: false,
|
|
350
|
+
status: 'success',
|
|
351
|
+
...(!action.manual && {
|
|
352
|
+
fetchStatus: 'idle',
|
|
353
|
+
fetchFailureCount: 0,
|
|
354
|
+
fetchFailureReason: null
|
|
355
|
+
})
|
|
356
|
+
};
|
|
357
|
+
case 'error':
|
|
358
|
+
const error = action.error;
|
|
359
|
+
if (isCancelledError(error) && error.revert && this.#revertState) {
|
|
360
|
+
return {
|
|
361
|
+
...this.#revertState
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
return {
|
|
365
|
+
...state,
|
|
366
|
+
error: error,
|
|
367
|
+
errorUpdateCount: state.errorUpdateCount + 1,
|
|
368
|
+
errorUpdatedAt: Date.now(),
|
|
369
|
+
fetchFailureCount: state.fetchFailureCount + 1,
|
|
370
|
+
fetchFailureReason: error,
|
|
404
371
|
fetchStatus: 'idle',
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
};
|
|
409
|
-
case 'error':
|
|
410
|
-
const error = action.error;
|
|
411
|
-
if (retryer.isCancelledError(error) && error.revert && _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _revertState)[_revertState]) {
|
|
372
|
+
status: 'error'
|
|
373
|
+
};
|
|
374
|
+
case 'invalidate':
|
|
412
375
|
return {
|
|
413
|
-
...
|
|
376
|
+
...state,
|
|
377
|
+
isInvalidated: true
|
|
414
378
|
};
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
return {
|
|
433
|
-
...state,
|
|
434
|
-
...action.state
|
|
435
|
-
};
|
|
436
|
-
}
|
|
437
|
-
};
|
|
438
|
-
this.state = reducer(this.state);
|
|
439
|
-
notifyManager.notifyManager.batch(() => {
|
|
440
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _observers)[_observers].forEach(observer => {
|
|
441
|
-
observer.onQueryUpdate(action);
|
|
442
|
-
});
|
|
443
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cache)[_cache].notify({
|
|
444
|
-
query: this,
|
|
445
|
-
type: 'updated',
|
|
446
|
-
action
|
|
379
|
+
case 'setState':
|
|
380
|
+
return {
|
|
381
|
+
...state,
|
|
382
|
+
...action.state
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
this.state = reducer(this.state);
|
|
387
|
+
notifyManager.batch(() => {
|
|
388
|
+
this.#observers.forEach(observer => {
|
|
389
|
+
observer.onQueryUpdate();
|
|
390
|
+
});
|
|
391
|
+
this.#cache.notify({
|
|
392
|
+
query: this,
|
|
393
|
+
type: 'updated',
|
|
394
|
+
action
|
|
395
|
+
});
|
|
447
396
|
});
|
|
448
|
-
}
|
|
397
|
+
}
|
|
449
398
|
}
|
|
450
399
|
function getDefaultState(options) {
|
|
451
400
|
const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;
|
|
@@ -454,7 +403,7 @@ function getDefaultState(options) {
|
|
|
454
403
|
return {
|
|
455
404
|
data,
|
|
456
405
|
dataUpdateCount: 0,
|
|
457
|
-
dataUpdatedAt: hasData ? initialDataUpdatedAt
|
|
406
|
+
dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,
|
|
458
407
|
error: null,
|
|
459
408
|
errorUpdateCount: 0,
|
|
460
409
|
errorUpdatedAt: 0,
|
|
@@ -467,5 +416,5 @@ function getDefaultState(options) {
|
|
|
467
416
|
};
|
|
468
417
|
}
|
|
469
418
|
|
|
470
|
-
|
|
419
|
+
export { Query };
|
|
471
420
|
//# sourceMappingURL=query.js.map
|