@tanstack/query-core 5.91.0 → 5.94.4
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/package.json +1 -1
- package/src/query.ts +17 -6
- package/src/queryObserver.ts +1 -1
- package/src/streamedQuery.ts +2 -4
- package/build/legacy/_tsup-dts-rollup.d.cts +0 -2227
- package/build/legacy/_tsup-dts-rollup.d.ts +0 -2227
- package/build/legacy/chunk-PXG64RU4.js +0 -25
- package/build/legacy/chunk-PXG64RU4.js.map +0 -1
- package/build/legacy/environmentManager.cjs +0 -48
- package/build/legacy/environmentManager.cjs.map +0 -1
- package/build/legacy/environmentManager.d.cts +0 -2
- package/build/legacy/environmentManager.d.ts +0 -2
- package/build/legacy/environmentManager.js +0 -25
- package/build/legacy/environmentManager.js.map +0 -1
- package/build/legacy/focusManager.cjs +0 -107
- package/build/legacy/focusManager.cjs.map +0 -1
- package/build/legacy/focusManager.d.cts +0 -2
- package/build/legacy/focusManager.d.ts +0 -2
- package/build/legacy/focusManager.js +0 -80
- package/build/legacy/focusManager.js.map +0 -1
- package/build/legacy/hydration.cjs +0 -178
- package/build/legacy/hydration.cjs.map +0 -1
- package/build/legacy/hydration.d.cts +0 -7
- package/build/legacy/hydration.d.ts +0 -7
- package/build/legacy/hydration.js +0 -152
- package/build/legacy/hydration.js.map +0 -1
- package/build/legacy/index.cjs +0 -113
- package/build/legacy/index.cjs.map +0 -1
- package/build/legacy/index.d.cts +0 -142
- package/build/legacy/index.d.ts +0 -142
- package/build/legacy/index.js +0 -75
- package/build/legacy/index.js.map +0 -1
- package/build/legacy/infiniteQueryBehavior.cjs +0 -146
- package/build/legacy/infiniteQueryBehavior.cjs.map +0 -1
- package/build/legacy/infiniteQueryBehavior.d.cts +0 -3
- package/build/legacy/infiniteQueryBehavior.d.ts +0 -3
- package/build/legacy/infiniteQueryBehavior.js +0 -126
- package/build/legacy/infiniteQueryBehavior.js.map +0 -1
- package/build/legacy/infiniteQueryObserver.cjs +0 -93
- package/build/legacy/infiniteQueryObserver.cjs.map +0 -1
- package/build/legacy/infiniteQueryObserver.d.cts +0 -1
- package/build/legacy/infiniteQueryObserver.d.ts +0 -1
- package/build/legacy/infiniteQueryObserver.js +0 -74
- package/build/legacy/infiniteQueryObserver.js.map +0 -1
- package/build/legacy/mutation.cjs +0 -333
- package/build/legacy/mutation.cjs.map +0 -1
- package/build/legacy/mutation.d.cts +0 -4
- package/build/legacy/mutation.d.ts +0 -4
- package/build/legacy/mutation.js +0 -306
- package/build/legacy/mutation.js.map +0 -1
- package/build/legacy/mutationCache.cjs +0 -170
- package/build/legacy/mutationCache.cjs.map +0 -1
- package/build/legacy/mutationCache.d.cts +0 -2
- package/build/legacy/mutationCache.d.ts +0 -2
- package/build/legacy/mutationCache.js +0 -137
- package/build/legacy/mutationCache.js.map +0 -1
- package/build/legacy/mutationObserver.cjs +0 -190
- package/build/legacy/mutationObserver.cjs.map +0 -1
- package/build/legacy/mutationObserver.d.cts +0 -1
- package/build/legacy/mutationObserver.d.ts +0 -1
- package/build/legacy/mutationObserver.js +0 -164
- package/build/legacy/mutationObserver.js.map +0 -1
- package/build/legacy/notifyManager.cjs +0 -113
- package/build/legacy/notifyManager.cjs.map +0 -1
- package/build/legacy/notifyManager.d.cts +0 -3
- package/build/legacy/notifyManager.d.ts +0 -3
- package/build/legacy/notifyManager.js +0 -88
- package/build/legacy/notifyManager.js.map +0 -1
- package/build/legacy/onlineManager.cjs +0 -96
- package/build/legacy/onlineManager.cjs.map +0 -1
- package/build/legacy/onlineManager.d.cts +0 -2
- package/build/legacy/onlineManager.d.ts +0 -2
- package/build/legacy/onlineManager.js +0 -69
- package/build/legacy/onlineManager.js.map +0 -1
- package/build/legacy/queriesObserver.cjs +0 -260
- package/build/legacy/queriesObserver.cjs.map +0 -1
- package/build/legacy/queriesObserver.d.cts +0 -2
- package/build/legacy/queriesObserver.d.ts +0 -2
- package/build/legacy/queriesObserver.js +0 -234
- package/build/legacy/queriesObserver.js.map +0 -1
- package/build/legacy/query.cjs +0 -478
- package/build/legacy/query.cjs.map +0 -1
- package/build/legacy/query.d.cts +0 -10
- package/build/legacy/query.d.ts +0 -10
- package/build/legacy/query.js +0 -459
- package/build/legacy/query.js.map +0 -1
- package/build/legacy/queryCache.cjs +0 -131
- package/build/legacy/queryCache.cjs.map +0 -1
- package/build/legacy/queryCache.d.cts +0 -3
- package/build/legacy/queryCache.d.ts +0 -3
- package/build/legacy/queryCache.js +0 -105
- package/build/legacy/queryCache.js.map +0 -1
- package/build/legacy/queryClient.cjs +0 -349
- package/build/legacy/queryClient.cjs.map +0 -1
- package/build/legacy/queryClient.d.cts +0 -1
- package/build/legacy/queryClient.d.ts +0 -1
- package/build/legacy/queryClient.js +0 -324
- package/build/legacy/queryClient.js.map +0 -1
- package/build/legacy/queryObserver.cjs +0 -516
- package/build/legacy/queryObserver.cjs.map +0 -1
- package/build/legacy/queryObserver.d.cts +0 -1
- package/build/legacy/queryObserver.d.ts +0 -1
- package/build/legacy/queryObserver.js +0 -498
- package/build/legacy/queryObserver.js.map +0 -1
- package/build/legacy/removable.cjs +0 -70
- package/build/legacy/removable.cjs.map +0 -1
- package/build/legacy/removable.d.cts +0 -1
- package/build/legacy/removable.d.ts +0 -1
- package/build/legacy/removable.js +0 -44
- package/build/legacy/removable.js.map +0 -1
- package/build/legacy/retryer.cjs +0 -166
- package/build/legacy/retryer.cjs.map +0 -1
- package/build/legacy/retryer.d.cts +0 -7
- package/build/legacy/retryer.d.ts +0 -7
- package/build/legacy/retryer.js +0 -140
- package/build/legacy/retryer.js.map +0 -1
- package/build/legacy/streamedQuery.cjs +0 -82
- package/build/legacy/streamedQuery.cjs.map +0 -1
- package/build/legacy/streamedQuery.d.cts +0 -1
- package/build/legacy/streamedQuery.d.ts +0 -1
- package/build/legacy/streamedQuery.js +0 -59
- package/build/legacy/streamedQuery.js.map +0 -1
- package/build/legacy/subscribable.cjs +0 -51
- package/build/legacy/subscribable.cjs.map +0 -1
- package/build/legacy/subscribable.d.cts +0 -1
- package/build/legacy/subscribable.d.ts +0 -1
- package/build/legacy/subscribable.js +0 -28
- package/build/legacy/subscribable.js.map +0 -1
- package/build/legacy/thenable.cjs +0 -76
- package/build/legacy/thenable.cjs.map +0 -1
- package/build/legacy/thenable.d.cts +0 -6
- package/build/legacy/thenable.d.ts +0 -6
- package/build/legacy/thenable.js +0 -52
- package/build/legacy/thenable.js.map +0 -1
- package/build/legacy/timeoutManager.cjs +0 -110
- package/build/legacy/timeoutManager.cjs.map +0 -1
- package/build/legacy/timeoutManager.d.cts +0 -7
- package/build/legacy/timeoutManager.d.ts +0 -7
- package/build/legacy/timeoutManager.js +0 -81
- package/build/legacy/timeoutManager.js.map +0 -1
- package/build/legacy/types.cjs +0 -37
- package/build/legacy/types.cjs.map +0 -1
- package/build/legacy/types.d.cts +0 -95
- package/build/legacy/types.d.ts +0 -95
- package/build/legacy/types.js +0 -12
- package/build/legacy/types.js.map +0 -1
- package/build/legacy/utils.cjs +0 -330
- package/build/legacy/utils.cjs.map +0 -1
- package/build/legacy/utils.d.cts +0 -30
- package/build/legacy/utils.d.ts +0 -30
- package/build/legacy/utils.js +0 -283
- package/build/legacy/utils.js.map +0 -1
- package/build/modern/_tsup-dts-rollup.d.cts +0 -2227
- package/build/modern/_tsup-dts-rollup.d.ts +0 -2227
- package/build/modern/environmentManager.cjs +0 -48
- package/build/modern/environmentManager.cjs.map +0 -1
- package/build/modern/environmentManager.d.cts +0 -2
- package/build/modern/environmentManager.d.ts +0 -2
- package/build/modern/environmentManager.js +0 -23
- package/build/modern/environmentManager.js.map +0 -1
- package/build/modern/focusManager.cjs +0 -93
- package/build/modern/focusManager.cjs.map +0 -1
- package/build/modern/focusManager.d.cts +0 -2
- package/build/modern/focusManager.d.ts +0 -2
- package/build/modern/focusManager.js +0 -67
- package/build/modern/focusManager.js.map +0 -1
- package/build/modern/hydration.cjs +0 -173
- package/build/modern/hydration.cjs.map +0 -1
- package/build/modern/hydration.d.cts +0 -7
- package/build/modern/hydration.d.ts +0 -7
- package/build/modern/hydration.js +0 -145
- package/build/modern/hydration.js.map +0 -1
- package/build/modern/index.cjs +0 -113
- package/build/modern/index.cjs.map +0 -1
- package/build/modern/index.d.cts +0 -142
- package/build/modern/index.d.ts +0 -142
- package/build/modern/index.js +0 -73
- package/build/modern/index.js.map +0 -1
- package/build/modern/infiniteQueryBehavior.cjs +0 -142
- package/build/modern/infiniteQueryBehavior.cjs.map +0 -1
- package/build/modern/infiniteQueryBehavior.d.cts +0 -3
- package/build/modern/infiniteQueryBehavior.d.ts +0 -3
- package/build/modern/infiniteQueryBehavior.js +0 -120
- package/build/modern/infiniteQueryBehavior.js.map +0 -1
- package/build/modern/infiniteQueryObserver.cjs +0 -92
- package/build/modern/infiniteQueryObserver.cjs.map +0 -1
- package/build/modern/infiniteQueryObserver.d.cts +0 -1
- package/build/modern/infiniteQueryObserver.d.ts +0 -1
- package/build/modern/infiniteQueryObserver.js +0 -71
- package/build/modern/infiniteQueryObserver.js.map +0 -1
- package/build/modern/mutation.cjs +0 -307
- package/build/modern/mutation.cjs.map +0 -1
- package/build/modern/mutation.d.cts +0 -4
- package/build/modern/mutation.d.ts +0 -4
- package/build/modern/mutation.js +0 -281
- package/build/modern/mutation.js.map +0 -1
- package/build/modern/mutationCache.cjs +0 -149
- package/build/modern/mutationCache.cjs.map +0 -1
- package/build/modern/mutationCache.d.cts +0 -2
- package/build/modern/mutationCache.d.ts +0 -2
- package/build/modern/mutationCache.js +0 -124
- package/build/modern/mutationCache.js.map +0 -1
- package/build/modern/mutationObserver.cjs +0 -165
- package/build/modern/mutationObserver.cjs.map +0 -1
- package/build/modern/mutationObserver.d.cts +0 -1
- package/build/modern/mutationObserver.d.ts +0 -1
- package/build/modern/mutationObserver.js +0 -140
- package/build/modern/mutationObserver.js.map +0 -1
- package/build/modern/notifyManager.cjs +0 -113
- package/build/modern/notifyManager.cjs.map +0 -1
- package/build/modern/notifyManager.d.cts +0 -3
- package/build/modern/notifyManager.d.ts +0 -3
- package/build/modern/notifyManager.js +0 -86
- package/build/modern/notifyManager.js.map +0 -1
- package/build/modern/onlineManager.cjs +0 -83
- package/build/modern/onlineManager.cjs.map +0 -1
- package/build/modern/onlineManager.d.cts +0 -2
- package/build/modern/onlineManager.d.ts +0 -2
- package/build/modern/onlineManager.js +0 -57
- package/build/modern/onlineManager.js.map +0 -1
- package/build/modern/queriesObserver.cjs +0 -237
- package/build/modern/queriesObserver.cjs.map +0 -1
- package/build/modern/queriesObserver.d.cts +0 -2
- package/build/modern/queriesObserver.d.ts +0 -2
- package/build/modern/queriesObserver.js +0 -212
- package/build/modern/queriesObserver.js.map +0 -1
- package/build/modern/query.cjs +0 -452
- package/build/modern/query.cjs.map +0 -1
- package/build/modern/query.d.cts +0 -10
- package/build/modern/query.d.ts +0 -10
- package/build/modern/query.js +0 -434
- package/build/modern/query.js.map +0 -1
- package/build/modern/queryCache.cjs +0 -122
- package/build/modern/queryCache.cjs.map +0 -1
- package/build/modern/queryCache.d.cts +0 -3
- package/build/modern/queryCache.d.ts +0 -3
- package/build/modern/queryCache.js +0 -97
- package/build/modern/queryCache.js.map +0 -1
- package/build/modern/queryClient.cjs +0 -322
- package/build/modern/queryClient.cjs.map +0 -1
- package/build/modern/queryClient.d.cts +0 -1
- package/build/modern/queryClient.d.ts +0 -1
- package/build/modern/queryClient.js +0 -305
- package/build/modern/queryClient.js.map +0 -1
- package/build/modern/queryObserver.cjs +0 -489
- package/build/modern/queryObserver.cjs.map +0 -1
- package/build/modern/queryObserver.d.cts +0 -1
- package/build/modern/queryObserver.d.ts +0 -1
- package/build/modern/queryObserver.js +0 -472
- package/build/modern/queryObserver.js.map +0 -1
- package/build/modern/removable.cjs +0 -59
- package/build/modern/removable.cjs.map +0 -1
- package/build/modern/removable.d.cts +0 -1
- package/build/modern/removable.d.ts +0 -1
- package/build/modern/removable.js +0 -34
- package/build/modern/removable.js.map +0 -1
- package/build/modern/retryer.cjs +0 -162
- package/build/modern/retryer.cjs.map +0 -1
- package/build/modern/retryer.d.cts +0 -7
- package/build/modern/retryer.d.ts +0 -7
- package/build/modern/retryer.js +0 -134
- package/build/modern/retryer.js.map +0 -1
- package/build/modern/streamedQuery.cjs +0 -82
- package/build/modern/streamedQuery.cjs.map +0 -1
- package/build/modern/streamedQuery.d.cts +0 -1
- package/build/modern/streamedQuery.d.ts +0 -1
- package/build/modern/streamedQuery.js +0 -57
- package/build/modern/streamedQuery.js.map +0 -1
- package/build/modern/subscribable.cjs +0 -51
- package/build/modern/subscribable.cjs.map +0 -1
- package/build/modern/subscribable.d.cts +0 -1
- package/build/modern/subscribable.d.ts +0 -1
- package/build/modern/subscribable.js +0 -26
- package/build/modern/subscribable.js.map +0 -1
- package/build/modern/thenable.cjs +0 -75
- package/build/modern/thenable.cjs.map +0 -1
- package/build/modern/thenable.d.cts +0 -6
- package/build/modern/thenable.d.ts +0 -6
- package/build/modern/thenable.js +0 -49
- package/build/modern/thenable.js.map +0 -1
- package/build/modern/timeoutManager.cjs +0 -98
- package/build/modern/timeoutManager.cjs.map +0 -1
- package/build/modern/timeoutManager.d.cts +0 -7
- package/build/modern/timeoutManager.d.ts +0 -7
- package/build/modern/timeoutManager.js +0 -70
- package/build/modern/timeoutManager.js.map +0 -1
- package/build/modern/types.cjs +0 -37
- package/build/modern/types.cjs.map +0 -1
- package/build/modern/types.d.cts +0 -95
- package/build/modern/types.d.ts +0 -95
- package/build/modern/types.js +0 -10
- package/build/modern/types.js.map +0 -1
- package/build/modern/utils.cjs +0 -330
- package/build/modern/utils.cjs.map +0 -1
- package/build/modern/utils.d.cts +0 -30
- package/build/modern/utils.d.ts +0 -30
- package/build/modern/utils.js +0 -281
- package/build/modern/utils.js.map +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/environmentManager.ts
|
|
21
|
-
var environmentManager_exports = {};
|
|
22
|
-
__export(environmentManager_exports, {
|
|
23
|
-
environmentManager: () => environmentManager
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(environmentManager_exports);
|
|
26
|
-
var import_utils = require("./utils.cjs");
|
|
27
|
-
var environmentManager = /* @__PURE__ */ (() => {
|
|
28
|
-
let isServerFn = () => import_utils.isServer;
|
|
29
|
-
return {
|
|
30
|
-
/**
|
|
31
|
-
* Returns whether the current runtime should be treated as a server environment.
|
|
32
|
-
*/
|
|
33
|
-
isServer() {
|
|
34
|
-
return isServerFn();
|
|
35
|
-
},
|
|
36
|
-
/**
|
|
37
|
-
* Overrides the server check globally.
|
|
38
|
-
*/
|
|
39
|
-
setIsServer(isServerValue) {
|
|
40
|
-
isServerFn = isServerValue;
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
})();
|
|
44
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
-
0 && (module.exports = {
|
|
46
|
-
environmentManager
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=environmentManager.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAOlB,IAAM,qBAAsB,uBAAM;AACvC,MAAI,aAA4B,MAAM;AAEtC,SAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAoB;AAClB,aAAO,WAAW;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY,eAAoC;AAC9C,mBAAa;AAAA,IACf;AAAA,EACF;AACF,GAAG;","names":[]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// src/environmentManager.ts
|
|
2
|
-
import { isServer } from "./utils.js";
|
|
3
|
-
var environmentManager = /* @__PURE__ */ (() => {
|
|
4
|
-
let isServerFn = () => isServer;
|
|
5
|
-
return {
|
|
6
|
-
/**
|
|
7
|
-
* Returns whether the current runtime should be treated as a server environment.
|
|
8
|
-
*/
|
|
9
|
-
isServer() {
|
|
10
|
-
return isServerFn();
|
|
11
|
-
},
|
|
12
|
-
/**
|
|
13
|
-
* Overrides the server check globally.
|
|
14
|
-
*/
|
|
15
|
-
setIsServer(isServerValue) {
|
|
16
|
-
isServerFn = isServerValue;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
})();
|
|
20
|
-
export {
|
|
21
|
-
environmentManager
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=environmentManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/environmentManager.ts"],"sourcesContent":["import { isServer } from './utils'\n\nexport type IsServerValue = () => boolean\n\n/**\n * Manages environment detection used by TanStack Query internals.\n */\nexport const environmentManager = (() => {\n let isServerFn: IsServerValue = () => isServer\n\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer(): boolean {\n return isServerFn()\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue: IsServerValue): void {\n isServerFn = isServerValue\n },\n }\n})()\n"],"mappings":";AAAA,SAAS,gBAAgB;AAOlB,IAAM,qBAAsB,uBAAM;AACvC,MAAI,aAA4B,MAAM;AAEtC,SAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAoB;AAClB,aAAO,WAAW;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY,eAAoC;AAC9C,mBAAa;AAAA,IACf;AAAA,EACF;AACF,GAAG;","names":[]}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/focusManager.ts
|
|
21
|
-
var focusManager_exports = {};
|
|
22
|
-
__export(focusManager_exports, {
|
|
23
|
-
FocusManager: () => FocusManager,
|
|
24
|
-
focusManager: () => focusManager
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(focusManager_exports);
|
|
27
|
-
var import_subscribable = require("./subscribable.cjs");
|
|
28
|
-
var FocusManager = class extends import_subscribable.Subscribable {
|
|
29
|
-
#focused;
|
|
30
|
-
#cleanup;
|
|
31
|
-
#setup;
|
|
32
|
-
constructor() {
|
|
33
|
-
super();
|
|
34
|
-
this.#setup = (onFocus) => {
|
|
35
|
-
if (typeof window !== "undefined" && window.addEventListener) {
|
|
36
|
-
const listener = () => onFocus();
|
|
37
|
-
window.addEventListener("visibilitychange", listener, false);
|
|
38
|
-
return () => {
|
|
39
|
-
window.removeEventListener("visibilitychange", listener);
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
return;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
onSubscribe() {
|
|
46
|
-
if (!this.#cleanup) {
|
|
47
|
-
this.setEventListener(this.#setup);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
onUnsubscribe() {
|
|
51
|
-
if (!this.hasListeners()) {
|
|
52
|
-
this.#cleanup?.();
|
|
53
|
-
this.#cleanup = void 0;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
setEventListener(setup) {
|
|
57
|
-
this.#setup = setup;
|
|
58
|
-
this.#cleanup?.();
|
|
59
|
-
this.#cleanup = setup((focused) => {
|
|
60
|
-
if (typeof focused === "boolean") {
|
|
61
|
-
this.setFocused(focused);
|
|
62
|
-
} else {
|
|
63
|
-
this.onFocus();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
setFocused(focused) {
|
|
68
|
-
const changed = this.#focused !== focused;
|
|
69
|
-
if (changed) {
|
|
70
|
-
this.#focused = focused;
|
|
71
|
-
this.onFocus();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
onFocus() {
|
|
75
|
-
const isFocused = this.isFocused();
|
|
76
|
-
this.listeners.forEach((listener) => {
|
|
77
|
-
listener(isFocused);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
isFocused() {
|
|
81
|
-
if (typeof this.#focused === "boolean") {
|
|
82
|
-
return this.#focused;
|
|
83
|
-
}
|
|
84
|
-
return globalThis.document?.visibilityState !== "hidden";
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
var focusManager = new FocusManager();
|
|
88
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
-
0 && (module.exports = {
|
|
90
|
-
FocusManager,
|
|
91
|
-
focusManager
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=focusManager.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\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 (typeof window !== 'undefined' && 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 const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAQtB,IAAM,eAAN,cAA2B,iCAAuB;AAAA,EACvD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,YAAY;AAGzB,UAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;AAC5D,cAAM,WAAW,MAAM,QAAQ;AAE/B,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAE3D,eAAO,MAAM;AAEX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACzD;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MACzB,OAAO;AACL,aAAK,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,SAAyB;AAClC,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,YAAY,KAAK,UAAU;AACjC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,YAAqB;AACnB,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IACd;AAIA,WAAO,WAAW,UAAU,oBAAoB;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,IAAI,aAAa;","names":[]}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// src/focusManager.ts
|
|
2
|
-
import { Subscribable } from "./subscribable.js";
|
|
3
|
-
var FocusManager = class extends Subscribable {
|
|
4
|
-
#focused;
|
|
5
|
-
#cleanup;
|
|
6
|
-
#setup;
|
|
7
|
-
constructor() {
|
|
8
|
-
super();
|
|
9
|
-
this.#setup = (onFocus) => {
|
|
10
|
-
if (typeof window !== "undefined" && window.addEventListener) {
|
|
11
|
-
const listener = () => onFocus();
|
|
12
|
-
window.addEventListener("visibilitychange", listener, false);
|
|
13
|
-
return () => {
|
|
14
|
-
window.removeEventListener("visibilitychange", listener);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
return;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
onSubscribe() {
|
|
21
|
-
if (!this.#cleanup) {
|
|
22
|
-
this.setEventListener(this.#setup);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
onUnsubscribe() {
|
|
26
|
-
if (!this.hasListeners()) {
|
|
27
|
-
this.#cleanup?.();
|
|
28
|
-
this.#cleanup = void 0;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
setEventListener(setup) {
|
|
32
|
-
this.#setup = setup;
|
|
33
|
-
this.#cleanup?.();
|
|
34
|
-
this.#cleanup = setup((focused) => {
|
|
35
|
-
if (typeof focused === "boolean") {
|
|
36
|
-
this.setFocused(focused);
|
|
37
|
-
} else {
|
|
38
|
-
this.onFocus();
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
setFocused(focused) {
|
|
43
|
-
const changed = this.#focused !== focused;
|
|
44
|
-
if (changed) {
|
|
45
|
-
this.#focused = focused;
|
|
46
|
-
this.onFocus();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
onFocus() {
|
|
50
|
-
const isFocused = this.isFocused();
|
|
51
|
-
this.listeners.forEach((listener) => {
|
|
52
|
-
listener(isFocused);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
isFocused() {
|
|
56
|
-
if (typeof this.#focused === "boolean") {
|
|
57
|
-
return this.#focused;
|
|
58
|
-
}
|
|
59
|
-
return globalThis.document?.visibilityState !== "hidden";
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
var focusManager = new FocusManager();
|
|
63
|
-
export {
|
|
64
|
-
FocusManager,
|
|
65
|
-
focusManager
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=focusManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\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 (typeof window !== 'undefined' && 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 const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\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"],"mappings":";AAAA,SAAS,oBAAoB;AAQtB,IAAM,eAAN,cAA2B,aAAuB;AAAA,EACvD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,YAAY;AAGzB,UAAI,OAAO,WAAW,eAAe,OAAO,kBAAkB;AAC5D,cAAM,WAAW,MAAM,QAAQ;AAE/B,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAE3D,eAAO,MAAM;AAEX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACzD;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MACzB,OAAO;AACL,aAAK,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,SAAyB;AAClC,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,YAAY,KAAK,UAAU;AACjC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,YAAqB;AACnB,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IACd;AAIA,WAAO,WAAW,UAAU,oBAAoB;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,IAAI,aAAa;","names":[]}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/hydration.ts
|
|
21
|
-
var hydration_exports = {};
|
|
22
|
-
__export(hydration_exports, {
|
|
23
|
-
defaultShouldDehydrateMutation: () => defaultShouldDehydrateMutation,
|
|
24
|
-
defaultShouldDehydrateQuery: () => defaultShouldDehydrateQuery,
|
|
25
|
-
dehydrate: () => dehydrate,
|
|
26
|
-
hydrate: () => hydrate
|
|
27
|
-
});
|
|
28
|
-
module.exports = __toCommonJS(hydration_exports);
|
|
29
|
-
var import_thenable = require("./thenable.cjs");
|
|
30
|
-
var import_utils = require("./utils.cjs");
|
|
31
|
-
function defaultTransformerFn(data) {
|
|
32
|
-
return data;
|
|
33
|
-
}
|
|
34
|
-
function dehydrateMutation(mutation) {
|
|
35
|
-
return {
|
|
36
|
-
mutationKey: mutation.options.mutationKey,
|
|
37
|
-
state: mutation.state,
|
|
38
|
-
...mutation.options.scope && { scope: mutation.options.scope },
|
|
39
|
-
...mutation.meta && { meta: mutation.meta }
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function dehydrateQuery(query, serializeData, shouldRedactErrors) {
|
|
43
|
-
const dehydratePromise = () => {
|
|
44
|
-
const promise = query.promise?.then(serializeData).catch((error) => {
|
|
45
|
-
if (!shouldRedactErrors(error)) {
|
|
46
|
-
return Promise.reject(error);
|
|
47
|
-
}
|
|
48
|
-
if (process.env.NODE_ENV !== "production") {
|
|
49
|
-
console.error(
|
|
50
|
-
`A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
return Promise.reject(new Error("redacted"));
|
|
54
|
-
});
|
|
55
|
-
promise?.catch(import_utils.noop);
|
|
56
|
-
return promise;
|
|
57
|
-
};
|
|
58
|
-
return {
|
|
59
|
-
dehydratedAt: Date.now(),
|
|
60
|
-
state: {
|
|
61
|
-
...query.state,
|
|
62
|
-
...query.state.data !== void 0 && {
|
|
63
|
-
data: serializeData(query.state.data)
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
queryKey: query.queryKey,
|
|
67
|
-
queryHash: query.queryHash,
|
|
68
|
-
...query.state.status === "pending" && {
|
|
69
|
-
promise: dehydratePromise()
|
|
70
|
-
},
|
|
71
|
-
...query.meta && { meta: query.meta }
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function defaultShouldDehydrateMutation(mutation) {
|
|
75
|
-
return mutation.state.isPaused;
|
|
76
|
-
}
|
|
77
|
-
function defaultShouldDehydrateQuery(query) {
|
|
78
|
-
return query.state.status === "success";
|
|
79
|
-
}
|
|
80
|
-
function defaultShouldRedactErrors(_) {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
function dehydrate(client, options = {}) {
|
|
84
|
-
const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
|
|
85
|
-
const mutations = client.getMutationCache().getAll().flatMap(
|
|
86
|
-
(mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
|
|
87
|
-
);
|
|
88
|
-
const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
|
|
89
|
-
const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;
|
|
90
|
-
const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;
|
|
91
|
-
const queries = client.getQueryCache().getAll().flatMap(
|
|
92
|
-
(query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []
|
|
93
|
-
);
|
|
94
|
-
return { mutations, queries };
|
|
95
|
-
}
|
|
96
|
-
function hydrate(client, dehydratedState, options) {
|
|
97
|
-
if (typeof dehydratedState !== "object" || dehydratedState === null) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
const mutationCache = client.getMutationCache();
|
|
101
|
-
const queryCache = client.getQueryCache();
|
|
102
|
-
const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;
|
|
103
|
-
const mutations = dehydratedState.mutations || [];
|
|
104
|
-
const queries = dehydratedState.queries || [];
|
|
105
|
-
mutations.forEach(({ state, ...mutationOptions }) => {
|
|
106
|
-
mutationCache.build(
|
|
107
|
-
client,
|
|
108
|
-
{
|
|
109
|
-
...client.getDefaultOptions().hydrate?.mutations,
|
|
110
|
-
...options?.defaultOptions?.mutations,
|
|
111
|
-
...mutationOptions
|
|
112
|
-
},
|
|
113
|
-
state
|
|
114
|
-
);
|
|
115
|
-
});
|
|
116
|
-
queries.forEach(
|
|
117
|
-
({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {
|
|
118
|
-
const syncData = promise ? (0, import_thenable.tryResolveSync)(promise) : void 0;
|
|
119
|
-
const rawData = state.data === void 0 ? syncData?.data : state.data;
|
|
120
|
-
const data = rawData === void 0 ? rawData : deserializeData(rawData);
|
|
121
|
-
let query = queryCache.get(queryHash);
|
|
122
|
-
const existingQueryIsPending = query?.state.status === "pending";
|
|
123
|
-
const existingQueryIsFetching = query?.state.fetchStatus === "fetching";
|
|
124
|
-
if (query) {
|
|
125
|
-
const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration
|
|
126
|
-
// payloads that might not have dehydratedAt
|
|
127
|
-
dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;
|
|
128
|
-
if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {
|
|
129
|
-
const { fetchStatus: _ignored, ...serializedState } = state;
|
|
130
|
-
query.setState({
|
|
131
|
-
...serializedState,
|
|
132
|
-
data
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
} else {
|
|
136
|
-
query = queryCache.build(
|
|
137
|
-
client,
|
|
138
|
-
{
|
|
139
|
-
...client.getDefaultOptions().hydrate?.queries,
|
|
140
|
-
...options?.defaultOptions?.queries,
|
|
141
|
-
queryKey,
|
|
142
|
-
queryHash,
|
|
143
|
-
meta
|
|
144
|
-
},
|
|
145
|
-
// Reset fetch status to idle to avoid
|
|
146
|
-
// query being stuck in fetching state upon hydration
|
|
147
|
-
{
|
|
148
|
-
...state,
|
|
149
|
-
data,
|
|
150
|
-
fetchStatus: "idle",
|
|
151
|
-
status: data !== void 0 ? "success" : state.status
|
|
152
|
-
}
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,
|
|
156
|
-
// this is always true for new queries
|
|
157
|
-
(dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {
|
|
158
|
-
query.fetch(void 0, {
|
|
159
|
-
// RSC transformed promises are not thenable
|
|
160
|
-
initialPromise: Promise.resolve(promise).then(deserializeData)
|
|
161
|
-
}).catch(import_utils.noop);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
);
|
|
165
|
-
}
|
|
166
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
167
|
-
0 && (module.exports = {
|
|
168
|
-
defaultShouldDehydrateMutation,
|
|
169
|
-
defaultShouldDehydrateQuery,
|
|
170
|
-
dehydrate,
|
|
171
|
-
hydrate
|
|
172
|
-
});
|
|
173
|
-
//# sourceMappingURL=hydration.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hydration.ts"],"sourcesContent":["import { tryResolveSync } from './thenable'\nimport { noop } from './utils'\nimport type {\n DefaultError,\n MutationKey,\n MutationMeta,\n MutationOptions,\n MutationScope,\n QueryKey,\n QueryMeta,\n QueryOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\ntype TransformerFn = (data: any) => any\nfunction defaultTransformerFn(data: any): any {\n return data\n}\n\nexport interface DehydrateOptions {\n serializeData?: TransformerFn\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n shouldRedactErrors?: (error: unknown) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n deserializeData?: TransformerFn\n queries?: QueryOptions\n mutations?: MutationOptions<unknown, DefaultError, unknown, unknown>\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n meta?: MutationMeta\n scope?: MutationScope\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n promise?: Promise<unknown>\n meta?: QueryMeta\n // This is only optional because older versions of Query might have dehydrated\n // without it which we need to handle for backwards compatibility.\n // This should be changed to required in the future.\n dehydratedAt?: number\n}\n\nexport interface DehydratedState {\n mutations: Array<DehydratedMutation>\n queries: Array<DehydratedQuery>\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...(mutation.options.scope && { scope: mutation.options.scope }),\n ...(mutation.meta && { meta: mutation.meta }),\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(\n query: Query,\n serializeData: TransformerFn,\n shouldRedactErrors: (error: unknown) => boolean,\n): DehydratedQuery {\n const dehydratePromise = () => {\n const promise = query.promise?.then(serializeData).catch((error) => {\n if (!shouldRedactErrors(error)) {\n // Reject original error if it should not be redacted\n return Promise.reject(error)\n }\n // If not in production, log original error before rejecting redacted error\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`,\n )\n }\n return Promise.reject(new Error('redacted'))\n })\n\n // Avoid unhandled promise rejections\n // We need the promise we dehydrate to reject to get the correct result into\n // the query cache, but we also want to avoid unhandled promise rejections\n // in whatever environment the prefetches are happening in.\n promise?.catch(noop)\n\n return promise\n }\n\n return {\n dehydratedAt: Date.now(),\n state: {\n ...query.state,\n ...(query.state.data !== undefined && {\n data: serializeData(query.state.data),\n }),\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.state.status === 'pending' && {\n promise: dehydratePromise(),\n }),\n ...(query.meta && { meta: query.meta }),\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\nfunction defaultShouldRedactErrors(_: unknown) {\n return true\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ??\n 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 ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ??\n defaultShouldDehydrateQuery\n\n const shouldRedactErrors =\n options.shouldRedactErrors ??\n client.getDefaultOptions().dehydrate?.shouldRedactErrors ??\n defaultShouldRedactErrors\n\n const serializeData =\n options.serializeData ??\n client.getDefaultOptions().dehydrate?.serializeData ??\n defaultTransformerFn\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) =>\n filterQuery(query)\n ? [dehydrateQuery(query, serializeData, shouldRedactErrors)]\n : [],\n )\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 const deserializeData =\n options?.defaultOptions?.deserializeData ??\n client.getDefaultOptions().hydrate?.deserializeData ??\n defaultTransformerFn\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(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions,\n },\n state,\n )\n })\n\n queries.forEach(\n ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n const syncData = promise ? tryResolveSync(promise) : undefined\n const rawData = state.data === undefined ? syncData?.data : state.data\n const data = rawData === undefined ? rawData : deserializeData(rawData)\n\n let query = queryCache.get(queryHash)\n const existingQueryIsPending = query?.state.status === 'pending'\n const existingQueryIsFetching = query?.state.fetchStatus === 'fetching'\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n const hasNewerSyncData =\n syncData &&\n // We only need this undefined check to handle older dehydration\n // payloads that might not have dehydratedAt\n dehydratedAt !== undefined &&\n dehydratedAt > query.state.dataUpdatedAt\n if (\n state.dataUpdatedAt > query.state.dataUpdatedAt ||\n hasNewerSyncData\n ) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...serializedState } = state\n query.setState({\n ...serializedState,\n data,\n })\n }\n } else {\n // Restore query\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta,\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n data,\n fetchStatus: 'idle',\n status: data !== undefined ? 'success' : state.status,\n },\n )\n }\n\n if (\n promise &&\n !existingQueryIsPending &&\n !existingQueryIsFetching &&\n // Only hydrate if dehydration is newer than any existing data,\n // this is always true for new queries\n (dehydratedAt === undefined || dehydratedAt > query.state.dataUpdatedAt)\n ) {\n // This doesn't actually fetch - it just creates a retryer\n // which will re-use the passed `initialPromise`\n // Note that we need to call these even when data was synchronously\n // available, as we still need to set up the retryer\n query\n .fetch(undefined, {\n // RSC transformed promises are not thenable\n initialPromise: Promise.resolve(promise).then(deserializeData),\n })\n // Avoid unhandled promise rejections\n .catch(noop)\n }\n },\n )\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { defaultShouldDehydrateMutation } from './_tsup-dts-rollup.cjs';
|
|
2
|
-
export { defaultShouldDehydrateQuery } from './_tsup-dts-rollup.cjs';
|
|
3
|
-
export { dehydrate } from './_tsup-dts-rollup.cjs';
|
|
4
|
-
export { hydrate } from './_tsup-dts-rollup.cjs';
|
|
5
|
-
export { DehydrateOptions } from './_tsup-dts-rollup.cjs';
|
|
6
|
-
export { HydrateOptions } from './_tsup-dts-rollup.cjs';
|
|
7
|
-
export { DehydratedState } from './_tsup-dts-rollup.cjs';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { defaultShouldDehydrateMutation } from './_tsup-dts-rollup.js';
|
|
2
|
-
export { defaultShouldDehydrateQuery } from './_tsup-dts-rollup.js';
|
|
3
|
-
export { dehydrate } from './_tsup-dts-rollup.js';
|
|
4
|
-
export { hydrate } from './_tsup-dts-rollup.js';
|
|
5
|
-
export { DehydrateOptions } from './_tsup-dts-rollup.js';
|
|
6
|
-
export { HydrateOptions } from './_tsup-dts-rollup.js';
|
|
7
|
-
export { DehydratedState } from './_tsup-dts-rollup.js';
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// src/hydration.ts
|
|
2
|
-
import { tryResolveSync } from "./thenable.js";
|
|
3
|
-
import { noop } from "./utils.js";
|
|
4
|
-
function defaultTransformerFn(data) {
|
|
5
|
-
return data;
|
|
6
|
-
}
|
|
7
|
-
function dehydrateMutation(mutation) {
|
|
8
|
-
return {
|
|
9
|
-
mutationKey: mutation.options.mutationKey,
|
|
10
|
-
state: mutation.state,
|
|
11
|
-
...mutation.options.scope && { scope: mutation.options.scope },
|
|
12
|
-
...mutation.meta && { meta: mutation.meta }
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
function dehydrateQuery(query, serializeData, shouldRedactErrors) {
|
|
16
|
-
const dehydratePromise = () => {
|
|
17
|
-
const promise = query.promise?.then(serializeData).catch((error) => {
|
|
18
|
-
if (!shouldRedactErrors(error)) {
|
|
19
|
-
return Promise.reject(error);
|
|
20
|
-
}
|
|
21
|
-
if (process.env.NODE_ENV !== "production") {
|
|
22
|
-
console.error(
|
|
23
|
-
`A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
return Promise.reject(new Error("redacted"));
|
|
27
|
-
});
|
|
28
|
-
promise?.catch(noop);
|
|
29
|
-
return promise;
|
|
30
|
-
};
|
|
31
|
-
return {
|
|
32
|
-
dehydratedAt: Date.now(),
|
|
33
|
-
state: {
|
|
34
|
-
...query.state,
|
|
35
|
-
...query.state.data !== void 0 && {
|
|
36
|
-
data: serializeData(query.state.data)
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
queryKey: query.queryKey,
|
|
40
|
-
queryHash: query.queryHash,
|
|
41
|
-
...query.state.status === "pending" && {
|
|
42
|
-
promise: dehydratePromise()
|
|
43
|
-
},
|
|
44
|
-
...query.meta && { meta: query.meta }
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function defaultShouldDehydrateMutation(mutation) {
|
|
48
|
-
return mutation.state.isPaused;
|
|
49
|
-
}
|
|
50
|
-
function defaultShouldDehydrateQuery(query) {
|
|
51
|
-
return query.state.status === "success";
|
|
52
|
-
}
|
|
53
|
-
function defaultShouldRedactErrors(_) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
function dehydrate(client, options = {}) {
|
|
57
|
-
const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
|
|
58
|
-
const mutations = client.getMutationCache().getAll().flatMap(
|
|
59
|
-
(mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
|
|
60
|
-
);
|
|
61
|
-
const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
|
|
62
|
-
const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;
|
|
63
|
-
const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;
|
|
64
|
-
const queries = client.getQueryCache().getAll().flatMap(
|
|
65
|
-
(query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []
|
|
66
|
-
);
|
|
67
|
-
return { mutations, queries };
|
|
68
|
-
}
|
|
69
|
-
function hydrate(client, dehydratedState, options) {
|
|
70
|
-
if (typeof dehydratedState !== "object" || dehydratedState === null) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const mutationCache = client.getMutationCache();
|
|
74
|
-
const queryCache = client.getQueryCache();
|
|
75
|
-
const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;
|
|
76
|
-
const mutations = dehydratedState.mutations || [];
|
|
77
|
-
const queries = dehydratedState.queries || [];
|
|
78
|
-
mutations.forEach(({ state, ...mutationOptions }) => {
|
|
79
|
-
mutationCache.build(
|
|
80
|
-
client,
|
|
81
|
-
{
|
|
82
|
-
...client.getDefaultOptions().hydrate?.mutations,
|
|
83
|
-
...options?.defaultOptions?.mutations,
|
|
84
|
-
...mutationOptions
|
|
85
|
-
},
|
|
86
|
-
state
|
|
87
|
-
);
|
|
88
|
-
});
|
|
89
|
-
queries.forEach(
|
|
90
|
-
({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {
|
|
91
|
-
const syncData = promise ? tryResolveSync(promise) : void 0;
|
|
92
|
-
const rawData = state.data === void 0 ? syncData?.data : state.data;
|
|
93
|
-
const data = rawData === void 0 ? rawData : deserializeData(rawData);
|
|
94
|
-
let query = queryCache.get(queryHash);
|
|
95
|
-
const existingQueryIsPending = query?.state.status === "pending";
|
|
96
|
-
const existingQueryIsFetching = query?.state.fetchStatus === "fetching";
|
|
97
|
-
if (query) {
|
|
98
|
-
const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration
|
|
99
|
-
// payloads that might not have dehydratedAt
|
|
100
|
-
dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;
|
|
101
|
-
if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {
|
|
102
|
-
const { fetchStatus: _ignored, ...serializedState } = state;
|
|
103
|
-
query.setState({
|
|
104
|
-
...serializedState,
|
|
105
|
-
data
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
} else {
|
|
109
|
-
query = queryCache.build(
|
|
110
|
-
client,
|
|
111
|
-
{
|
|
112
|
-
...client.getDefaultOptions().hydrate?.queries,
|
|
113
|
-
...options?.defaultOptions?.queries,
|
|
114
|
-
queryKey,
|
|
115
|
-
queryHash,
|
|
116
|
-
meta
|
|
117
|
-
},
|
|
118
|
-
// Reset fetch status to idle to avoid
|
|
119
|
-
// query being stuck in fetching state upon hydration
|
|
120
|
-
{
|
|
121
|
-
...state,
|
|
122
|
-
data,
|
|
123
|
-
fetchStatus: "idle",
|
|
124
|
-
status: data !== void 0 ? "success" : state.status
|
|
125
|
-
}
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,
|
|
129
|
-
// this is always true for new queries
|
|
130
|
-
(dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {
|
|
131
|
-
query.fetch(void 0, {
|
|
132
|
-
// RSC transformed promises are not thenable
|
|
133
|
-
initialPromise: Promise.resolve(promise).then(deserializeData)
|
|
134
|
-
}).catch(noop);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
export {
|
|
140
|
-
defaultShouldDehydrateMutation,
|
|
141
|
-
defaultShouldDehydrateQuery,
|
|
142
|
-
dehydrate,
|
|
143
|
-
hydrate
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=hydration.js.map
|