one 1.2.18 → 1.2.20
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/dist/cjs/createHandleRequest.cjs +7 -2
- package/dist/cjs/createHandleRequest.js +8 -3
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +8 -2
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/experimental-useLoaderState.cjs +64 -0
- package/dist/cjs/experimental-useLoaderState.js +44 -0
- package/dist/cjs/experimental-useLoaderState.js.map +6 -0
- package/dist/cjs/experimental-useLoaderState.native.js +69 -0
- package/dist/cjs/experimental-useLoaderState.native.js.map +1 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +35 -5
- package/dist/cjs/router/router.js +26 -5
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +32 -5
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +8 -6
- package/dist/cjs/server/oneServe.js +10 -5
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +8 -6
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +117 -36
- package/dist/cjs/useLoader.js +108 -33
- package/dist/cjs/useLoader.js.map +2 -2
- package/dist/cjs/useLoader.native.js +151 -55
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.cjs +6 -5
- package/dist/cjs/utils/cleanUrl.js +4 -8
- package/dist/cjs/utils/cleanUrl.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.native.js +6 -3
- package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
- package/dist/esm/createHandleRequest.js +8 -3
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +7 -2
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +8 -2
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/experimental-useLoaderState.js +32 -0
- package/dist/esm/experimental-useLoaderState.js.map +6 -0
- package/dist/esm/experimental-useLoaderState.mjs +41 -0
- package/dist/esm/experimental-useLoaderState.mjs.map +1 -0
- package/dist/esm/experimental-useLoaderState.native.js +43 -0
- package/dist/esm/experimental-useLoaderState.native.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/router/router.js +26 -5
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +35 -5
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +32 -5
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +10 -5
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +7 -5
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +7 -5
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/useLoader.js +110 -35
- package/dist/esm/useLoader.js.map +2 -2
- package/dist/esm/useLoader.mjs +117 -38
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +151 -57
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/cleanUrl.js +4 -8
- package/dist/esm/utils/cleanUrl.js.map +1 -1
- package/dist/esm/utils/cleanUrl.mjs +6 -5
- package/dist/esm/utils/cleanUrl.mjs.map +1 -1
- package/dist/esm/utils/cleanUrl.native.js +6 -3
- package/dist/esm/utils/cleanUrl.native.js.map +1 -1
- package/package.json +10 -10
- package/src/createHandleRequest.ts +6 -2
- package/src/index.ts +1 -1
- package/src/router/router.ts +45 -0
- package/src/server/oneServe.ts +12 -6
- package/src/types.ts +1 -0
- package/src/useLoader.ts +206 -90
- package/src/utils/cleanUrl.ts +7 -10
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/experimental-useLoaderState.d.ts.map +1 -0
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/router/router.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +1 -1
- package/types/useLoader.d.ts +9 -0
- package/types/useLoader.d.ts.map +1 -1
- package/types/utils/cleanUrl.d.ts +1 -1
- package/types/utils/cleanUrl.d.ts.map +1 -1
package/dist/cjs/useLoader.js
CHANGED
|
@@ -14,49 +14,124 @@ var __export = (target, all) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
15
|
var useLoader_exports = {};
|
|
16
16
|
__export(useLoader_exports, {
|
|
17
|
-
|
|
17
|
+
refetchLoader: () => refetchLoader,
|
|
18
|
+
useLoader: () => useLoader,
|
|
19
|
+
useLoaderState: () => useLoaderState
|
|
18
20
|
});
|
|
19
21
|
module.exports = __toCommonJS(useLoader_exports);
|
|
20
22
|
var import_react = require("react"), import_hooks = require("./hooks"), import_href = require("./link/href"), import_router = require("./router/router"), import_cleanUrl = require("./utils/cleanUrl"), import_dynamicImport = require("./utils/dynamicImport"), import_weakKey = require("./utils/weakKey"), import_one_server_only = require("./vite/one-server-only");
|
|
21
|
-
const
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const loaderState = {}, subscribers = /* @__PURE__ */ new Set();
|
|
24
|
+
function updateState(path, updates) {
|
|
25
|
+
loaderState[path] = { ...loaderState[path], ...updates }, subscribers.forEach((callback) => {
|
|
26
|
+
callback();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function subscribe(callback) {
|
|
30
|
+
return subscribers.add(callback), () => subscribers.delete(callback);
|
|
31
|
+
}
|
|
32
|
+
function getLoaderState(path, preloadedData2) {
|
|
33
|
+
return loaderState[path] || (loaderState[path] = {
|
|
34
|
+
data: preloadedData2,
|
|
35
|
+
error: void 0,
|
|
36
|
+
promise: void 0,
|
|
37
|
+
state: "idle",
|
|
38
|
+
hasLoadedOnce: !!preloadedData2
|
|
39
|
+
}), loaderState[path];
|
|
40
|
+
}
|
|
41
|
+
async function refetchLoader(pathname2) {
|
|
42
|
+
updateState(pathname2, {
|
|
43
|
+
state: "loading",
|
|
44
|
+
error: null
|
|
45
|
+
});
|
|
46
|
+
try {
|
|
47
|
+
const cacheBust = `${Date.now()}`, loaderJSUrl2 = (0, import_cleanUrl.getLoaderPath)(pathname2, !0, cacheBust), result2 = await (await (0, import_dynamicImport.dynamicImport)(loaderJSUrl2)).loader();
|
|
48
|
+
updateState(pathname2, {
|
|
49
|
+
data: result2,
|
|
50
|
+
state: "idle",
|
|
51
|
+
timestamp: Date.now(),
|
|
52
|
+
hasLoadedOnce: !0
|
|
53
|
+
});
|
|
54
|
+
} catch (err) {
|
|
55
|
+
throw updateState(pathname2, {
|
|
56
|
+
error: err,
|
|
57
|
+
state: "idle"
|
|
58
|
+
}), err;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function useLoaderState(loader) {
|
|
62
|
+
const { loaderProps: loaderPropsFromServerContext, loaderData: loaderDataFromServerContext } = (0, import_one_server_only.useServerContext)() || {}, params = (0, import_hooks.useParams)(), pathname = (0, import_hooks.usePathname)(), currentPath = (0, import_href.resolveHref)({ pathname, params }).replace(/index$/, "");
|
|
63
|
+
if (typeof window > "u" && loader)
|
|
64
|
+
return { data: useAsyncFn(
|
|
26
65
|
loader,
|
|
27
66
|
loaderPropsFromServerContext || {
|
|
28
|
-
path:
|
|
29
|
-
params
|
|
67
|
+
path: pathname,
|
|
68
|
+
params
|
|
30
69
|
}
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
70
|
+
), refetch: async () => {
|
|
71
|
+
}, state: "idle" };
|
|
72
|
+
const preloadedData = loaderPropsFromServerContext?.path === currentPath ? loaderDataFromServerContext : void 0, loaderStateEntry = (0, import_react.useSyncExternalStore)(
|
|
73
|
+
subscribe,
|
|
74
|
+
() => getLoaderState(currentPath, preloadedData),
|
|
75
|
+
() => getLoaderState(currentPath, preloadedData)
|
|
76
|
+
), refetch = (0, import_react.useCallback)(() => refetchLoader(currentPath), [currentPath]);
|
|
77
|
+
if (!loader)
|
|
78
|
+
return {
|
|
79
|
+
refetch,
|
|
80
|
+
state: loaderStateEntry.state
|
|
81
|
+
};
|
|
82
|
+
if (!loaderStateEntry.data && !loaderStateEntry.promise && !loaderStateEntry.hasLoadedOnce && loader)
|
|
83
|
+
if (import_router.preloadingLoader[currentPath]) {
|
|
84
|
+
typeof import_router.preloadingLoader[currentPath] == "function" && (import_router.preloadingLoader[currentPath] = import_router.preloadingLoader[currentPath]());
|
|
85
|
+
const promise2 = import_router.preloadingLoader[currentPath].then((val) => {
|
|
86
|
+
delete import_router.preloadingLoader[currentPath], updateState(currentPath, {
|
|
87
|
+
data: val,
|
|
88
|
+
hasLoadedOnce: !0,
|
|
89
|
+
promise: void 0
|
|
90
|
+
});
|
|
91
|
+
}).catch((err) => {
|
|
92
|
+
console.error("Error running loader()", err), delete import_router.preloadingLoader[currentPath], updateState(currentPath, {
|
|
93
|
+
error: err,
|
|
94
|
+
promise: void 0
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
loaderStateEntry.promise = promise2;
|
|
98
|
+
} else {
|
|
99
|
+
const loadData = async () => {
|
|
48
100
|
try {
|
|
49
|
-
const
|
|
50
|
-
|
|
101
|
+
const loaderJSUrl = (0, import_cleanUrl.getLoaderPath)(currentPath, !0), module = await (0, import_dynamicImport.dynamicImport)(loaderJSUrl), result = await module.loader();
|
|
102
|
+
updateState(currentPath, {
|
|
103
|
+
data: result,
|
|
104
|
+
hasLoadedOnce: !0,
|
|
105
|
+
promise: void 0
|
|
106
|
+
});
|
|
51
107
|
} catch (err) {
|
|
52
|
-
|
|
108
|
+
updateState(currentPath, {
|
|
109
|
+
error: err,
|
|
110
|
+
promise: void 0
|
|
111
|
+
});
|
|
53
112
|
}
|
|
54
|
-
};
|
|
55
|
-
|
|
113
|
+
}, promise = loadData();
|
|
114
|
+
loaderStateEntry.promise = promise;
|
|
56
115
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
116
|
+
if (loader) {
|
|
117
|
+
if (loaderStateEntry.error && !loaderStateEntry.hasLoadedOnce)
|
|
118
|
+
throw loaderStateEntry.error;
|
|
119
|
+
if (loaderStateEntry.data === void 0 && loaderStateEntry.promise && !loaderStateEntry.hasLoadedOnce)
|
|
120
|
+
throw loaderStateEntry.promise;
|
|
121
|
+
return {
|
|
122
|
+
data: loaderStateEntry.data,
|
|
123
|
+
refetch,
|
|
124
|
+
state: loaderStateEntry.state
|
|
125
|
+
};
|
|
126
|
+
} else
|
|
127
|
+
return {
|
|
128
|
+
refetch,
|
|
129
|
+
state: loaderStateEntry.state
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function useLoader(loader2) {
|
|
133
|
+
const { data: data2 } = useLoaderState(loader2);
|
|
134
|
+
return data2;
|
|
60
135
|
}
|
|
61
136
|
const results = /* @__PURE__ */ new Map(), started = /* @__PURE__ */ new Map();
|
|
62
137
|
function useAsyncFn(val, props) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useLoader.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["preloadedData", "pathname", "loaderJSUrl", "result", "promise", "loader", "data"]
|
|
6
6
|
}
|
|
@@ -22,7 +22,9 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
22
22
|
}), mod);
|
|
23
23
|
var useLoader_exports = {};
|
|
24
24
|
__export(useLoader_exports, {
|
|
25
|
-
|
|
25
|
+
refetchLoader: () => refetchLoader,
|
|
26
|
+
useLoader: () => useLoader,
|
|
27
|
+
useLoaderState: () => useLoaderState
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(useLoader_exports);
|
|
28
30
|
var import_react = require("react"),
|
|
@@ -36,70 +38,164 @@ var import_react = require("react"),
|
|
|
36
38
|
function _instanceof(left, right) {
|
|
37
39
|
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
38
40
|
}
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
var loaderState = {},
|
|
42
|
+
subscribers = /* @__PURE__ */new Set();
|
|
43
|
+
function updateState(path, updates) {
|
|
44
|
+
loaderState[path] = {
|
|
45
|
+
...loaderState[path],
|
|
46
|
+
...updates
|
|
47
|
+
}, subscribers.forEach(function (callback) {
|
|
48
|
+
callback();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function subscribe(callback) {
|
|
52
|
+
return subscribers.add(callback), function () {
|
|
53
|
+
return subscribers.delete(callback);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function getLoaderState(path, preloadedData2) {
|
|
57
|
+
return loaderState[path] || (loaderState[path] = {
|
|
58
|
+
data: preloadedData2,
|
|
59
|
+
error: void 0,
|
|
60
|
+
promise: void 0,
|
|
61
|
+
state: "idle",
|
|
62
|
+
hasLoadedOnce: !!preloadedData2
|
|
63
|
+
}), loaderState[path];
|
|
64
|
+
}
|
|
65
|
+
async function refetchLoader(pathname2) {
|
|
66
|
+
updateState(pathname2, {
|
|
67
|
+
state: "loading",
|
|
68
|
+
error: null
|
|
50
69
|
});
|
|
51
|
-
|
|
70
|
+
try {
|
|
71
|
+
var cacheBust = `${Date.now()}`,
|
|
72
|
+
loaderJSUrl2 = (0, import_cleanUrl.getLoaderPath)(pathname2, !0, cacheBust),
|
|
73
|
+
module2 = await (0, import_dynamicImport.dynamicImport)(loaderJSUrl2),
|
|
74
|
+
result2 = await module2.loader();
|
|
75
|
+
updateState(pathname2, {
|
|
76
|
+
data: result2,
|
|
77
|
+
state: "idle",
|
|
78
|
+
timestamp: Date.now(),
|
|
79
|
+
hasLoadedOnce: !0
|
|
80
|
+
});
|
|
81
|
+
} catch (err) {
|
|
82
|
+
throw updateState(pathname2, {
|
|
83
|
+
error: err,
|
|
84
|
+
state: "idle"
|
|
85
|
+
}), err;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function useLoaderState(loader) {
|
|
89
|
+
var {
|
|
90
|
+
loaderProps: loaderPropsFromServerContext,
|
|
91
|
+
loaderData: loaderDataFromServerContext
|
|
92
|
+
} = (0, import_one_server_only.useServerContext)() || {},
|
|
93
|
+
params = (0, import_hooks.useParams)(),
|
|
52
94
|
pathname = (0, import_hooks.usePathname)(),
|
|
53
95
|
currentPath = (0, import_href.resolveHref)({
|
|
54
96
|
pathname,
|
|
55
97
|
params
|
|
56
|
-
}).replace(/index$/, "")
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
98
|
+
}).replace(/index$/, "");
|
|
99
|
+
if (typeof window > "u" && loader) {
|
|
100
|
+
var serverData = useAsyncFn(loader, loaderPropsFromServerContext || {
|
|
101
|
+
path: pathname,
|
|
102
|
+
params
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
data: serverData,
|
|
106
|
+
refetch: async function () {},
|
|
107
|
+
state: "idle"
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
var preloadedData = loaderPropsFromServerContext?.path === currentPath ? loaderDataFromServerContext : void 0,
|
|
111
|
+
loaderStateEntry = (0, import_react.useSyncExternalStore)(subscribe, function () {
|
|
112
|
+
return getLoaderState(currentPath, preloadedData);
|
|
113
|
+
}, function () {
|
|
114
|
+
return getLoaderState(currentPath, preloadedData);
|
|
115
|
+
}),
|
|
116
|
+
refetch = (0, import_react.useCallback)(function () {
|
|
117
|
+
return refetchLoader(currentPath);
|
|
118
|
+
}, [currentPath]);
|
|
119
|
+
if (!loader) return {
|
|
120
|
+
refetch,
|
|
121
|
+
state: loaderStateEntry.state
|
|
122
|
+
};
|
|
123
|
+
if (!loaderStateEntry.data && !loaderStateEntry.promise && !loaderStateEntry.hasLoadedOnce && loader) if (import_router.preloadingLoader[currentPath]) {
|
|
124
|
+
typeof import_router.preloadingLoader[currentPath] == "function" && (import_router.preloadingLoader[currentPath] = import_router.preloadingLoader[currentPath]());
|
|
125
|
+
var promise = import_router.preloadingLoader[currentPath].then(function (val) {
|
|
126
|
+
delete import_router.preloadingLoader[currentPath], updateState(currentPath, {
|
|
127
|
+
data: val,
|
|
128
|
+
hasLoadedOnce: !0,
|
|
129
|
+
promise: void 0
|
|
130
|
+
});
|
|
69
131
|
}).catch(function (err) {
|
|
70
|
-
console.error("Error
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
132
|
+
console.error("Error running loader()", err), delete import_router.preloadingLoader[currentPath], updateState(currentPath, {
|
|
133
|
+
error: err,
|
|
134
|
+
promise: void 0
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
loaderStateEntry.promise = promise;
|
|
138
|
+
} else {
|
|
139
|
+
var loadData = async function () {
|
|
74
140
|
try {
|
|
75
|
-
var
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
141
|
+
var loaderJSUrl = (0, import_cleanUrl.getLoaderPath)(currentPath, !0),
|
|
142
|
+
nativeLoaderJSUrl = `${loaderJSUrl}?platform=ios`;
|
|
143
|
+
try {
|
|
144
|
+
var loaderJsCodeResp = await fetch(nativeLoaderJSUrl);
|
|
145
|
+
if (!loaderJsCodeResp.ok) throw new Error(`Response not ok: ${loaderJsCodeResp.status}`);
|
|
146
|
+
var loaderJsCode = await loaderJsCodeResp.text(),
|
|
147
|
+
result = eval(`() => { var exports = {}; ${loaderJsCode}; return exports; }`)();
|
|
148
|
+
if (typeof result.loader != "function") throw new Error("Loader code isn't exporting a `loader` function");
|
|
149
|
+
var data = await result.loader();
|
|
150
|
+
updateState(currentPath, {
|
|
151
|
+
data,
|
|
152
|
+
hasLoadedOnce: !0,
|
|
153
|
+
promise: void 0
|
|
154
|
+
});
|
|
155
|
+
return;
|
|
156
|
+
} catch (e) {
|
|
157
|
+
updateState(currentPath, {
|
|
158
|
+
data: {},
|
|
159
|
+
promise: void 0
|
|
160
|
+
});
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
var loaderJSUrl = (0, import_cleanUrl.getLoaderPath)(currentPath, !0),
|
|
164
|
+
module = await (0, import_dynamicImport.dynamicImport)(loaderJSUrl),
|
|
165
|
+
result = await module.loader();
|
|
166
|
+
updateState(currentPath, {
|
|
167
|
+
data: result,
|
|
168
|
+
hasLoadedOnce: !0,
|
|
169
|
+
promise: void 0
|
|
170
|
+
});
|
|
94
171
|
} catch (err) {
|
|
95
|
-
|
|
172
|
+
updateState(currentPath, {
|
|
173
|
+
error: err,
|
|
174
|
+
promise: void 0
|
|
175
|
+
});
|
|
96
176
|
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
throw promises[currentPath];
|
|
177
|
+
},
|
|
178
|
+
promise = loadData();
|
|
179
|
+
loaderStateEntry.promise = promise;
|
|
101
180
|
}
|
|
102
|
-
|
|
181
|
+
if (loader) {
|
|
182
|
+
if (loaderStateEntry.error && !loaderStateEntry.hasLoadedOnce) throw loaderStateEntry.error;
|
|
183
|
+
if (loaderStateEntry.data === void 0 && loaderStateEntry.promise && !loaderStateEntry.hasLoadedOnce) throw loaderStateEntry.promise;
|
|
184
|
+
return {
|
|
185
|
+
data: loaderStateEntry.data,
|
|
186
|
+
refetch,
|
|
187
|
+
state: loaderStateEntry.state
|
|
188
|
+
};
|
|
189
|
+
} else return {
|
|
190
|
+
refetch,
|
|
191
|
+
state: loaderStateEntry.state
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function useLoader(loader2) {
|
|
195
|
+
var {
|
|
196
|
+
data: data2
|
|
197
|
+
} = useLoaderState(loader2);
|
|
198
|
+
return data2;
|
|
103
199
|
}
|
|
104
200
|
var results = /* @__PURE__ */new Map(),
|
|
105
201
|
started = /* @__PURE__ */new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useLoader_exports","__export","useLoader","module","exports","import_react","require","import_hooks","import_href","import_router","import_cleanUrl","import_dynamicImport","import_weakKey","import_one_server_only","_instanceof","left","right","Symbol","hasInstance","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useLoader_exports","__export","refetchLoader","useLoader","useLoaderState","module","exports","import_react","require","import_hooks","import_href","import_router","import_cleanUrl","import_dynamicImport","import_weakKey","import_one_server_only","_instanceof","left","right","Symbol","hasInstance","loaderState","subscribers","Set","updateState","path","updates","forEach","callback","subscribe","add","delete","getLoaderState","preloadedData2","data","error","promise","state","hasLoadedOnce","pathname2","cacheBust","Date","now","loaderJSUrl2","getLoaderPath","module2","dynamicImport","result2","loader","timestamp","err","loaderProps","loaderPropsFromServerContext","loaderData","loaderDataFromServerContext","useServerContext","params","useParams","pathname","usePathname","currentPath","resolveHref","replace","window","serverData","useAsyncFn","refetch","preloadedData","loaderStateEntry","useSyncExternalStore","useCallback","preloadingLoader","then","val","catch","console","loadData","loaderJSUrl","nativeLoaderJSUrl","loaderJsCodeResp","fetch","ok","Error","status","loaderJsCode","text","result","eval","e"],"sources":["../../src/useLoader.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -36,13 +36,14 @@ const isClient = typeof window < "u",
|
|
|
36
36
|
function getPreloadPath(currentPath) {
|
|
37
37
|
return `${clientSideURL}/assets/${cleanUrl(currentPath.slice(1))}${import_constants.PRELOAD_JS_POSTFIX}`;
|
|
38
38
|
}
|
|
39
|
-
function getLoaderPath(currentPath, includeUrl = import_constants.isNative) {
|
|
39
|
+
function getLoaderPath(currentPath, includeUrl = import_constants.isNative, cacheBust) {
|
|
40
40
|
const baseURL = includeUrl ? (0, import_getURL.getURL)() : "",
|
|
41
41
|
devPath = process.env.NODE_ENV === "development" ? "/_one" : "",
|
|
42
|
-
currentPathUrl = new URL(currentPath, "http://example.com"
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
currentPathUrl = new URL(currentPath, "http://example.com"),
|
|
43
|
+
cleanedUrl = cleanUrl(currentPathUrl.pathname.slice(1)),
|
|
44
|
+
cacheBustSegment = cacheBust ? `_refetch_${cacheBust}_` : "";
|
|
45
|
+
return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${import_constants.LOADER_JS_POSTFIX}`;
|
|
45
46
|
}
|
|
46
47
|
function getPathFromLoaderPath(loaderPath) {
|
|
47
|
-
return loaderPath.replace(import_constants.LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replaceAll(/_/g, "/");
|
|
48
|
+
return loaderPath.replace(import_constants.LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_/, "").replaceAll(/_/g, "/");
|
|
48
49
|
}
|
|
@@ -27,15 +27,11 @@ const isClient = typeof window < "u", clientSideURL = isClient ? (0, import_getU
|
|
|
27
27
|
function getPreloadPath(currentPath) {
|
|
28
28
|
return `${clientSideURL}/assets/${cleanUrl(currentPath.slice(1))}${import_constants.PRELOAD_JS_POSTFIX}`;
|
|
29
29
|
}
|
|
30
|
-
function getLoaderPath(currentPath, includeUrl = import_constants.isNative) {
|
|
31
|
-
const baseURL = includeUrl ? (0, import_getURL.getURL)() : "", devPath = process.env.NODE_ENV === "development" ? "/_one" : "", currentPathUrl = new URL(
|
|
32
|
-
|
|
33
|
-
"http://example.com"
|
|
34
|
-
/* not important, just for `new URL()` to work */
|
|
35
|
-
);
|
|
36
|
-
return `${baseURL}${devPath}/assets/${cleanUrl(currentPathUrl.pathname.slice(1))}${import_constants.LOADER_JS_POSTFIX}`;
|
|
30
|
+
function getLoaderPath(currentPath, includeUrl = import_constants.isNative, cacheBust) {
|
|
31
|
+
const baseURL = includeUrl ? (0, import_getURL.getURL)() : "", devPath = process.env.NODE_ENV === "development" ? "/_one" : "", currentPathUrl = new URL(currentPath, "http://example.com"), cleanedUrl = cleanUrl(currentPathUrl.pathname.slice(1)), cacheBustSegment = cacheBust ? `_refetch_${cacheBust}_` : "";
|
|
32
|
+
return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${import_constants.LOADER_JS_POSTFIX}`;
|
|
37
33
|
}
|
|
38
34
|
function getPathFromLoaderPath(loaderPath) {
|
|
39
|
-
return loaderPath.replace(import_constants.LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replaceAll(/_/g, "/");
|
|
35
|
+
return loaderPath.replace(import_constants.LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_/, "").replaceAll(/_/g, "/");
|
|
40
36
|
}
|
|
41
37
|
//# sourceMappingURL=cleanUrl.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/cleanUrl.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKO,yBACP,gBAAuB,sBACvB,sBAA6B;AAE7B,SAAS,SAAS,MAAc;AAC9B,aACE,kCAAa,IAAI,EACd,WAAW,KAAK,GAAG,EAEnB,QAAQ,MAAM,EAAE;AAEvB;AAEA,MAAM,WAAW,OAAO,SAAW,KAC7B,gBAAgB,eAAW,sBAAO,IAAI;AAErC,SAAS,eAAe,aAAqB;AAClD,SAAO,GAAG,aAAa,WAAW,SAAS,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,mCAAkB;AACvF;AAEO,SAAS,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKO,yBACP,gBAAuB,sBACvB,sBAA6B;AAE7B,SAAS,SAAS,MAAc;AAC9B,aACE,kCAAa,IAAI,EACd,WAAW,KAAK,GAAG,EAEnB,QAAQ,MAAM,EAAE;AAEvB;AAEA,MAAM,WAAW,OAAO,SAAW,KAC7B,gBAAgB,eAAW,sBAAO,IAAI;AAErC,SAAS,eAAe,aAAqB;AAClD,SAAO,GAAG,aAAa,WAAW,SAAS,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,mCAAkB;AACvF;AAEO,SAAS,cAAc,aAAqB,aAAa,2BAAU,WAAoB;AAC5F,QAAM,UAAU,iBAAa,sBAAO,IAAI,IAClC,UAAU,QAAQ,IAAI,aAAa,gBAAgB,UAAU,IAE7D,iBAAiB,IAAI,IAAI,aAAa,oBAAoB,GAE1D,aAAa,SAAS,eAAe,SAAS,MAAM,CAAC,CAAC,GACtD,mBAAmB,YAAY,YAAY,SAAS,MAAM;AAEhE,SAAO,GAAG,OAAO,GAAG,OAAO,WAAW,UAAU,GAAG,gBAAgB,GAAG,kCAAiB;AACzF;AAEO,SAAS,sBAAsB,YAAoB;AACxD,SAAO,WACJ,QAAQ,0CAAyB,EAAE,EACnC,QAAQ,sBAAsB,EAAE,EAChC,QAAQ,iBAAiB,EAAE,EAC3B,WAAW,MAAM,GAAG;AACzB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -40,12 +40,15 @@ function getPreloadPath(currentPath) {
|
|
|
40
40
|
}
|
|
41
41
|
function getLoaderPath(currentPath) {
|
|
42
42
|
var includeUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : import_constants.isNative,
|
|
43
|
+
cacheBust = arguments.length > 2 ? arguments[2] : void 0,
|
|
43
44
|
baseURL = includeUrl ? (0, import_getURL.getURL)() : "",
|
|
44
45
|
devPath = process.env.NODE_ENV === "development" ? "/_one" : "",
|
|
45
|
-
currentPathUrl = new URL(currentPath, "http://example.com")
|
|
46
|
-
|
|
46
|
+
currentPathUrl = new URL(currentPath, "http://example.com"),
|
|
47
|
+
cleanedUrl = cleanUrl(currentPathUrl.pathname.slice(1)),
|
|
48
|
+
cacheBustSegment = cacheBust ? `_refetch_${cacheBust}_` : "";
|
|
49
|
+
return `${baseURL}${devPath}/assets/${cleanedUrl}${cacheBustSegment}${import_constants.LOADER_JS_POSTFIX}`;
|
|
47
50
|
}
|
|
48
51
|
function getPathFromLoaderPath(loaderPath) {
|
|
49
|
-
return loaderPath.replace(import_constants.LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replaceAll(/_/g, "/");
|
|
52
|
+
return loaderPath.replace(import_constants.LOADER_JS_POSTFIX_REGEX, "").replace(/^(\/_one)?\/assets/, "").replace(/_refetch_\d+_/, "").replaceAll(/_/g, "/");
|
|
50
53
|
}
|
|
51
54
|
//# sourceMappingURL=cleanUrl.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","cleanUrl_exports","__export","getLoaderPath","getPathFromLoaderPath","getPreloadPath","module","exports","import_constants","require","import_getURL","import_removeSearch","cleanUrl","path","removeSearch","replaceAll","replace","isClient","window","clientSideURL","getURL","currentPath","slice","PRELOAD_JS_POSTFIX","includeUrl","arguments","length","isNative","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","pathname","LOADER_JS_POSTFIX","loaderPath","LOADER_JS_POSTFIX_REGEX"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAKO,CAAAK,gBAAA;AAIP,IAAAO,gBAAkB,GAAAC,OAAc;EAAAC,aAAA,GAAAD,OAAA;EAAAE,mBAAA,GAAAF,OAAA;AAC9B,SAAAG,QACEA,CAAAC,IAAA;EAKJ,WAAAF,mBAAA,CAAAG,YAAA,EAAAD,IAAA,EAAAE,UAAA,WAAAC,OAAA;AAEA;AAGO,IAAAC,QAAS,UAAAC,MAAe;EAAAC,aAAqB,GAAAF,QAAA,OAAAP,aAAA,CAAAU,MAAA;AAClD,SAAOf,cAAGA,CAAAgB,WAAa,EAAW;EACpC,UAAAF,aAAA,WAAAP,QAAA,CAAAS,WAAA,CAAAC,KAAA,OAAAd,gBAAA,CAAAe,kBAAA;AAEO;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","cleanUrl_exports","__export","getLoaderPath","getPathFromLoaderPath","getPreloadPath","module","exports","import_constants","require","import_getURL","import_removeSearch","cleanUrl","path","removeSearch","replaceAll","replace","isClient","window","clientSideURL","getURL","currentPath","slice","PRELOAD_JS_POSTFIX","includeUrl","arguments","length","isNative","cacheBust","baseURL","devPath","process","env","NODE_ENV","currentPathUrl","URL","cleanedUrl","pathname","cacheBustSegment","LOADER_JS_POSTFIX","loaderPath","LOADER_JS_POSTFIX_REGEX"],"sources":["../../../src/utils/cleanUrl.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAKO,CAAAK,gBAAA;AAIP,IAAAO,gBAAkB,GAAAC,OAAc;EAAAC,aAAA,GAAAD,OAAA;EAAAE,mBAAA,GAAAF,OAAA;AAC9B,SAAAG,QACEA,CAAAC,IAAA;EAKJ,WAAAF,mBAAA,CAAAG,YAAA,EAAAD,IAAA,EAAAE,UAAA,WAAAC,OAAA;AAEA;AAGO,IAAAC,QAAS,UAAAC,MAAe;EAAAC,aAAqB,GAAAF,QAAA,OAAAP,aAAA,CAAAU,MAAA;AAClD,SAAOf,cAAGA,CAAAgB,WAAa,EAAW;EACpC,UAAAF,aAAA,WAAAP,QAAA,CAAAS,WAAA,CAAAC,KAAA,OAAAd,gBAAA,CAAAe,kBAAA;AAEO;AACL,SAAMpB,aAAUA,CAAAkB,WAAA,EAAa;EAQ7B,IAAAG,UAAU,GAAOC,SAAG,CAAOC,MAAA,QAAWD,SAAU,CAAG,gBAAgBA,SAAG,MAAAjB,gBAAA,CAAAmB,QAAiB;IAAAC,SAAA,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA;IAAAI,OAAA,GAAAL,UAAA,OAAAd,aAAA,CAAAU,MAAA;IAAAU,OAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;IAAAC,cAAA,OAAAC,GAAA,CAAAd,WAAA;IAAAe,UAAA,GAAAxB,QAAA,CAAAsB,cAAA,CAAAG,QAAA,CAAAf,KAAA;IAAAgB,gBAAA,GAAAV,SAAA,eAAAA,SAAA;EACzF,UAAAC,OAAA,GAAAC,OAAA,WAAAM,UAAA,GAAAE,gBAAA,GAAA9B,gBAAA,CAAA+B,iBAAA;AAEO;AACL,SAAOnC,qBACIA,CAAAoC,UAAA;EAIb,OAAAA,UAAA,CAAAxB,OAAA,CAAAR,gBAAA,CAAAiC,uBAAA,MAAAzB,OAAA,2BAAAA,OAAA,sBAAAD,UAAA","ignoreList":[]}
|
|
@@ -32,6 +32,7 @@ async function resolveAPIRoute(handlers, request, url, route) {
|
|
|
32
32
|
url,
|
|
33
33
|
loaderProps: {
|
|
34
34
|
path: pathname,
|
|
35
|
+
search: url.search,
|
|
35
36
|
params
|
|
36
37
|
}
|
|
37
38
|
}),
|
|
@@ -62,6 +63,7 @@ async function resolveLoaderRoute(handlers, request, url, route) {
|
|
|
62
63
|
url,
|
|
63
64
|
loaderProps: {
|
|
64
65
|
path: url.pathname,
|
|
66
|
+
search: url.search,
|
|
65
67
|
request: route.type === "ssr" ? request : void 0,
|
|
66
68
|
params: getLoaderParams(url, route)
|
|
67
69
|
}
|
|
@@ -83,7 +85,8 @@ async function resolvePageRoute(handlers, request, url, route) {
|
|
|
83
85
|
route,
|
|
84
86
|
url,
|
|
85
87
|
loaderProps: {
|
|
86
|
-
path: pathname
|
|
88
|
+
path: pathname,
|
|
89
|
+
search,
|
|
87
90
|
// Ensure SSR loaders receive the original request
|
|
88
91
|
request: route.type === "ssr" ? request : void 0,
|
|
89
92
|
params: getLoaderParams(url, route)
|
|
@@ -133,8 +136,10 @@ function createHandleRequest(handlers, { routerRoot }) {
|
|
|
133
136
|
if (route.file === "")
|
|
134
137
|
continue;
|
|
135
138
|
const finalUrl = new URL(originalUrl, url.origin);
|
|
136
|
-
if (finalUrl.search = url.search,
|
|
137
|
-
|
|
139
|
+
if (finalUrl.search = url.search, !route.compiledRegex.test(finalUrl.pathname))
|
|
140
|
+
continue;
|
|
141
|
+
const cleanedRequest = new Request(finalUrl, request);
|
|
142
|
+
return resolveLoaderRoute(handlers, cleanedRequest, finalUrl, route);
|
|
138
143
|
}
|
|
139
144
|
return process.env.NODE_ENV === "development" && console.error("No matching route found for loader!", {
|
|
140
145
|
originalUrl,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createHandleRequest.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,kCAAkC;AAK3C,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB,uBAAuB;AAmBpD,eAAsB,eACpB,UACA,SACA,OACA,aACmB;AACnB,QAAM,cAAc,MAAM;AAE1B,MAAI,CAAC,aAAa;AAChB,WAAO,MAAM,YAAY;AAE3B,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,kCAAkC;AAGpD,QAAM,UAA6B,CAAC;AAEpC,iBAAe,SAAS,OAAkC;AACxD,UAAM,mBAAmB,YAAa,KAAK;AAG3C,QAAI,CAAC;AACH,aAAO,MAAM,YAAY;AAG3B,UAAM,YAAY,MAAM,SAAS,eAAgB,gBAAgB,IAAI;AAIrE,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,wCAAwC,iBAAiB,UAAU,EAAE;AASvF,UAAM,WAAW,MAAM,SAAS,EAAE,SAAS,MAL9B,YACJ,SAAS,QAAQ,CAAC,GAIsB,QAAQ,CAAC;AAE1D,WAAI,YAKG,SAAS,QAAQ,CAAC;AAAA,EAC3B;AAGA,SAAO,SAAS,CAAC;AACnB;AAEA,eAAsB,gBACpB,UACA,SACA,KACA,OACA;AACA,QAAM,EAAE,SAAS,IAAI,KACf,SAAS,eAAe,UAAU,KAAK;AAE7C,MAAI;AACF,WAAO;AAAA,MACL,MACE,SAAS,UAAW;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa;AAAA,UACX,MAAM;AAAA,UACN;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACH;AAAA,MACA,UAAU,CAAC;AAAA,IACb;AAAA,EACF,SAAS,KAAK;AACZ,QAAI,WAAW,GAAG;AAChB,aAAO;AAGT,UAAI,QAAQ,IAAI,aAAa,iBAC3B,QAAQ,MAAM;AAAA,sCAAyC,QAAQ;AAAA;AAAA,UAE3D,GAAG;AAAA;AAAA;AAAA;AAAA,OAIN,GAGG;AAAA,EACR;AACF;AAEA,eAAsB,mBACpB,UACA,SACA,KACA,OACA;AACA,SAAO,MAAM,eAAe,UAAU,SAAS,OAAO,YAC7C,MAAM,gBAAgB,YAAY;AACvC,UAAM,UAAU,IAAI,QAAQ;AAC5B,YAAQ,IAAI,gBAAgB,iBAAiB;AAE7C,QAAI;AACF,YAAM,iBAAiB,MAAM,SAAS,aAAc;AAAA,QAClD;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa;AAAA,UACX,MAAM,IAAI;AAAA,UACV,SAAS,MAAM,SAAS,QAAQ,UAAU;AAAA,UAC1C,QAAQ,gBAAgB,KAAK,KAAK;AAAA,QACpC;AAAA,MACF,CAAC;AAED,aAAO,IAAI,SAAS,gBAAgB;AAAA,QAClC;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AAEZ,UAAI,WAAW,GAAG;AAChB,eAAO;AAGT,oBAAQ,MAAM,yBAAyB,GAAG,EAAE,GAEtC;AAAA,IACR;AAAA,EACF,CAAC,CACF;AACH;AAEA,eAAsB,iBACpB,UACA,SACA,KACA,OACA;AACA,QAAM,EAAE,UAAU,OAAO,IAAI;AAE7B,SAAO,gBAAgB,YACJ,MAAM,eAAe,UAAU,SAAS,OAAO,YACvD,MAAM,SAAS,WAAY;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,MACX,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|