@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
package/build/lib/_virtual/{_rollupPluginBabelHelpers.js → _rollupPluginBabelHelpers.legacy.cjs}
RENAMED
|
@@ -13,4 +13,4 @@ function _classPrivateFieldLooseBase(receiver, privateKey) {
|
|
|
13
13
|
|
|
14
14
|
exports.classPrivateFieldLooseBase = _classPrivateFieldLooseBase;
|
|
15
15
|
exports.classPrivateFieldLooseKey = _classPrivateFieldLooseKey;
|
|
16
|
-
//# sourceMappingURL=_rollupPluginBabelHelpers.
|
|
16
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers.legacy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers.legacy.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
package/build/lib/_virtual/{_rollupPluginBabelHelpers.esm.js → _rollupPluginBabelHelpers.legacy.js}
RENAMED
|
@@ -10,4 +10,4 @@ function _classPrivateFieldLooseBase(receiver, privateKey) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { _classPrivateFieldLooseBase as classPrivateFieldLooseBase, _classPrivateFieldLooseKey as classPrivateFieldLooseKey };
|
|
13
|
-
//# sourceMappingURL=_rollupPluginBabelHelpers.
|
|
13
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers.legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers.legacy.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import { isServer } from './utils.mjs';
|
|
1
|
+
'use strict';
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
var subscribable = require('./subscribable.cjs');
|
|
4
|
+
var utils = require('./utils.cjs');
|
|
5
|
+
|
|
6
|
+
class FocusManager extends subscribable.Subscribable {
|
|
5
7
|
#focused;
|
|
6
8
|
#cleanup;
|
|
7
9
|
#setup;
|
|
@@ -10,7 +12,7 @@ class FocusManager extends Subscribable {
|
|
|
10
12
|
this.#setup = onFocus => {
|
|
11
13
|
// addEventListener does not exist in React Native, but window does
|
|
12
14
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
13
|
-
if (!isServer && window.addEventListener) {
|
|
15
|
+
if (!utils.isServer && window.addEventListener) {
|
|
14
16
|
const listener = () => onFocus();
|
|
15
17
|
// Listen to visibilitychange
|
|
16
18
|
window.addEventListener('visibilitychange', listener, false);
|
|
@@ -67,5 +69,6 @@ class FocusManager extends Subscribable {
|
|
|
67
69
|
}
|
|
68
70
|
const focusManager = new FocusManager();
|
|
69
71
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
exports.FocusManager = FocusManager;
|
|
73
|
+
exports.focusManager = focusManager;
|
|
74
|
+
//# sourceMappingURL=focusManager.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusManager.
|
|
1
|
+
{"version":3,"file":"focusManager.cjs","sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n this.#focused = focused\n\n if (focused) {\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"names":["FocusManager","Subscribable","constructor","onFocus","isServer","window","addEventListener","listener","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","undefined","setup","focused","setFocused","listeners","forEach","isFocused","globalThis","document","visibilityState","focusManager"],"mappings":";;;;;AAOO,MAAMA,YAAY,SAASC,yBAAY,CAAC;AAC7C,EAAA,QAAQ,CAAA;AACR,EAAA,QAAQ,CAAA;AAER,EAAA,MAAM,CAAA;AAENC,EAAAA,WAAWA,GAAG;AACZ,IAAA,KAAK,EAAE,CAAA;AACP,IAAA,IAAI,CAAC,MAAM,GAAIC,OAAO,IAAK;AACzB;AACA;AACA,MAAA,IAAI,CAACC,cAAQ,IAAIC,MAAM,CAACC,gBAAgB,EAAE;AACxC,QAAA,MAAMC,QAAQ,GAAGA,MAAMJ,OAAO,EAAE,CAAA;AAChC;QACAE,MAAM,CAACC,gBAAgB,CAAC,kBAAkB,EAAEC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAE5D,QAAA,OAAO,MAAM;AACX;AACAF,UAAAA,MAAM,CAACG,mBAAmB,CAAC,kBAAkB,EAAED,QAAQ,CAAC,CAAA;SACzD,CAAA;AACH,OAAA;AACA,MAAA,OAAA;KACD,CAAA;AACH,GAAA;AAEUE,EAAAA,WAAWA,GAAS;AAC5B,IAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,MAAA,IAAI,CAACC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACpC,KAAA;AACF,GAAA;AAEUC,EAAAA,aAAaA,GAAG;AACxB,IAAA,IAAI,CAAC,IAAI,CAACC,YAAY,EAAE,EAAE;AACxB,MAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,MAAA,IAAI,CAAC,QAAQ,GAAGC,SAAS,CAAA;AAC3B,KAAA;AACF,GAAA;EAEAH,gBAAgBA,CAACI,KAAc,EAAQ;AACrC,IAAA,IAAI,CAAC,MAAM,GAAGA,KAAK,CAAA;AACnB,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,IAAA,IAAI,CAAC,QAAQ,GAAGA,KAAK,CAAEC,OAAO,IAAK;AACjC,MAAA,IAAI,OAAOA,OAAO,KAAK,SAAS,EAAE;AAChC,QAAA,IAAI,CAACC,UAAU,CAACD,OAAO,CAAC,CAAA;AAC1B,OAAC,MAAM;QACL,IAAI,CAACZ,OAAO,EAAE,CAAA;AAChB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;EAEAa,UAAUA,CAACD,OAAiB,EAAQ;AAClC,IAAA,IAAI,CAAC,QAAQ,GAAGA,OAAO,CAAA;AAEvB,IAAA,IAAIA,OAAO,EAAE;MACX,IAAI,CAACZ,OAAO,EAAE,CAAA;AAChB,KAAA;AACF,GAAA;AAEAA,EAAAA,OAAOA,GAAS;AACd,IAAA,IAAI,CAACc,SAAS,CAACC,OAAO,CAAEX,QAAQ,IAAK;AACnCA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAY,EAAAA,SAASA,GAAY;AACnB,IAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;MACtC,OAAO,IAAI,CAAC,QAAQ,CAAA;AACtB,KAAA;;AAEA;AACA;AACA,IAAA,OAAOC,UAAU,CAACC,QAAQ,EAAEC,eAAe,KAAK,QAAQ,CAAA;AAC1D,GAAA;AACF,CAAA;MAEaC,YAAY,GAAG,IAAIvB,YAAY;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Subscribable } from './subscribable';
|
|
2
|
-
|
|
2
|
+
type SetupFn = (setFocused: (focused?: boolean) => void) => (() => void) | undefined;
|
|
3
3
|
export declare class FocusManager extends Subscribable {
|
|
4
4
|
#private;
|
|
5
5
|
constructor();
|
|
@@ -12,3 +12,4 @@ export declare class FocusManager extends Subscribable {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const focusManager: FocusManager;
|
|
14
14
|
export {};
|
|
15
|
+
//# sourceMappingURL=focusManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusManager.d.ts","sourceRoot":"","sources":["../../src/focusManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,KAAK,OAAO,GAAG,CACb,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,KACpC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;AAE7B,qBAAa,YAAa,SAAQ,YAAY;;;IAyB5C,SAAS,CAAC,WAAW,IAAI,IAAI;IAM7B,SAAS,CAAC,aAAa;IAOvB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAYtC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAQnC,OAAO,IAAI,IAAI;IAMf,SAAS,IAAI,OAAO;CASrB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAA"}
|
|
@@ -1,31 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { Subscribable } from './subscribable.js';
|
|
2
|
+
import { isServer } from './utils.js';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _focused = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("focused");
|
|
8
|
-
var _cleanup = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("cleanup");
|
|
9
|
-
var _setup = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("setup");
|
|
10
|
-
class FocusManager extends subscribable.Subscribable {
|
|
4
|
+
class FocusManager extends Subscribable {
|
|
5
|
+
#focused;
|
|
6
|
+
#cleanup;
|
|
7
|
+
#setup;
|
|
11
8
|
constructor() {
|
|
12
9
|
super();
|
|
13
|
-
|
|
14
|
-
writable: true,
|
|
15
|
-
value: void 0
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(this, _cleanup, {
|
|
18
|
-
writable: true,
|
|
19
|
-
value: void 0
|
|
20
|
-
});
|
|
21
|
-
Object.defineProperty(this, _setup, {
|
|
22
|
-
writable: true,
|
|
23
|
-
value: void 0
|
|
24
|
-
});
|
|
25
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setup)[_setup] = onFocus => {
|
|
10
|
+
this.#setup = onFocus => {
|
|
26
11
|
// addEventListener does not exist in React Native, but window does
|
|
27
12
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
28
|
-
if (!
|
|
13
|
+
if (!isServer && window.addEventListener) {
|
|
29
14
|
const listener = () => onFocus();
|
|
30
15
|
// Listen to visibilitychange
|
|
31
16
|
window.addEventListener('visibilitychange', listener, false);
|
|
@@ -38,22 +23,20 @@ class FocusManager extends subscribable.Subscribable {
|
|
|
38
23
|
};
|
|
39
24
|
}
|
|
40
25
|
onSubscribe() {
|
|
41
|
-
if (!
|
|
42
|
-
this.setEventListener(
|
|
26
|
+
if (!this.#cleanup) {
|
|
27
|
+
this.setEventListener(this.#setup);
|
|
43
28
|
}
|
|
44
29
|
}
|
|
45
30
|
onUnsubscribe() {
|
|
46
31
|
if (!this.hasListeners()) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup)[_cleanup] = undefined;
|
|
32
|
+
this.#cleanup?.();
|
|
33
|
+
this.#cleanup = undefined;
|
|
50
34
|
}
|
|
51
35
|
}
|
|
52
36
|
setEventListener(setup) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup)[_cleanup] = setup(focused => {
|
|
37
|
+
this.#setup = setup;
|
|
38
|
+
this.#cleanup?.();
|
|
39
|
+
this.#cleanup = setup(focused => {
|
|
57
40
|
if (typeof focused === 'boolean') {
|
|
58
41
|
this.setFocused(focused);
|
|
59
42
|
} else {
|
|
@@ -62,7 +45,7 @@ class FocusManager extends subscribable.Subscribable {
|
|
|
62
45
|
});
|
|
63
46
|
}
|
|
64
47
|
setFocused(focused) {
|
|
65
|
-
|
|
48
|
+
this.#focused = focused;
|
|
66
49
|
if (focused) {
|
|
67
50
|
this.onFocus();
|
|
68
51
|
}
|
|
@@ -73,18 +56,16 @@ class FocusManager extends subscribable.Subscribable {
|
|
|
73
56
|
});
|
|
74
57
|
}
|
|
75
58
|
isFocused() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _focused)[_focused];
|
|
59
|
+
if (typeof this.#focused === 'boolean') {
|
|
60
|
+
return this.#focused;
|
|
79
61
|
}
|
|
80
62
|
|
|
81
63
|
// document global can be unavailable in react native
|
|
82
64
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
83
|
-
return
|
|
65
|
+
return globalThis.document?.visibilityState !== 'hidden';
|
|
84
66
|
}
|
|
85
67
|
}
|
|
86
68
|
const focusManager = new FocusManager();
|
|
87
69
|
|
|
88
|
-
|
|
89
|
-
exports.focusManager = focusManager;
|
|
70
|
+
export { FocusManager, focusManager };
|
|
90
71
|
//# sourceMappingURL=focusManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusManager.js","sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n this.#focused = focused\n\n if (focused) {\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"names":["
|
|
1
|
+
{"version":3,"file":"focusManager.js","sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n this.#focused = focused\n\n if (focused) {\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"names":["FocusManager","Subscribable","constructor","onFocus","isServer","window","addEventListener","listener","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","undefined","setup","focused","setFocused","listeners","forEach","isFocused","globalThis","document","visibilityState","focusManager"],"mappings":";;;AAOO,MAAMA,YAAY,SAASC,YAAY,CAAC;AAC7C,EAAA,QAAQ,CAAA;AACR,EAAA,QAAQ,CAAA;AAER,EAAA,MAAM,CAAA;AAENC,EAAAA,WAAWA,GAAG;AACZ,IAAA,KAAK,EAAE,CAAA;AACP,IAAA,IAAI,CAAC,MAAM,GAAIC,OAAO,IAAK;AACzB;AACA;AACA,MAAA,IAAI,CAACC,QAAQ,IAAIC,MAAM,CAACC,gBAAgB,EAAE;AACxC,QAAA,MAAMC,QAAQ,GAAGA,MAAMJ,OAAO,EAAE,CAAA;AAChC;QACAE,MAAM,CAACC,gBAAgB,CAAC,kBAAkB,EAAEC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAE5D,QAAA,OAAO,MAAM;AACX;AACAF,UAAAA,MAAM,CAACG,mBAAmB,CAAC,kBAAkB,EAAED,QAAQ,CAAC,CAAA;SACzD,CAAA;AACH,OAAA;AACA,MAAA,OAAA;KACD,CAAA;AACH,GAAA;AAEUE,EAAAA,WAAWA,GAAS;AAC5B,IAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,MAAA,IAAI,CAACC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACpC,KAAA;AACF,GAAA;AAEUC,EAAAA,aAAaA,GAAG;AACxB,IAAA,IAAI,CAAC,IAAI,CAACC,YAAY,EAAE,EAAE;AACxB,MAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,MAAA,IAAI,CAAC,QAAQ,GAAGC,SAAS,CAAA;AAC3B,KAAA;AACF,GAAA;EAEAH,gBAAgBA,CAACI,KAAc,EAAQ;AACrC,IAAA,IAAI,CAAC,MAAM,GAAGA,KAAK,CAAA;AACnB,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,IAAA,IAAI,CAAC,QAAQ,GAAGA,KAAK,CAAEC,OAAO,IAAK;AACjC,MAAA,IAAI,OAAOA,OAAO,KAAK,SAAS,EAAE;AAChC,QAAA,IAAI,CAACC,UAAU,CAACD,OAAO,CAAC,CAAA;AAC1B,OAAC,MAAM;QACL,IAAI,CAACZ,OAAO,EAAE,CAAA;AAChB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;EAEAa,UAAUA,CAACD,OAAiB,EAAQ;AAClC,IAAA,IAAI,CAAC,QAAQ,GAAGA,OAAO,CAAA;AAEvB,IAAA,IAAIA,OAAO,EAAE;MACX,IAAI,CAACZ,OAAO,EAAE,CAAA;AAChB,KAAA;AACF,GAAA;AAEAA,EAAAA,OAAOA,GAAS;AACd,IAAA,IAAI,CAACc,SAAS,CAACC,OAAO,CAAEX,QAAQ,IAAK;AACnCA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAY,EAAAA,SAASA,GAAY;AACnB,IAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;MACtC,OAAO,IAAI,CAAC,QAAQ,CAAA;AACtB,KAAA;;AAEA;AACA;AACA,IAAA,OAAOC,UAAU,CAACC,QAAQ,EAAEC,eAAe,KAAK,QAAQ,CAAA;AAC1D,GAAA;AACF,CAAA;MAEaC,YAAY,GAAG,IAAIvB,YAAY;;;;"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.legacy.cjs');
|
|
4
|
+
var subscribable = require('./subscribable.legacy.cjs');
|
|
5
|
+
var utils = require('./utils.legacy.cjs');
|
|
6
|
+
|
|
7
|
+
var _focused = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("focused");
|
|
8
|
+
var _cleanup = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("cleanup");
|
|
9
|
+
var _setup = /*#__PURE__*/_rollupPluginBabelHelpers.classPrivateFieldLooseKey("setup");
|
|
10
|
+
class FocusManager extends subscribable.Subscribable {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
Object.defineProperty(this, _focused, {
|
|
14
|
+
writable: true,
|
|
15
|
+
value: void 0
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(this, _cleanup, {
|
|
18
|
+
writable: true,
|
|
19
|
+
value: void 0
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(this, _setup, {
|
|
22
|
+
writable: true,
|
|
23
|
+
value: void 0
|
|
24
|
+
});
|
|
25
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setup)[_setup] = onFocus => {
|
|
26
|
+
// addEventListener does not exist in React Native, but window does
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
28
|
+
if (!utils.isServer && window.addEventListener) {
|
|
29
|
+
const listener = () => onFocus();
|
|
30
|
+
// Listen to visibilitychange
|
|
31
|
+
window.addEventListener('visibilitychange', listener, false);
|
|
32
|
+
return () => {
|
|
33
|
+
// Be sure to unsubscribe if a new handler is set
|
|
34
|
+
window.removeEventListener('visibilitychange', listener);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
return;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
onSubscribe() {
|
|
41
|
+
if (!_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup)[_cleanup]) {
|
|
42
|
+
this.setEventListener(_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setup)[_setup]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
onUnsubscribe() {
|
|
46
|
+
if (!this.hasListeners()) {
|
|
47
|
+
var _classPrivateFieldLoo, _classPrivateFieldLoo2;
|
|
48
|
+
(_classPrivateFieldLoo = (_classPrivateFieldLoo2 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup))[_cleanup]) == null ? void 0 : _classPrivateFieldLoo.call(_classPrivateFieldLoo2);
|
|
49
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup)[_cleanup] = undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
setEventListener(setup) {
|
|
53
|
+
var _classPrivateFieldLoo3, _classPrivateFieldLoo4;
|
|
54
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _setup)[_setup] = setup;
|
|
55
|
+
(_classPrivateFieldLoo3 = (_classPrivateFieldLoo4 = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup))[_cleanup]) == null ? void 0 : _classPrivateFieldLoo3.call(_classPrivateFieldLoo4);
|
|
56
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _cleanup)[_cleanup] = setup(focused => {
|
|
57
|
+
if (typeof focused === 'boolean') {
|
|
58
|
+
this.setFocused(focused);
|
|
59
|
+
} else {
|
|
60
|
+
this.onFocus();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
setFocused(focused) {
|
|
65
|
+
_rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _focused)[_focused] = focused;
|
|
66
|
+
if (focused) {
|
|
67
|
+
this.onFocus();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
onFocus() {
|
|
71
|
+
this.listeners.forEach(listener => {
|
|
72
|
+
listener();
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
isFocused() {
|
|
76
|
+
var _globalThis$document;
|
|
77
|
+
if (typeof _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _focused)[_focused] === 'boolean') {
|
|
78
|
+
return _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _focused)[_focused];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// document global can be unavailable in react native
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
83
|
+
return ((_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.visibilityState) !== 'hidden';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const focusManager = new FocusManager();
|
|
87
|
+
|
|
88
|
+
exports.FocusManager = FocusManager;
|
|
89
|
+
exports.focusManager = focusManager;
|
|
90
|
+
//# sourceMappingURL=focusManager.legacy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusManager.legacy.cjs","sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n this.#focused = focused\n\n if (focused) {\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"names":["_focused","_classPrivateFieldLooseKey","_cleanup","_setup","FocusManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onFocus","isServer","window","addEventListener","listener","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","focused","setFocused","listeners","forEach","isFocused","_globalThis$document","globalThis","document","visibilityState","focusManager"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.
|
|
2
|
-
import { Subscribable } from './subscribable.
|
|
3
|
-
import { isServer } from './utils.
|
|
1
|
+
import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.legacy.js';
|
|
2
|
+
import { Subscribable } from './subscribable.legacy.js';
|
|
3
|
+
import { isServer } from './utils.legacy.js';
|
|
4
4
|
|
|
5
5
|
var _focused = /*#__PURE__*/_classPrivateFieldLooseKey("focused");
|
|
6
6
|
var _cleanup = /*#__PURE__*/_classPrivateFieldLooseKey("cleanup");
|
|
@@ -84,4 +84,4 @@ class FocusManager extends Subscribable {
|
|
|
84
84
|
const focusManager = new FocusManager();
|
|
85
85
|
|
|
86
86
|
export { FocusManager, focusManager };
|
|
87
|
-
//# sourceMappingURL=focusManager.
|
|
87
|
+
//# sourceMappingURL=focusManager.legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusManager.legacy.js","sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n this.#focused = focused\n\n if (focused) {\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"names":["_focused","_classPrivateFieldLooseKey","_cleanup","_setup","FocusManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onFocus","isServer","window","addEventListener","listener","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","focused","setFocused","listeners","forEach","isFocused","_globalThis$document","globalThis","document","visibilityState","focusManager"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
1
3
|
// TYPES
|
|
2
4
|
|
|
3
5
|
// FUNCTIONS
|
|
@@ -27,24 +29,10 @@ function defaultShouldDehydrateQuery(query) {
|
|
|
27
29
|
return query.state.status === 'success';
|
|
28
30
|
}
|
|
29
31
|
function dehydrate(client, options = {}) {
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
client.getMutationCache().getAll().forEach(mutation => {
|
|
35
|
-
if (shouldDehydrateMutation(mutation)) {
|
|
36
|
-
mutations.push(dehydrateMutation(mutation));
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
if (options.dehydrateQueries !== false) {
|
|
41
|
-
const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;
|
|
42
|
-
client.getQueryCache().getAll().forEach(query => {
|
|
43
|
-
if (shouldDehydrateQuery(query)) {
|
|
44
|
-
queries.push(dehydrateQuery(query));
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
32
|
+
const filterMutation = options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
|
|
33
|
+
const mutations = client.getMutationCache().getAll().flatMap(mutation => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []);
|
|
34
|
+
const filterQuery = options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
|
|
35
|
+
const queries = client.getQueryCache().getAll().flatMap(query => filterQuery(query) ? [dehydrateQuery(query)] : []);
|
|
48
36
|
return {
|
|
49
37
|
mutations,
|
|
50
38
|
queries
|
|
@@ -94,5 +82,8 @@ function hydrate(client, dehydratedState, options) {
|
|
|
94
82
|
});
|
|
95
83
|
}
|
|
96
84
|
|
|
97
|
-
|
|
98
|
-
|
|
85
|
+
exports.defaultShouldDehydrateMutation = defaultShouldDehydrateMutation;
|
|
86
|
+
exports.defaultShouldDehydrateQuery = defaultShouldDehydrateQuery;
|
|
87
|
+
exports.dehydrate = dehydrate;
|
|
88
|
+
exports.hydrate = hydrate;
|
|
89
|
+
//# sourceMappingURL=hydration.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydration.cjs","sources":["../../src/hydration.ts"],"sourcesContent":["import type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type {\n MutationKey,\n MutationOptions,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n}\n\nexport interface DehydratedState {\n mutations: DehydratedMutation[]\n queries: DehydratedQuery[]\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach((dehydratedMutation) => {\n mutationCache.build(\n client,\n {\n ...options?.defaultOptions?.mutations,\n mutationKey: dehydratedMutation.mutationKey,\n },\n dehydratedMutation.state,\n )\n })\n\n queries.forEach((dehydratedQuery) => {\n const query = queryCache.get(dehydratedQuery.queryHash)\n\n // Reset fetch status to idle in the dehydrated state to avoid\n // query being stuck in fetching state upon hydration\n const dehydratedQueryState = {\n ...dehydratedQuery.state,\n fetchStatus: 'idle' as const,\n }\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {\n query.setState(dehydratedQueryState)\n }\n return\n }\n\n // Restore query\n queryCache.build(\n client,\n {\n ...options?.defaultOptions?.queries,\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash,\n },\n dehydratedQueryState,\n )\n })\n}\n"],"names":["dehydrateMutation","mutation","mutationKey","options","state","dehydrateQuery","query","queryKey","queryHash","defaultShouldDehydrateMutation","isPaused","defaultShouldDehydrateQuery","status","dehydrate","client","filterMutation","shouldDehydrateMutation","mutations","getMutationCache","getAll","flatMap","filterQuery","shouldDehydrateQuery","queries","getQueryCache","hydrate","dehydratedState","mutationCache","queryCache","forEach","dehydratedMutation","build","defaultOptions","dehydratedQuery","get","dehydratedQueryState","fetchStatus","dataUpdatedAt","setState"],"mappings":"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"}
|
package/build/lib/hydration.d.ts
CHANGED
|
@@ -3,10 +3,8 @@ import type { Query, QueryState } from './query';
|
|
|
3
3
|
import type { MutationKey, MutationOptions, QueryKey, QueryOptions } from './types';
|
|
4
4
|
import type { Mutation, MutationState } from './mutation';
|
|
5
5
|
export interface DehydrateOptions {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
shouldDehydrateMutation?: ShouldDehydrateMutationFunction;
|
|
9
|
-
shouldDehydrateQuery?: ShouldDehydrateQueryFunction;
|
|
6
|
+
shouldDehydrateMutation?: (mutation: Mutation) => boolean;
|
|
7
|
+
shouldDehydrateQuery?: (query: Query) => boolean;
|
|
10
8
|
}
|
|
11
9
|
export interface HydrateOptions {
|
|
12
10
|
defaultOptions?: {
|
|
@@ -27,10 +25,9 @@ export interface DehydratedState {
|
|
|
27
25
|
mutations: DehydratedMutation[];
|
|
28
26
|
queries: DehydratedQuery[];
|
|
29
27
|
}
|
|
30
|
-
export declare type ShouldDehydrateQueryFunction = (query: Query) => boolean;
|
|
31
|
-
export declare type ShouldDehydrateMutationFunction = (mutation: Mutation) => boolean;
|
|
32
28
|
export declare function defaultShouldDehydrateMutation(mutation: Mutation): boolean;
|
|
33
29
|
export declare function defaultShouldDehydrateQuery(query: Query): boolean;
|
|
34
30
|
export declare function dehydrate(client: QueryClient, options?: DehydrateOptions): DehydratedState;
|
|
35
31
|
export declare function hydrate(client: QueryClient, dehydratedState: unknown, options?: HydrateOptions): void;
|
|
36
32
|
export {};
|
|
33
|
+
//# sourceMappingURL=hydration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../src/hydration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACb,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAIzD,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAA;IACzD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,YAAY,CAAA;QACtB,SAAS,CAAC,EAAE,eAAe,CAAA;KAC5B,CAAA;CACF;AAED,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,aAAa,CAAA;CACrB;AAED,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAuBD,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,WAEhE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,KAAK,WAEvD;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAoBjB;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI,CAqDN"}
|
package/build/lib/hydration.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
// TYPES
|
|
4
2
|
|
|
5
3
|
// FUNCTIONS
|
|
@@ -29,24 +27,10 @@ function defaultShouldDehydrateQuery(query) {
|
|
|
29
27
|
return query.state.status === 'success';
|
|
30
28
|
}
|
|
31
29
|
function dehydrate(client, options = {}) {
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
client.getMutationCache().getAll().forEach(mutation => {
|
|
37
|
-
if (shouldDehydrateMutation(mutation)) {
|
|
38
|
-
mutations.push(dehydrateMutation(mutation));
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
if (options.dehydrateQueries !== false) {
|
|
43
|
-
const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;
|
|
44
|
-
client.getQueryCache().getAll().forEach(query => {
|
|
45
|
-
if (shouldDehydrateQuery(query)) {
|
|
46
|
-
queries.push(dehydrateQuery(query));
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
30
|
+
const filterMutation = options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
|
|
31
|
+
const mutations = client.getMutationCache().getAll().flatMap(mutation => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []);
|
|
32
|
+
const filterQuery = options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
|
|
33
|
+
const queries = client.getQueryCache().getAll().flatMap(query => filterQuery(query) ? [dehydrateQuery(query)] : []);
|
|
50
34
|
return {
|
|
51
35
|
mutations,
|
|
52
36
|
queries
|
|
@@ -64,14 +48,12 @@ function hydrate(client, dehydratedState, options) {
|
|
|
64
48
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
65
49
|
const queries = dehydratedState.queries || [];
|
|
66
50
|
mutations.forEach(dehydratedMutation => {
|
|
67
|
-
var _options$defaultOptio;
|
|
68
51
|
mutationCache.build(client, {
|
|
69
|
-
...
|
|
52
|
+
...options?.defaultOptions?.mutations,
|
|
70
53
|
mutationKey: dehydratedMutation.mutationKey
|
|
71
54
|
}, dehydratedMutation.state);
|
|
72
55
|
});
|
|
73
56
|
queries.forEach(dehydratedQuery => {
|
|
74
|
-
var _options$defaultOptio2;
|
|
75
57
|
const query = queryCache.get(dehydratedQuery.queryHash);
|
|
76
58
|
|
|
77
59
|
// Reset fetch status to idle in the dehydrated state to avoid
|
|
@@ -91,15 +73,12 @@ function hydrate(client, dehydratedState, options) {
|
|
|
91
73
|
|
|
92
74
|
// Restore query
|
|
93
75
|
queryCache.build(client, {
|
|
94
|
-
...
|
|
76
|
+
...options?.defaultOptions?.queries,
|
|
95
77
|
queryKey: dehydratedQuery.queryKey,
|
|
96
78
|
queryHash: dehydratedQuery.queryHash
|
|
97
79
|
}, dehydratedQueryState);
|
|
98
80
|
});
|
|
99
81
|
}
|
|
100
82
|
|
|
101
|
-
|
|
102
|
-
exports.defaultShouldDehydrateQuery = defaultShouldDehydrateQuery;
|
|
103
|
-
exports.dehydrate = dehydrate;
|
|
104
|
-
exports.hydrate = hydrate;
|
|
83
|
+
export { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };
|
|
105
84
|
//# sourceMappingURL=hydration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydration.js","sources":["../../src/hydration.ts"],"sourcesContent":["import type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type {\n MutationKey,\n MutationOptions,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n
|
|
1
|
+
{"version":3,"file":"hydration.js","sources":["../../src/hydration.ts"],"sourcesContent":["import type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type {\n MutationKey,\n MutationOptions,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n}\n\nexport interface DehydratedState {\n mutations: DehydratedMutation[]\n queries: DehydratedQuery[]\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach((dehydratedMutation) => {\n mutationCache.build(\n client,\n {\n ...options?.defaultOptions?.mutations,\n mutationKey: dehydratedMutation.mutationKey,\n },\n dehydratedMutation.state,\n )\n })\n\n queries.forEach((dehydratedQuery) => {\n const query = queryCache.get(dehydratedQuery.queryHash)\n\n // Reset fetch status to idle in the dehydrated state to avoid\n // query being stuck in fetching state upon hydration\n const dehydratedQueryState = {\n ...dehydratedQuery.state,\n fetchStatus: 'idle' as const,\n }\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {\n query.setState(dehydratedQueryState)\n }\n return\n }\n\n // Restore query\n queryCache.build(\n client,\n {\n ...options?.defaultOptions?.queries,\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash,\n },\n dehydratedQueryState,\n )\n })\n}\n"],"names":["dehydrateMutation","mutation","mutationKey","options","state","dehydrateQuery","query","queryKey","queryHash","defaultShouldDehydrateMutation","isPaused","defaultShouldDehydrateQuery","status","dehydrate","client","filterMutation","shouldDehydrateMutation","mutations","getMutationCache","getAll","flatMap","filterQuery","shouldDehydrateQuery","queries","getQueryCache","hydrate","dehydratedState","mutationCache","queryCache","forEach","dehydratedMutation","build","defaultOptions","dehydratedQuery","get","dehydratedQueryState","fetchStatus","dataUpdatedAt","setState"],"mappings":"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"}
|