@tanstack/query-core 5.0.0-alpha.7 → 5.0.0-alpha.70
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 -2
- 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} +15 -18
- package/build/lib/infiniteQueryBehavior.cjs.map +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts +2 -1
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.js +14 -26
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.legacy.cjs +125 -0
- package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -0
- package/build/lib/{infiniteQueryBehavior.esm.js → infiniteQueryBehavior.legacy.js} +10 -16
- 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.cjs.map +1 -0
- package/build/lib/notifyManager.d.ts +7 -5
- 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} +23 -21
- 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 +174 -225
- 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} +11 -11
- 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} +29 -26
- 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 +1 -0
- 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 +42 -48
- 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 -3
- package/src/infiniteQueryBehavior.ts +16 -18
- package/src/mutation.ts +1 -1
- package/src/mutationCache.ts +4 -4
- package/src/mutationObserver.ts +1 -1
- package/src/notifyManager.ts +7 -3
- package/src/onlineManager.ts +8 -4
- package/src/queriesObserver.ts +75 -25
- package/src/query.ts +7 -5
- package/src/queryCache.ts +6 -9
- package/src/queryClient.ts +23 -21
- package/src/queryObserver.ts +47 -55
- package/src/subscribable.ts +5 -5
- package/src/tests/hydration.test.tsx +7 -3
- package/src/tests/infiniteQueryBehavior.test.tsx +5 -2
- package/src/tests/notifyManager.test.tsx +15 -0
- package/src/tests/query.test.tsx +4 -2
- package/src/tests/queryCache.test.tsx +1 -19
- package/src/tests/queryClient.test.tsx +79 -3
- package/src/tests/queryObserver.test.tsx +121 -0
- package/src/types.ts +31 -30
- 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/infiniteQueryBehavior.mjs.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/notifyManager.mjs.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,9 +1,9 @@
|
|
|
1
|
-
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.
|
|
2
|
-
import { shallowEqualObjects, replaceData, noop, isServer, isValidTimeout, timeUntilStale } from './utils.
|
|
3
|
-
import { notifyManager } from './notifyManager.
|
|
4
|
-
import { focusManager } from './focusManager.
|
|
5
|
-
import { Subscribable } from './subscribable.
|
|
6
|
-
import { canFetch
|
|
1
|
+
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
|
|
2
|
+
import { shallowEqualObjects, replaceData, noop, isServer, isValidTimeout, timeUntilStale } from './utils.legacy.js';
|
|
3
|
+
import { notifyManager } from './notifyManager.legacy.js';
|
|
4
|
+
import { focusManager } from './focusManager.legacy.js';
|
|
5
|
+
import { Subscribable } from './subscribable.legacy.js';
|
|
6
|
+
import { canFetch } from './retryer.legacy.js';
|
|
7
7
|
|
|
8
8
|
var _client = /*#__PURE__*/_classPrivateFieldLooseKey("client");
|
|
9
9
|
var _currentQuery = /*#__PURE__*/_classPrivateFieldLooseKey("currentQuery");
|
|
@@ -11,10 +11,10 @@ var _currentQueryInitialState = /*#__PURE__*/_classPrivateFieldLooseKey("current
|
|
|
11
11
|
var _currentResult = /*#__PURE__*/_classPrivateFieldLooseKey("currentResult");
|
|
12
12
|
var _currentResultState = /*#__PURE__*/_classPrivateFieldLooseKey("currentResultState");
|
|
13
13
|
var _currentResultOptions = /*#__PURE__*/_classPrivateFieldLooseKey("currentResultOptions");
|
|
14
|
-
var _previousQueryResult = /*#__PURE__*/_classPrivateFieldLooseKey("previousQueryResult");
|
|
15
14
|
var _selectError = /*#__PURE__*/_classPrivateFieldLooseKey("selectError");
|
|
16
15
|
var _selectFn = /*#__PURE__*/_classPrivateFieldLooseKey("selectFn");
|
|
17
16
|
var _selectResult = /*#__PURE__*/_classPrivateFieldLooseKey("selectResult");
|
|
17
|
+
var _lastQueryWithDefinedData = /*#__PURE__*/_classPrivateFieldLooseKey("lastQueryWithDefinedData");
|
|
18
18
|
var _staleTimeoutId = /*#__PURE__*/_classPrivateFieldLooseKey("staleTimeoutId");
|
|
19
19
|
var _refetchIntervalId = /*#__PURE__*/_classPrivateFieldLooseKey("refetchIntervalId");
|
|
20
20
|
var _currentRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("currentRefetchInterval");
|
|
@@ -26,7 +26,6 @@ var _updateRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("updateRefe
|
|
|
26
26
|
var _updateTimers = /*#__PURE__*/_classPrivateFieldLooseKey("updateTimers");
|
|
27
27
|
var _clearStaleTimeout = /*#__PURE__*/_classPrivateFieldLooseKey("clearStaleTimeout");
|
|
28
28
|
var _clearRefetchInterval = /*#__PURE__*/_classPrivateFieldLooseKey("clearRefetchInterval");
|
|
29
|
-
var _updateResult = /*#__PURE__*/_classPrivateFieldLooseKey("updateResult");
|
|
30
29
|
var _updateQuery = /*#__PURE__*/_classPrivateFieldLooseKey("updateQuery");
|
|
31
30
|
var _notify = /*#__PURE__*/_classPrivateFieldLooseKey("notify");
|
|
32
31
|
class QueryObserver extends Subscribable {
|
|
@@ -38,9 +37,6 @@ class QueryObserver extends Subscribable {
|
|
|
38
37
|
Object.defineProperty(this, _updateQuery, {
|
|
39
38
|
value: _updateQuery2
|
|
40
39
|
});
|
|
41
|
-
Object.defineProperty(this, _updateResult, {
|
|
42
|
-
value: _updateResult2
|
|
43
|
-
});
|
|
44
40
|
Object.defineProperty(this, _clearRefetchInterval, {
|
|
45
41
|
value: _clearRefetchInterval2
|
|
46
42
|
});
|
|
@@ -86,10 +82,6 @@ class QueryObserver extends Subscribable {
|
|
|
86
82
|
writable: true,
|
|
87
83
|
value: void 0
|
|
88
84
|
});
|
|
89
|
-
Object.defineProperty(this, _previousQueryResult, {
|
|
90
|
-
writable: true,
|
|
91
|
-
value: void 0
|
|
92
|
-
});
|
|
93
85
|
Object.defineProperty(this, _selectError, {
|
|
94
86
|
writable: true,
|
|
95
87
|
value: void 0
|
|
@@ -102,6 +94,12 @@ class QueryObserver extends Subscribable {
|
|
|
102
94
|
writable: true,
|
|
103
95
|
value: void 0
|
|
104
96
|
});
|
|
97
|
+
// This property keeps track of the last query with defined data.
|
|
98
|
+
// It will be used to pass the previous data and query to the placeholder function between renders.
|
|
99
|
+
Object.defineProperty(this, _lastQueryWithDefinedData, {
|
|
100
|
+
writable: true,
|
|
101
|
+
value: void 0
|
|
102
|
+
});
|
|
105
103
|
Object.defineProperty(this, _staleTimeoutId, {
|
|
106
104
|
writable: true,
|
|
107
105
|
value: void 0
|
|
@@ -128,7 +126,7 @@ class QueryObserver extends Subscribable {
|
|
|
128
126
|
this.refetch = this.refetch.bind(this);
|
|
129
127
|
}
|
|
130
128
|
onSubscribe() {
|
|
131
|
-
if (this.listeners.
|
|
129
|
+
if (this.listeners.size === 1) {
|
|
132
130
|
_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].addObserver(this);
|
|
133
131
|
if (shouldFetchOnMount(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options)) {
|
|
134
132
|
_classPrivateFieldLooseBase(this, _executeFetch)[_executeFetch]();
|
|
@@ -137,7 +135,7 @@ class QueryObserver extends Subscribable {
|
|
|
137
135
|
}
|
|
138
136
|
}
|
|
139
137
|
onUnsubscribe() {
|
|
140
|
-
if (!this.
|
|
138
|
+
if (!this.hasListeners()) {
|
|
141
139
|
this.destroy();
|
|
142
140
|
}
|
|
143
141
|
}
|
|
@@ -148,7 +146,7 @@ class QueryObserver extends Subscribable {
|
|
|
148
146
|
return shouldFetchOn(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options, this.options.refetchOnWindowFocus);
|
|
149
147
|
}
|
|
150
148
|
destroy() {
|
|
151
|
-
this.listeners =
|
|
149
|
+
this.listeners = new Set();
|
|
152
150
|
_classPrivateFieldLooseBase(this, _clearStaleTimeout)[_clearStaleTimeout]();
|
|
153
151
|
_classPrivateFieldLooseBase(this, _clearRefetchInterval)[_clearRefetchInterval]();
|
|
154
152
|
_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].removeObserver(this);
|
|
@@ -181,7 +179,7 @@ class QueryObserver extends Subscribable {
|
|
|
181
179
|
}
|
|
182
180
|
|
|
183
181
|
// Update result
|
|
184
|
-
|
|
182
|
+
this.updateResult(notifyOptions);
|
|
185
183
|
|
|
186
184
|
// Update stale interval if needed
|
|
187
185
|
if (mounted && (_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery] !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {
|
|
@@ -237,7 +235,7 @@ class QueryObserver extends Subscribable {
|
|
|
237
235
|
...fetchOptions,
|
|
238
236
|
cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true
|
|
239
237
|
}).then(() => {
|
|
240
|
-
|
|
238
|
+
this.updateResult();
|
|
241
239
|
return _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
242
240
|
});
|
|
243
241
|
}
|
|
@@ -249,7 +247,6 @@ class QueryObserver extends Subscribable {
|
|
|
249
247
|
const prevResultOptions = _classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions];
|
|
250
248
|
const queryChange = query !== prevQuery;
|
|
251
249
|
const queryInitialState = queryChange ? query.state : _classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState];
|
|
252
|
-
const prevQueryResult = queryChange ? _classPrivateFieldLooseBase(this, _currentResult)[_currentResult] : _classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult];
|
|
253
250
|
const {
|
|
254
251
|
state
|
|
255
252
|
} = query;
|
|
@@ -308,7 +305,8 @@ class QueryObserver extends Subscribable {
|
|
|
308
305
|
if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {
|
|
309
306
|
placeholderData = prevResult.data;
|
|
310
307
|
} else {
|
|
311
|
-
|
|
308
|
+
var _classPrivateFieldLoo;
|
|
309
|
+
placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData((_classPrivateFieldLoo = _classPrivateFieldLooseBase(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]) == null ? void 0 : _classPrivateFieldLoo.state.data, _classPrivateFieldLooseBase(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]) : options.placeholderData;
|
|
312
310
|
if (options.select && typeof placeholderData !== 'undefined') {
|
|
313
311
|
try {
|
|
314
312
|
placeholderData = options.select(placeholderData);
|
|
@@ -362,14 +360,53 @@ class QueryObserver extends Subscribable {
|
|
|
362
360
|
};
|
|
363
361
|
return result;
|
|
364
362
|
}
|
|
365
|
-
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
363
|
+
updateResult(notifyOptions) {
|
|
364
|
+
const prevResult = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
365
|
+
const nextResult = this.createResult(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options);
|
|
366
|
+
_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].state;
|
|
367
|
+
_classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions] = this.options;
|
|
368
|
+
|
|
369
|
+
// Only notify and update result if something has changed
|
|
370
|
+
if (shallowEqualObjects(nextResult, prevResult)) {
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
if (_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState].data !== undefined) {
|
|
374
|
+
_classPrivateFieldLooseBase(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery];
|
|
375
|
+
}
|
|
376
|
+
_classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = nextResult;
|
|
377
|
+
|
|
378
|
+
// Determine which callbacks to trigger
|
|
379
|
+
const defaultNotifyOptions = {};
|
|
380
|
+
const shouldNotifyListeners = () => {
|
|
381
|
+
if (!prevResult) {
|
|
382
|
+
return true;
|
|
383
|
+
}
|
|
384
|
+
const {
|
|
385
|
+
notifyOnChangeProps
|
|
386
|
+
} = this.options;
|
|
387
|
+
if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !_classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps].size) {
|
|
388
|
+
return true;
|
|
389
|
+
}
|
|
390
|
+
const includedProps = new Set(notifyOnChangeProps != null ? notifyOnChangeProps : _classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps]);
|
|
391
|
+
if (this.options.throwOnError) {
|
|
392
|
+
includedProps.add('error');
|
|
393
|
+
}
|
|
394
|
+
return Object.keys(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult]).some(key => {
|
|
395
|
+
const typedKey = key;
|
|
396
|
+
const changed = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult][typedKey] !== prevResult[typedKey];
|
|
397
|
+
return changed && includedProps.has(typedKey);
|
|
398
|
+
});
|
|
399
|
+
};
|
|
400
|
+
if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {
|
|
401
|
+
defaultNotifyOptions.listeners = true;
|
|
371
402
|
}
|
|
372
|
-
_classPrivateFieldLooseBase(this,
|
|
403
|
+
_classPrivateFieldLooseBase(this, _notify)[_notify]({
|
|
404
|
+
...defaultNotifyOptions,
|
|
405
|
+
...notifyOptions
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
onQueryUpdate() {
|
|
409
|
+
this.updateResult();
|
|
373
410
|
if (this.hasListeners()) {
|
|
374
411
|
_classPrivateFieldLooseBase(this, _updateTimers)[_updateTimers]();
|
|
375
412
|
}
|
|
@@ -398,13 +435,13 @@ function _updateStaleTimeout2() {
|
|
|
398
435
|
const timeout = time + 1;
|
|
399
436
|
_classPrivateFieldLooseBase(this, _staleTimeoutId)[_staleTimeoutId] = setTimeout(() => {
|
|
400
437
|
if (!_classPrivateFieldLooseBase(this, _currentResult)[_currentResult].isStale) {
|
|
401
|
-
|
|
438
|
+
this.updateResult();
|
|
402
439
|
}
|
|
403
440
|
}, timeout);
|
|
404
441
|
}
|
|
405
442
|
function _computeRefetchInterval2() {
|
|
406
|
-
var
|
|
407
|
-
return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data, _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery]) :
|
|
443
|
+
var _ref;
|
|
444
|
+
return (_ref = typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data, _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery]) : this.options.refetchInterval) != null ? _ref : false;
|
|
408
445
|
}
|
|
409
446
|
function _updateRefetchInterval2(nextInterval) {
|
|
410
447
|
_classPrivateFieldLooseBase(this, _clearRefetchInterval)[_clearRefetchInterval]();
|
|
@@ -434,48 +471,6 @@ function _clearRefetchInterval2() {
|
|
|
434
471
|
_classPrivateFieldLooseBase(this, _refetchIntervalId)[_refetchIntervalId] = undefined;
|
|
435
472
|
}
|
|
436
473
|
}
|
|
437
|
-
function _updateResult2(notifyOptions) {
|
|
438
|
-
const prevResult = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
439
|
-
const nextResult = this.createResult(_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery], this.options);
|
|
440
|
-
_classPrivateFieldLooseBase(this, _currentResultState)[_currentResultState] = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery].state;
|
|
441
|
-
_classPrivateFieldLooseBase(this, _currentResultOptions)[_currentResultOptions] = this.options;
|
|
442
|
-
|
|
443
|
-
// Only notify and update result if something has changed
|
|
444
|
-
if (shallowEqualObjects(nextResult, prevResult)) {
|
|
445
|
-
return;
|
|
446
|
-
}
|
|
447
|
-
_classPrivateFieldLooseBase(this, _currentResult)[_currentResult] = nextResult;
|
|
448
|
-
|
|
449
|
-
// Determine which callbacks to trigger
|
|
450
|
-
const defaultNotifyOptions = {};
|
|
451
|
-
const shouldNotifyListeners = () => {
|
|
452
|
-
if (!prevResult) {
|
|
453
|
-
return true;
|
|
454
|
-
}
|
|
455
|
-
const {
|
|
456
|
-
notifyOnChangeProps
|
|
457
|
-
} = this.options;
|
|
458
|
-
if (notifyOnChangeProps === 'all' || !notifyOnChangeProps && !_classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps].size) {
|
|
459
|
-
return true;
|
|
460
|
-
}
|
|
461
|
-
const includedProps = new Set(notifyOnChangeProps != null ? notifyOnChangeProps : _classPrivateFieldLooseBase(this, _trackedProps)[_trackedProps]);
|
|
462
|
-
if (this.options.throwErrors) {
|
|
463
|
-
includedProps.add('error');
|
|
464
|
-
}
|
|
465
|
-
return Object.keys(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult]).some(key => {
|
|
466
|
-
const typedKey = key;
|
|
467
|
-
const changed = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult][typedKey] !== prevResult[typedKey];
|
|
468
|
-
return changed && includedProps.has(typedKey);
|
|
469
|
-
});
|
|
470
|
-
};
|
|
471
|
-
if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {
|
|
472
|
-
defaultNotifyOptions.listeners = true;
|
|
473
|
-
}
|
|
474
|
-
_classPrivateFieldLooseBase(this, _notify)[_notify]({
|
|
475
|
-
...defaultNotifyOptions,
|
|
476
|
-
...notifyOptions
|
|
477
|
-
});
|
|
478
|
-
}
|
|
479
474
|
function _updateQuery2() {
|
|
480
475
|
const query = _classPrivateFieldLooseBase(this, _client)[_client].getQueryCache().build(_classPrivateFieldLooseBase(this, _client)[_client], this.options);
|
|
481
476
|
if (query === _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery]) {
|
|
@@ -484,7 +479,6 @@ function _updateQuery2() {
|
|
|
484
479
|
const prevQuery = _classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery];
|
|
485
480
|
_classPrivateFieldLooseBase(this, _currentQuery)[_currentQuery] = query;
|
|
486
481
|
_classPrivateFieldLooseBase(this, _currentQueryInitialState)[_currentQueryInitialState] = query.state;
|
|
487
|
-
_classPrivateFieldLooseBase(this, _previousQueryResult)[_previousQueryResult] = _classPrivateFieldLooseBase(this, _currentResult)[_currentResult];
|
|
488
482
|
if (this.hasListeners()) {
|
|
489
483
|
prevQuery == null ? void 0 : prevQuery.removeObserver(this);
|
|
490
484
|
query.addObserver(this);
|
|
@@ -492,18 +486,7 @@ function _updateQuery2() {
|
|
|
492
486
|
}
|
|
493
487
|
function _notify2(notifyOptions) {
|
|
494
488
|
notifyManager.batch(() => {
|
|
495
|
-
// First trigger the
|
|
496
|
-
if (notifyOptions.onSuccess) {
|
|
497
|
-
var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;
|
|
498
|
-
(_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data);
|
|
499
|
-
(_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].data, null);
|
|
500
|
-
} else if (notifyOptions.onError) {
|
|
501
|
-
var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;
|
|
502
|
-
(_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].error);
|
|
503
|
-
(_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, _classPrivateFieldLooseBase(this, _currentResult)[_currentResult].error);
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
// Then trigger the listeners
|
|
489
|
+
// First, trigger the listeners
|
|
507
490
|
if (notifyOptions.listeners) {
|
|
508
491
|
this.listeners.forEach(listener => {
|
|
509
492
|
listener(_classPrivateFieldLooseBase(this, _currentResult)[_currentResult]);
|
|
@@ -538,4 +521,4 @@ function isStale(query, options) {
|
|
|
538
521
|
}
|
|
539
522
|
|
|
540
523
|
export { QueryObserver };
|
|
541
|
-
//# sourceMappingURL=queryObserver.
|
|
524
|
+
//# sourceMappingURL=queryObserver.legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryObserver.legacy.js","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":["_client","_classPrivateFieldLooseKey","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateQuery","_notify","QueryObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateQuery2","_clearRefetchInterval2","_clearStaleTimeout2","_updateTimers2","_updateRefetchInterval2","_computeRefetchInterval2","_updateStaleTimeout2","_executeFetch2","writable","undefined","Set","_classPrivateFieldLooseBase","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","keys","forEach","key","configurable","enumerable","get","add","getCurrentQuery","fetch","fetchOptimistic","defaultedOptions","isFetchingOptimistic","then","fetchOptions","_fetchOptions$cancelR","cancelRefetch","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","state","error","errorUpdatedAt","fetchStatus","status","isPlaceholderData","data","_optimisticResults","fetchOnMount","fetchOptionally","canFetch","networkMode","dataUpdatedAt","select","replaceData","selectError","placeholderData","_classPrivateFieldLoo","Date","now","isFetching","isPending","isError","isLoading","isSuccess","isInitialLoading","failureCount","fetchFailureCount","failureReason","fetchFailureReason","errorUpdateCount","isFetched","dataUpdateCount","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","includedProps","throwOnError","some","typedKey","changed","has","onQueryUpdate","promise","catch","noop","isServer","isValidTimeout","time","timeUntilStale","timeout","setTimeout","_ref","refetchInterval","nextInterval","setInterval","refetchIntervalInBackground","focusManager","isFocused","clearTimeout","clearInterval","notifyManager","batch","listener","shouldLoadOnMount","retryOnMount","refetchOnMount","field","suspense","isStaleByTime"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('./utils.cjs');
|
|
2
4
|
|
|
3
5
|
class Removable {
|
|
4
6
|
#gcTimeout;
|
|
@@ -7,7 +9,7 @@ class Removable {
|
|
|
7
9
|
}
|
|
8
10
|
scheduleGc() {
|
|
9
11
|
this.clearGcTimeout();
|
|
10
|
-
if (isValidTimeout(this.gcTime)) {
|
|
12
|
+
if (utils.isValidTimeout(this.gcTime)) {
|
|
11
13
|
this.#gcTimeout = setTimeout(() => {
|
|
12
14
|
this.optionalRemove();
|
|
13
15
|
}, this.gcTime);
|
|
@@ -15,7 +17,7 @@ class Removable {
|
|
|
15
17
|
}
|
|
16
18
|
updateGcTime(newGcTime) {
|
|
17
19
|
// Default to 5 minutes (Infinity for server-side) if no gcTime is set
|
|
18
|
-
this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000));
|
|
20
|
+
this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (utils.isServer ? Infinity : 5 * 60 * 1000));
|
|
19
21
|
}
|
|
20
22
|
clearGcTimeout() {
|
|
21
23
|
if (this.#gcTimeout) {
|
|
@@ -25,5 +27,5 @@ class Removable {
|
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=removable.
|
|
30
|
+
exports.Removable = Removable;
|
|
31
|
+
//# sourceMappingURL=removable.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removable.
|
|
1
|
+
{"version":3,"file":"removable.cjs","sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"names":["Removable","destroy","clearGcTimeout","scheduleGc","isValidTimeout","gcTime","setTimeout","optionalRemove","updateGcTime","newGcTime","Math","max","isServer","Infinity","clearTimeout","undefined"],"mappings":";;;;AAEO,MAAeA,SAAS,CAAC;AAE9B,EAAA,UAAU,CAAA;AAEVC,EAAAA,OAAOA,GAAS;IACd,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,GAAA;AAEUC,EAAAA,UAAUA,GAAS;IAC3B,IAAI,CAACD,cAAc,EAAE,CAAA;AAErB,IAAA,IAAIE,oBAAc,CAAC,IAAI,CAACC,MAAM,CAAC,EAAE;AAC/B,MAAA,IAAI,CAAC,UAAU,GAAGC,UAAU,CAAC,MAAM;QACjC,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,OAAC,EAAE,IAAI,CAACF,MAAM,CAAC,CAAA;AACjB,KAAA;AACF,GAAA;EAEUG,YAAYA,CAACC,SAA6B,EAAQ;AAC1D;IACA,IAAI,CAACJ,MAAM,GAAGK,IAAI,CAACC,GAAG,CACpB,IAAI,CAACN,MAAM,IAAI,CAAC,EAChBI,SAAS,KAAKG,cAAQ,GAAGC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CACnD,CAAC,CAAA;AACH,GAAA;AAEUX,EAAAA,cAAcA,GAAG;AACzB,IAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnBY,MAAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC7B,MAAA,IAAI,CAAC,UAAU,GAAGC,SAAS,CAAA;AAC7B,KAAA;AACF,GAAA;AAGF;;;;"}
|
package/build/lib/removable.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removable.d.ts","sourceRoot":"","sources":["../../src/removable.ts"],"names":[],"mappings":"AAEA,8BAAsB,SAAS;;IAC7B,MAAM,EAAG,MAAM,CAAA;IAGf,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,UAAU,IAAI,IAAI;IAU5B,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ3D,SAAS,CAAC,cAAc;IAOxB,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI;CAC1C"}
|
package/build/lib/removable.js
CHANGED
|
@@ -1,38 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import { isValidTimeout, isServer } from './utils.js';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
-
var utils = require('./utils.js');
|
|
5
|
-
|
|
6
|
-
var _gcTimeout = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("gcTimeout");
|
|
7
3
|
class Removable {
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(this, _gcTimeout, {
|
|
10
|
-
writable: true,
|
|
11
|
-
value: void 0
|
|
12
|
-
});
|
|
13
|
-
}
|
|
4
|
+
#gcTimeout;
|
|
14
5
|
destroy() {
|
|
15
6
|
this.clearGcTimeout();
|
|
16
7
|
}
|
|
17
8
|
scheduleGc() {
|
|
18
9
|
this.clearGcTimeout();
|
|
19
|
-
if (
|
|
20
|
-
|
|
10
|
+
if (isValidTimeout(this.gcTime)) {
|
|
11
|
+
this.#gcTimeout = setTimeout(() => {
|
|
21
12
|
this.optionalRemove();
|
|
22
13
|
}, this.gcTime);
|
|
23
14
|
}
|
|
24
15
|
}
|
|
25
16
|
updateGcTime(newGcTime) {
|
|
26
17
|
// Default to 5 minutes (Infinity for server-side) if no gcTime is set
|
|
27
|
-
this.gcTime = Math.max(this.gcTime || 0, newGcTime
|
|
18
|
+
this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000));
|
|
28
19
|
}
|
|
29
20
|
clearGcTimeout() {
|
|
30
|
-
if (
|
|
31
|
-
clearTimeout(
|
|
32
|
-
|
|
21
|
+
if (this.#gcTimeout) {
|
|
22
|
+
clearTimeout(this.#gcTimeout);
|
|
23
|
+
this.#gcTimeout = undefined;
|
|
33
24
|
}
|
|
34
25
|
}
|
|
35
26
|
}
|
|
36
27
|
|
|
37
|
-
|
|
28
|
+
export { Removable };
|
|
38
29
|
//# sourceMappingURL=removable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removable.js","sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"names":["
|
|
1
|
+
{"version":3,"file":"removable.js","sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"names":["Removable","destroy","clearGcTimeout","scheduleGc","isValidTimeout","gcTime","setTimeout","optionalRemove","updateGcTime","newGcTime","Math","max","isServer","Infinity","clearTimeout","undefined"],"mappings":";;AAEO,MAAeA,SAAS,CAAC;AAE9B,EAAA,UAAU,CAAA;AAEVC,EAAAA,OAAOA,GAAS;IACd,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,GAAA;AAEUC,EAAAA,UAAUA,GAAS;IAC3B,IAAI,CAACD,cAAc,EAAE,CAAA;AAErB,IAAA,IAAIE,cAAc,CAAC,IAAI,CAACC,MAAM,CAAC,EAAE;AAC/B,MAAA,IAAI,CAAC,UAAU,GAAGC,UAAU,CAAC,MAAM;QACjC,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,OAAC,EAAE,IAAI,CAACF,MAAM,CAAC,CAAA;AACjB,KAAA;AACF,GAAA;EAEUG,YAAYA,CAACC,SAA6B,EAAQ;AAC1D;IACA,IAAI,CAACJ,MAAM,GAAGK,IAAI,CAACC,GAAG,CACpB,IAAI,CAACN,MAAM,IAAI,CAAC,EAChBI,SAAS,KAAKG,QAAQ,GAAGC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CACnD,CAAC,CAAA;AACH,GAAA;AAEUX,EAAAA,cAAcA,GAAG;AACzB,IAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnBY,MAAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC7B,MAAA,IAAI,CAAC,UAAU,GAAGC,SAAS,CAAA;AAC7B,KAAA;AACF,GAAA;AAGF;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.legacy.cjs');
|
|
4
|
+
var utils = require('./utils.legacy.cjs');
|
|
5
|
+
|
|
6
|
+
var _gcTimeout = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("gcTimeout");
|
|
7
|
+
class Removable {
|
|
8
|
+
constructor() {
|
|
9
|
+
Object.defineProperty(this, _gcTimeout, {
|
|
10
|
+
writable: true,
|
|
11
|
+
value: void 0
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
destroy() {
|
|
15
|
+
this.clearGcTimeout();
|
|
16
|
+
}
|
|
17
|
+
scheduleGc() {
|
|
18
|
+
this.clearGcTimeout();
|
|
19
|
+
if (utils.isValidTimeout(this.gcTime)) {
|
|
20
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _gcTimeout)[_gcTimeout] = setTimeout(() => {
|
|
21
|
+
this.optionalRemove();
|
|
22
|
+
}, this.gcTime);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
updateGcTime(newGcTime) {
|
|
26
|
+
// Default to 5 minutes (Infinity for server-side) if no gcTime is set
|
|
27
|
+
this.gcTime = Math.max(this.gcTime || 0, newGcTime != null ? newGcTime : utils.isServer ? Infinity : 5 * 60 * 1000);
|
|
28
|
+
}
|
|
29
|
+
clearGcTimeout() {
|
|
30
|
+
if (_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _gcTimeout)[_gcTimeout]) {
|
|
31
|
+
clearTimeout(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _gcTimeout)[_gcTimeout]);
|
|
32
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _gcTimeout)[_gcTimeout] = undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exports.Removable = Removable;
|
|
38
|
+
//# sourceMappingURL=removable.legacy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removable.legacy.cjs","sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"names":["_gcTimeout","_classPrivateFieldLooseKey","Removable","constructor","Object","defineProperty","writable","value","destroy","clearGcTimeout","scheduleGc","isValidTimeout","gcTime","_classPrivateFieldLooseBase","setTimeout","optionalRemove","updateGcTime","newGcTime","Math","max","isServer","Infinity","clearTimeout","undefined"],"mappings":";;;;;AAAkD,IAAAA,UAAA,gBAAAC,mDAAA,CAAA,WAAA,CAAA,CAAA;AAE3C,MAAeC,SAAS,CAAC;EAAAC,WAAA,GAAA;IAAAC,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAL,UAAA,EAAA;MAAAM,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAI9BC,EAAAA,OAAOA,GAAS;IACd,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,GAAA;AAEUC,EAAAA,UAAUA,GAAS;IAC3B,IAAI,CAACD,cAAc,EAAE,CAAA;AAErB,IAAA,IAAIE,oBAAc,CAAC,IAAI,CAACC,MAAM,CAAC,EAAE;MAC/BC,oDAAA,CAAA,IAAI,EAAAb,UAAA,CAAA,CAAAA,UAAA,CAAcc,GAAAA,UAAU,CAAC,MAAM;QACjC,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,OAAC,EAAE,IAAI,CAACH,MAAM,CAAC,CAAA;AACjB,KAAA;AACF,GAAA;EAEUI,YAAYA,CAACC,SAA6B,EAAQ;AAC1D;IACA,IAAI,CAACL,MAAM,GAAGM,IAAI,CAACC,GAAG,CACpB,IAAI,CAACP,MAAM,IAAI,CAAC,EAChBK,SAAS,IAATA,IAAAA,GAAAA,SAAS,GAAKG,cAAQ,GAAGC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAC/C,CAAC,CAAA;AACH,GAAA;AAEUZ,EAAAA,cAAcA,GAAG;AACzB,IAAA,IAAAI,oDAAA,CAAI,IAAI,EAAAb,UAAA,CAAA,CAAAA,UAAA,CAAa,EAAA;MACnBsB,YAAY,CAAAT,oDAAA,CAAC,IAAI,EAAAb,UAAA,CAAA,CAAAA,UAAA,CAAW,CAAC,CAAA;AAC7Ba,MAAAA,oDAAA,KAAI,EAAAb,UAAA,CAAAA,CAAAA,UAAA,IAAcuB,SAAS,CAAA;AAC7B,KAAA;AACF,GAAA;AAGF;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.
|
|
2
|
-
import { isValidTimeout, isServer } from './utils.
|
|
1
|
+
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
|
|
2
|
+
import { isValidTimeout, isServer } from './utils.legacy.js';
|
|
3
3
|
|
|
4
4
|
var _gcTimeout = /*#__PURE__*/_classPrivateFieldLooseKey("gcTimeout");
|
|
5
5
|
class Removable {
|
|
@@ -33,4 +33,4 @@ class Removable {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { Removable };
|
|
36
|
-
//# sourceMappingURL=removable.
|
|
36
|
+
//# sourceMappingURL=removable.legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removable.legacy.js","sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"names":["_gcTimeout","_classPrivateFieldLooseKey","Removable","constructor","Object","defineProperty","writable","value","destroy","clearGcTimeout","scheduleGc","isValidTimeout","gcTime","_classPrivateFieldLooseBase","setTimeout","optionalRemove","updateGcTime","newGcTime","Math","max","isServer","Infinity","clearTimeout","undefined"],"mappings":";;;AAAkD,IAAAA,UAAA,gBAAAC,0BAAA,CAAA,WAAA,CAAA,CAAA;AAE3C,MAAeC,SAAS,CAAC;EAAAC,WAAA,GAAA;IAAAC,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAL,UAAA,EAAA;MAAAM,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAI9BC,EAAAA,OAAOA,GAAS;IACd,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,GAAA;AAEUC,EAAAA,UAAUA,GAAS;IAC3B,IAAI,CAACD,cAAc,EAAE,CAAA;AAErB,IAAA,IAAIE,cAAc,CAAC,IAAI,CAACC,MAAM,CAAC,EAAE;MAC/BC,2BAAA,CAAA,IAAI,EAAAb,UAAA,CAAA,CAAAA,UAAA,CAAcc,GAAAA,UAAU,CAAC,MAAM;QACjC,IAAI,CAACC,cAAc,EAAE,CAAA;AACvB,OAAC,EAAE,IAAI,CAACH,MAAM,CAAC,CAAA;AACjB,KAAA;AACF,GAAA;EAEUI,YAAYA,CAACC,SAA6B,EAAQ;AAC1D;IACA,IAAI,CAACL,MAAM,GAAGM,IAAI,CAACC,GAAG,CACpB,IAAI,CAACP,MAAM,IAAI,CAAC,EAChBK,SAAS,IAATA,IAAAA,GAAAA,SAAS,GAAKG,QAAQ,GAAGC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAC/C,CAAC,CAAA;AACH,GAAA;AAEUZ,EAAAA,cAAcA,GAAG;AACzB,IAAA,IAAAI,2BAAA,CAAI,IAAI,EAAAb,UAAA,CAAA,CAAAA,UAAA,CAAa,EAAA;MACnBsB,YAAY,CAAAT,2BAAA,CAAC,IAAI,EAAAb,UAAA,CAAA,CAAAA,UAAA,CAAW,CAAC,CAAA;AAC7Ba,MAAAA,2BAAA,KAAI,EAAAb,UAAA,CAAAA,CAAAA,UAAA,IAAcuB,SAAS,CAAA;AAC7B,KAAA;AACF,GAAA;AAGF;;;;"}
|