hermium 0.2.0 → 0.3.1
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/bin/hermium.mjs +103 -58
- package/dist/api.mjs +35 -0
- package/dist/public/assets/css/styles-o9LLzp-x.css +1 -0
- package/dist/public/assets/js/{ChatInputBlock-Bw7AL70H.js → ChatInputBlock-BgJMx5nW.js} +1 -1
- package/dist/public/assets/js/{MarkdownMessage-8d7Y6VL-.js → MarkdownMessage-Dd6VsKhk.js} +1 -1
- package/dist/public/assets/js/{base-ui-BvQbAt_1.js → base-ui-Ls-HE_Zl.js} +1 -1
- package/dist/public/assets/js/{chat._sessionId-BG6lVraH.js → chat._sessionId-Yif-J0_7.js} +1 -1
- package/dist/public/assets/js/{chat.index-D2zdMPTT.js → chat.index-QgwoSqOs.js} +1 -1
- package/dist/public/assets/js/{index-C0AK45FU.js → index-BDLsrzTe.js} +26 -26
- package/dist/public/assets/js/{index-Cx5En4FK.js → index-DRH0t4ti.js} +1 -1
- package/dist/public/assets/js/{memory-CeSRdTkW.js → memory-CHpNNtU2.js} +1 -1
- package/dist/public/assets/js/{router-8uDKazL-.js → router-B8BATVn7.js} +1 -1
- package/dist/public/assets/js/{settings-Bc3Y5zXO.js → settings-CRV3Pp8x.js} +1 -1
- package/dist/public/assets/js/{skills-DZv7sA_5.js → skills-C8G72gXr.js} +1 -1
- package/dist/public/assets/js/{usage-DXQsT9_b.js → usage-Bev8hqwh.js} +1 -1
- package/dist/server/__23tanstack-start-plugin-adapters-Cwee5PKy.mjs +6 -0
- package/dist/server/_chunks/ssr-renderer.mjs +22 -0
- package/dist/server/_libs/bail.mjs +8 -0
- package/dist/server/_libs/base-ui__react.mjs +9858 -0
- package/dist/server/_libs/base-ui__utils.mjs +1106 -0
- package/dist/server/_libs/ccount.mjs +16 -0
- package/dist/server/_libs/character-entities.mjs +2130 -0
- package/dist/server/_libs/class-variance-authority.mjs +44 -0
- package/dist/server/_libs/clsx.mjs +16 -0
- package/dist/server/_libs/comma-separated-tokens.mjs +10 -0
- package/dist/server/_libs/cookie-es.mjs +1 -0
- package/dist/server/_libs/croner.mjs +1 -0
- package/dist/server/_libs/crossws.mjs +1 -0
- package/dist/server/_libs/decode-named-character-reference+[...].mjs +8 -0
- package/dist/server/_libs/devlop.mjs +8 -0
- package/dist/server/_libs/escape-string-regexp.mjs +9 -0
- package/dist/server/_libs/estree-util-is-identifier-name.mjs +11 -0
- package/dist/server/_libs/extend.mjs +97 -0
- package/dist/server/_libs/floating-ui__core.mjs +663 -0
- package/dist/server/_libs/floating-ui__dom.mjs +624 -0
- package/dist/server/_libs/floating-ui__react-dom.mjs +279 -0
- package/dist/server/_libs/floating-ui__utils.mjs +322 -0
- package/dist/server/_libs/h3.mjs +408 -0
- package/dist/server/_libs/hast-util-is-element.mjs +75 -0
- package/dist/server/_libs/hast-util-to-jsx-runtime.mjs +388 -0
- package/dist/server/_libs/hast-util-to-text.mjs +305 -0
- package/dist/server/_libs/hast-util-whitespace.mjs +10 -0
- package/dist/server/_libs/highlight.js.mjs +14756 -0
- package/dist/server/_libs/hookable.mjs +1 -0
- package/dist/server/_libs/html-url-attributes.mjs +26 -0
- package/dist/server/_libs/inline-style-parser.mjs +142 -0
- package/dist/server/_libs/is-plain-obj.mjs +10 -0
- package/dist/server/_libs/isbot.mjs +21 -0
- package/dist/server/_libs/longest-streak.mjs +25 -0
- package/dist/server/_libs/lowlight.mjs +262 -0
- package/dist/server/_libs/markdown-table.mjs +142 -0
- package/dist/server/_libs/mdast-util-find-and-replace.mjs +109 -0
- package/dist/server/_libs/mdast-util-from-markdown.mjs +717 -0
- package/dist/server/_libs/mdast-util-gfm-autolink-literal+[...].mjs +156 -0
- package/dist/server/_libs/mdast-util-gfm-footnote.mjs +117 -0
- package/dist/server/_libs/mdast-util-gfm-strikethrough.mjs +54 -0
- package/dist/server/_libs/mdast-util-gfm-table.mjs +157 -0
- package/dist/server/_libs/mdast-util-gfm-task-list-item.mjs +77 -0
- package/dist/server/_libs/mdast-util-gfm.mjs +29 -0
- package/dist/server/_libs/mdast-util-phrasing.mjs +30 -0
- package/dist/server/_libs/mdast-util-to-hast.mjs +710 -0
- package/dist/server/_libs/mdast-util-to-markdown.mjs +798 -0
- package/dist/server/_libs/mdast-util-to-string.mjs +38 -0
- package/dist/server/_libs/micromark-core-commonmark.mjs +2259 -0
- package/dist/server/_libs/micromark-extension-gfm-autolink-literal+[...].mjs +344 -0
- package/dist/server/_libs/micromark-extension-gfm-footnote+[...].mjs +279 -0
- package/dist/server/_libs/micromark-extension-gfm-strikethrough+[...].mjs +98 -0
- package/dist/server/_libs/micromark-extension-gfm-table.mjs +491 -0
- package/dist/server/_libs/micromark-extension-gfm-tagfilter+[...].mjs +1 -0
- package/dist/server/_libs/micromark-extension-gfm-task-list-item+[...].mjs +77 -0
- package/dist/server/_libs/micromark-extension-gfm.mjs +18 -0
- package/dist/server/_libs/micromark-factory-destination.mjs +94 -0
- package/dist/server/_libs/micromark-factory-label.mjs +63 -0
- package/dist/server/_libs/micromark-factory-space.mjs +24 -0
- package/dist/server/_libs/micromark-factory-title.mjs +65 -0
- package/dist/server/_libs/micromark-factory-whitespace.mjs +22 -0
- package/dist/server/_libs/micromark-util-character.mjs +44 -0
- package/dist/server/_libs/micromark-util-chunked.mjs +36 -0
- package/dist/server/_libs/micromark-util-classify-character+[...].mjs +12 -0
- package/dist/server/_libs/micromark-util-combine-extensions+[...].mjs +41 -0
- package/dist/server/_libs/micromark-util-decode-numeric-character-reference+[...].mjs +19 -0
- package/dist/server/_libs/micromark-util-decode-string.mjs +21 -0
- package/dist/server/_libs/micromark-util-encode.mjs +1 -0
- package/dist/server/_libs/micromark-util-html-tag-name.mjs +69 -0
- package/dist/server/_libs/micromark-util-normalize-identifier+[...].mjs +6 -0
- package/dist/server/_libs/micromark-util-resolve-all.mjs +15 -0
- package/dist/server/_libs/micromark-util-sanitize-uri.mjs +41 -0
- package/dist/server/_libs/micromark-util-subtokenize.mjs +346 -0
- package/dist/server/_libs/micromark.mjs +906 -0
- package/dist/server/_libs/ocache.mjs +1 -0
- package/dist/server/_libs/ohash.mjs +1 -0
- package/dist/server/_libs/property-information.mjs +1209 -0
- package/dist/server/_libs/react-dom.mjs +10779 -0
- package/dist/server/_libs/react-markdown.mjs +147 -0
- package/dist/server/_libs/react.mjs +513 -0
- package/dist/server/_libs/rehype-highlight.mjs +94 -0
- package/dist/server/_libs/remark-gfm.mjs +20 -0
- package/dist/server/_libs/remark-parse.mjs +19 -0
- package/dist/server/_libs/remark-rehype.mjs +21 -0
- package/dist/server/_libs/reselect.mjs +1 -0
- package/dist/server/_libs/rou3.mjs +8 -0
- package/dist/server/_libs/seroval-plugins.mjs +1 -0
- package/dist/server/_libs/seroval.mjs +1 -0
- package/dist/server/_libs/space-separated-tokens.mjs +6 -0
- package/dist/server/_libs/srvx.mjs +781 -0
- package/dist/server/_libs/style-to-js.mjs +72 -0
- package/dist/server/_libs/style-to-object.mjs +38 -0
- package/dist/server/_libs/tabler__icons-react.mjs +140 -0
- package/dist/server/_libs/tailwind-merge.mjs +3255 -0
- package/dist/server/_libs/tanstack__history.mjs +29 -0
- package/dist/server/_libs/tanstack__react-router.mjs +1120 -0
- package/dist/server/_libs/tanstack__react-store.mjs +2 -0
- package/dist/server/_libs/tanstack__router-core.mjs +3594 -0
- package/dist/server/_libs/tanstack__store.mjs +1 -0
- package/dist/server/_libs/trim-lines.mjs +41 -0
- package/dist/server/_libs/trough.mjs +85 -0
- package/dist/server/_libs/ufo.mjs +54 -0
- package/dist/server/_libs/unctx.mjs +1 -0
- package/dist/server/_libs/ungap__structured-clone.mjs +224 -0
- package/dist/server/_libs/unified.mjs +661 -0
- package/dist/server/_libs/unist-util-find-after.mjs +41 -0
- package/dist/server/_libs/unist-util-is.mjs +100 -0
- package/dist/server/_libs/unist-util-position.mjs +27 -0
- package/dist/server/_libs/unist-util-stringify-position.mjs +27 -0
- package/dist/server/_libs/unist-util-visit-parents.mjs +83 -0
- package/dist/server/_libs/unist-util-visit.mjs +24 -0
- package/dist/server/_libs/unstorage.mjs +1 -0
- package/dist/server/_libs/use-sync-external-store.mjs +139 -0
- package/dist/server/_libs/vfile-message.mjs +138 -0
- package/dist/server/_libs/vfile.mjs +467 -0
- package/dist/server/_libs/zustand.mjs +43 -0
- package/dist/server/_libs/zwitch.mjs +1 -0
- package/dist/server/_ssr/ChatInputBlock-Bu2-iop_.mjs +220 -0
- package/dist/server/_ssr/MarkdownMessage-CNS7OSKN.mjs +68 -0
- package/dist/server/_ssr/chat._sessionId-P02iSfut.mjs +477 -0
- package/dist/server/_ssr/chat.index-BYB_48NC.mjs +64 -0
- package/dist/server/_ssr/index-C1mT_2d8.mjs +4890 -0
- package/dist/server/_ssr/index-DFV9_oCk.mjs +43 -0
- package/dist/server/_ssr/memory-CW_fSOG9.mjs +257 -0
- package/dist/server/_ssr/router-CUAfx91O.mjs +2035 -0
- package/dist/server/_ssr/settings-DoXurzvn.mjs +10 -0
- package/dist/server/_ssr/skills-Cs7A5ZwO.mjs +422 -0
- package/dist/server/_ssr/theme-BK4-7E2h.mjs +42 -0
- package/dist/server/_ssr/usage-Bs2-LXGz.mjs +298 -0
- package/dist/server/_tanstack-start-manifest_v-C7Upe2TI.mjs +4 -0
- package/dist/server/index.mjs +506 -0
- package/dist/server/public/assets/css/index-Dfs9RUU9.css +1 -0
- package/dist/server/public/assets/css/styles-o9LLzp-x.css +1 -0
- package/dist/server/public/assets/js/ChatInputBlock-BgJMx5nW.js +1 -0
- package/dist/server/public/assets/js/MarkdownMessage-Dd6VsKhk.js +1 -0
- package/dist/server/public/assets/js/base-ui-Ls-HE_Zl.js +1 -0
- package/dist/server/public/assets/js/chat._sessionId-Yif-J0_7.js +1 -0
- package/dist/server/public/assets/js/chat.index-QgwoSqOs.js +1 -0
- package/dist/server/public/assets/js/index-BDLsrzTe.js +60 -0
- package/dist/server/public/assets/js/index-DRH0t4ti.js +1 -0
- package/dist/server/public/assets/js/memory-CHpNNtU2.js +3 -0
- package/dist/server/public/assets/js/router-B8BATVn7.js +1 -0
- package/dist/server/public/assets/js/settings-CRV3Pp8x.js +1 -0
- package/dist/server/public/assets/js/skills-C8G72gXr.js +1 -0
- package/dist/server/public/assets/js/theme-CPkdkpaj.js +1 -0
- package/dist/server/public/assets/js/usage-Bev8hqwh.js +1 -0
- package/dist/server/public/assets/woff2/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/server/public/assets/woff2/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dist/server/public/favicon.ico +0 -0
- package/dist/server/public/logo.png +0 -0
- package/dist/server/public/manifest.json +25 -0
- package/dist/server/public/robots.txt +3 -0
- package/package.json +4 -3
- package/dist/public/assets/css/styles-B8p6jk5Z.css +0 -1
|
@@ -0,0 +1,4890 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
import { Readable, PassThrough } from "node:stream";
|
|
4
|
+
import { r as renderRouterToStream, R as RouterProvider } from "../_libs/tanstack__react-router.mjs";
|
|
5
|
+
import { e as defineHandlerCallback } from "../_libs/tanstack__router-core.mjs";
|
|
6
|
+
import "../_libs/react-dom.mjs";
|
|
7
|
+
import "util";
|
|
8
|
+
import "crypto";
|
|
9
|
+
import "async_hooks";
|
|
10
|
+
import "stream";
|
|
11
|
+
import "../_libs/isbot.mjs";
|
|
12
|
+
import "../_libs/tanstack__history.mjs";
|
|
13
|
+
import "node:stream/web";
|
|
14
|
+
function StartServer(props) {
|
|
15
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(RouterProvider, { router: props.router });
|
|
16
|
+
}
|
|
17
|
+
var defaultStreamHandler = defineHandlerCallback(({ request, router, responseHeaders }) => renderRouterToStream({
|
|
18
|
+
request,
|
|
19
|
+
router,
|
|
20
|
+
responseHeaders,
|
|
21
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(StartServer, { router })
|
|
22
|
+
}));
|
|
23
|
+
const NullProtoObj = /* @__PURE__ */ (() => {
|
|
24
|
+
const e = function() {
|
|
25
|
+
};
|
|
26
|
+
return e.prototype = /* @__PURE__ */ Object.create(null), Object.freeze(e.prototype), e;
|
|
27
|
+
})();
|
|
28
|
+
function lazyInherit(target, source, sourceKey) {
|
|
29
|
+
for (const key of [...Object.getOwnPropertyNames(source), ...Object.getOwnPropertySymbols(source)]) {
|
|
30
|
+
if (key === "constructor") continue;
|
|
31
|
+
const targetDesc = Object.getOwnPropertyDescriptor(target, key);
|
|
32
|
+
const desc = Object.getOwnPropertyDescriptor(source, key);
|
|
33
|
+
let modified = false;
|
|
34
|
+
if (desc.get) {
|
|
35
|
+
modified = true;
|
|
36
|
+
desc.get = targetDesc?.get || function() {
|
|
37
|
+
return this[sourceKey][key];
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (desc.set) {
|
|
41
|
+
modified = true;
|
|
42
|
+
desc.set = targetDesc?.set || function(value) {
|
|
43
|
+
this[sourceKey][key] = value;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (!targetDesc?.value && typeof desc.value === "function") {
|
|
47
|
+
modified = true;
|
|
48
|
+
desc.value = function(...args) {
|
|
49
|
+
return this[sourceKey][key](...args);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (modified) Object.defineProperty(target, key, desc);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const _needsNormRE = /(?:(?:^|\/)(?:\.|\.\.|%2e|%2e\.|\.%2e|%2e%2e)(?:\/|$))|[\\^\x80-\uffff]/i;
|
|
56
|
+
const FastURL = /* @__PURE__ */ (() => {
|
|
57
|
+
const NativeURL = globalThis.URL;
|
|
58
|
+
const FastURL2 = class URL {
|
|
59
|
+
#url;
|
|
60
|
+
#href;
|
|
61
|
+
#protocol;
|
|
62
|
+
#host;
|
|
63
|
+
#pathname;
|
|
64
|
+
#search;
|
|
65
|
+
#searchParams;
|
|
66
|
+
#pos;
|
|
67
|
+
constructor(url) {
|
|
68
|
+
if (typeof url === "string") if (url[0] === "/") this.#href = url;
|
|
69
|
+
else this.#url = new NativeURL(url);
|
|
70
|
+
else if (_needsNormRE.test(url.pathname)) this.#url = new NativeURL(`${url.protocol || "http:"}//${url.host || "localhost"}${url.pathname}${url.search || ""}`);
|
|
71
|
+
else {
|
|
72
|
+
this.#protocol = url.protocol;
|
|
73
|
+
this.#host = url.host;
|
|
74
|
+
this.#pathname = url.pathname;
|
|
75
|
+
this.#search = url.search;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
static [Symbol.hasInstance](val) {
|
|
79
|
+
return val instanceof NativeURL;
|
|
80
|
+
}
|
|
81
|
+
get _url() {
|
|
82
|
+
if (this.#url) return this.#url;
|
|
83
|
+
this.#url = new NativeURL(this.href);
|
|
84
|
+
this.#href = void 0;
|
|
85
|
+
this.#protocol = void 0;
|
|
86
|
+
this.#host = void 0;
|
|
87
|
+
this.#pathname = void 0;
|
|
88
|
+
this.#search = void 0;
|
|
89
|
+
this.#searchParams = void 0;
|
|
90
|
+
this.#pos = void 0;
|
|
91
|
+
return this.#url;
|
|
92
|
+
}
|
|
93
|
+
get href() {
|
|
94
|
+
if (this.#url) return this.#url.href;
|
|
95
|
+
if (!this.#href) this.#href = `${this.#protocol || "http:"}//${this.#host || "localhost"}${this.#pathname || "/"}${this.#search || ""}`;
|
|
96
|
+
return this.#href;
|
|
97
|
+
}
|
|
98
|
+
#getPos() {
|
|
99
|
+
if (!this.#pos) {
|
|
100
|
+
const url = this.href;
|
|
101
|
+
const protoIndex = url.indexOf("://");
|
|
102
|
+
const pathnameIndex = protoIndex === -1 ? -1 : url.indexOf("/", protoIndex + 4);
|
|
103
|
+
this.#pos = [
|
|
104
|
+
protoIndex,
|
|
105
|
+
pathnameIndex,
|
|
106
|
+
pathnameIndex === -1 ? -1 : url.indexOf("?", pathnameIndex)
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
return this.#pos;
|
|
110
|
+
}
|
|
111
|
+
get pathname() {
|
|
112
|
+
if (this.#url) return this.#url.pathname;
|
|
113
|
+
if (this.#pathname === void 0) {
|
|
114
|
+
const [, pathnameIndex, queryIndex] = this.#getPos();
|
|
115
|
+
if (pathnameIndex === -1) return this._url.pathname;
|
|
116
|
+
this.#pathname = this.href.slice(pathnameIndex, queryIndex === -1 ? void 0 : queryIndex);
|
|
117
|
+
}
|
|
118
|
+
return this.#pathname;
|
|
119
|
+
}
|
|
120
|
+
get search() {
|
|
121
|
+
if (this.#url) return this.#url.search;
|
|
122
|
+
if (this.#search === void 0) {
|
|
123
|
+
const [, pathnameIndex, queryIndex] = this.#getPos();
|
|
124
|
+
if (pathnameIndex === -1) return this._url.search;
|
|
125
|
+
const url = this.href;
|
|
126
|
+
this.#search = queryIndex === -1 || queryIndex === url.length - 1 ? "" : url.slice(queryIndex);
|
|
127
|
+
}
|
|
128
|
+
return this.#search;
|
|
129
|
+
}
|
|
130
|
+
get searchParams() {
|
|
131
|
+
if (this.#url) return this.#url.searchParams;
|
|
132
|
+
if (!this.#searchParams) this.#searchParams = new URLSearchParams(this.search);
|
|
133
|
+
return this.#searchParams;
|
|
134
|
+
}
|
|
135
|
+
get protocol() {
|
|
136
|
+
if (this.#url) return this.#url.protocol;
|
|
137
|
+
if (this.#protocol === void 0) {
|
|
138
|
+
const [protocolIndex] = this.#getPos();
|
|
139
|
+
if (protocolIndex === -1) return this._url.protocol;
|
|
140
|
+
this.#protocol = this.href.slice(0, protocolIndex + 1);
|
|
141
|
+
}
|
|
142
|
+
return this.#protocol;
|
|
143
|
+
}
|
|
144
|
+
toString() {
|
|
145
|
+
return this.href;
|
|
146
|
+
}
|
|
147
|
+
toJSON() {
|
|
148
|
+
return this.href;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
lazyInherit(FastURL2.prototype, NativeURL.prototype, "_url");
|
|
152
|
+
Object.setPrototypeOf(FastURL2.prototype, NativeURL.prototype);
|
|
153
|
+
Object.setPrototypeOf(FastURL2, NativeURL);
|
|
154
|
+
return FastURL2;
|
|
155
|
+
})();
|
|
156
|
+
const NodeResponse = /* @__PURE__ */ (() => {
|
|
157
|
+
const NativeResponse = globalThis.Response;
|
|
158
|
+
const STATUS_CODES = globalThis.process?.getBuiltinModule?.("node:http")?.STATUS_CODES || {};
|
|
159
|
+
class NodeResponse2 {
|
|
160
|
+
#body;
|
|
161
|
+
#init;
|
|
162
|
+
#headers;
|
|
163
|
+
#response;
|
|
164
|
+
constructor(body, init) {
|
|
165
|
+
this.#body = body;
|
|
166
|
+
this.#init = init;
|
|
167
|
+
}
|
|
168
|
+
static [Symbol.hasInstance](val) {
|
|
169
|
+
return val instanceof NativeResponse;
|
|
170
|
+
}
|
|
171
|
+
get status() {
|
|
172
|
+
return this.#response?.status || this.#init?.status || 200;
|
|
173
|
+
}
|
|
174
|
+
get statusText() {
|
|
175
|
+
return this.#response?.statusText || this.#init?.statusText || STATUS_CODES[this.status] || "";
|
|
176
|
+
}
|
|
177
|
+
get headers() {
|
|
178
|
+
if (this.#response) return this.#response.headers;
|
|
179
|
+
if (this.#headers) return this.#headers;
|
|
180
|
+
const initHeaders = this.#init?.headers;
|
|
181
|
+
return this.#headers = initHeaders instanceof Headers ? initHeaders : new Headers(initHeaders);
|
|
182
|
+
}
|
|
183
|
+
get ok() {
|
|
184
|
+
if (this.#response) return this.#response.ok;
|
|
185
|
+
const status = this.status;
|
|
186
|
+
return status >= 200 && status < 300;
|
|
187
|
+
}
|
|
188
|
+
get _response() {
|
|
189
|
+
if (this.#response) return this.#response;
|
|
190
|
+
let body = this.#body;
|
|
191
|
+
if (body && typeof body.pipe === "function" && !(body instanceof Readable)) {
|
|
192
|
+
const stream = new PassThrough();
|
|
193
|
+
body.pipe(stream);
|
|
194
|
+
const abort = body.abort;
|
|
195
|
+
if (abort) stream.once("close", () => abort());
|
|
196
|
+
body = stream;
|
|
197
|
+
}
|
|
198
|
+
this.#response = new NativeResponse(body, this.#headers ? {
|
|
199
|
+
...this.#init,
|
|
200
|
+
headers: this.#headers
|
|
201
|
+
} : this.#init);
|
|
202
|
+
this.#init = void 0;
|
|
203
|
+
this.#headers = void 0;
|
|
204
|
+
this.#body = void 0;
|
|
205
|
+
return this.#response;
|
|
206
|
+
}
|
|
207
|
+
_toNodeResponse() {
|
|
208
|
+
const status = this.status;
|
|
209
|
+
const statusText = this.statusText;
|
|
210
|
+
let body;
|
|
211
|
+
let contentType;
|
|
212
|
+
let contentLength;
|
|
213
|
+
if (this.#response) body = this.#response.body;
|
|
214
|
+
else if (this.#body) if (this.#body instanceof ReadableStream) body = this.#body;
|
|
215
|
+
else if (typeof this.#body === "string") {
|
|
216
|
+
body = this.#body;
|
|
217
|
+
contentType = "text/plain; charset=UTF-8";
|
|
218
|
+
contentLength = Buffer.byteLength(this.#body);
|
|
219
|
+
} else if (this.#body instanceof ArrayBuffer) {
|
|
220
|
+
body = Buffer.from(this.#body);
|
|
221
|
+
contentLength = this.#body.byteLength;
|
|
222
|
+
} else if (this.#body instanceof Uint8Array) {
|
|
223
|
+
body = this.#body;
|
|
224
|
+
contentLength = this.#body.byteLength;
|
|
225
|
+
} else if (this.#body instanceof DataView) {
|
|
226
|
+
body = Buffer.from(this.#body.buffer);
|
|
227
|
+
contentLength = this.#body.byteLength;
|
|
228
|
+
} else if (this.#body instanceof Blob) {
|
|
229
|
+
body = this.#body.stream();
|
|
230
|
+
contentType = this.#body.type;
|
|
231
|
+
contentLength = this.#body.size;
|
|
232
|
+
} else if (typeof this.#body.pipe === "function") body = this.#body;
|
|
233
|
+
else body = this._response.body;
|
|
234
|
+
const headers = [];
|
|
235
|
+
const initHeaders = this.#init?.headers;
|
|
236
|
+
const headerEntries = this.#response?.headers || this.#headers || (initHeaders ? Array.isArray(initHeaders) ? initHeaders : initHeaders?.entries ? initHeaders.entries() : Object.entries(initHeaders).map(([k2, v2]) => [k2.toLowerCase(), v2]) : void 0);
|
|
237
|
+
let hasContentTypeHeader;
|
|
238
|
+
let hasContentLength;
|
|
239
|
+
if (headerEntries) for (const [key, value] of headerEntries) {
|
|
240
|
+
if (Array.isArray(value)) for (const v2 of value) headers.push([key, v2]);
|
|
241
|
+
else headers.push([key, value]);
|
|
242
|
+
if (key === "content-type") hasContentTypeHeader = true;
|
|
243
|
+
else if (key === "content-length") hasContentLength = true;
|
|
244
|
+
}
|
|
245
|
+
if (contentType && !hasContentTypeHeader) headers.push(["content-type", contentType]);
|
|
246
|
+
if (contentLength && !hasContentLength) headers.push(["content-length", String(contentLength)]);
|
|
247
|
+
this.#init = void 0;
|
|
248
|
+
this.#headers = void 0;
|
|
249
|
+
this.#response = void 0;
|
|
250
|
+
this.#body = void 0;
|
|
251
|
+
return {
|
|
252
|
+
status,
|
|
253
|
+
statusText,
|
|
254
|
+
headers,
|
|
255
|
+
body
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
lazyInherit(NodeResponse2.prototype, NativeResponse.prototype, "_response");
|
|
260
|
+
Object.setPrototypeOf(NodeResponse2, NativeResponse);
|
|
261
|
+
Object.setPrototypeOf(NodeResponse2.prototype, NativeResponse.prototype);
|
|
262
|
+
return NodeResponse2;
|
|
263
|
+
})();
|
|
264
|
+
function decodePathname(pathname) {
|
|
265
|
+
return decodeURI(pathname.includes("%25") ? pathname.replace(/%25/g, "%2525") : pathname);
|
|
266
|
+
}
|
|
267
|
+
const kEventNS = "h3.internal.event.";
|
|
268
|
+
const kEventRes = /* @__PURE__ */ Symbol.for(`${kEventNS}res`);
|
|
269
|
+
const kEventResHeaders = /* @__PURE__ */ Symbol.for(`${kEventNS}res.headers`);
|
|
270
|
+
const kEventResErrHeaders = /* @__PURE__ */ Symbol.for(`${kEventNS}res.err.headers`);
|
|
271
|
+
var H3Event = class {
|
|
272
|
+
app;
|
|
273
|
+
req;
|
|
274
|
+
url;
|
|
275
|
+
context;
|
|
276
|
+
static __is_event__ = true;
|
|
277
|
+
constructor(req, context, app) {
|
|
278
|
+
this.context = context || req.context || new NullProtoObj();
|
|
279
|
+
this.req = req;
|
|
280
|
+
this.app = app;
|
|
281
|
+
const _url = req._url;
|
|
282
|
+
const url = _url && _url instanceof URL ? _url : new FastURL(req.url);
|
|
283
|
+
if (url.pathname.includes("%")) url.pathname = decodePathname(url.pathname);
|
|
284
|
+
this.url = url;
|
|
285
|
+
}
|
|
286
|
+
get res() {
|
|
287
|
+
return this[kEventRes] ||= new H3EventResponse();
|
|
288
|
+
}
|
|
289
|
+
get runtime() {
|
|
290
|
+
return this.req.runtime;
|
|
291
|
+
}
|
|
292
|
+
waitUntil(promise) {
|
|
293
|
+
this.req.waitUntil?.(promise);
|
|
294
|
+
}
|
|
295
|
+
toString() {
|
|
296
|
+
return `[${this.req.method}] ${this.req.url}`;
|
|
297
|
+
}
|
|
298
|
+
toJSON() {
|
|
299
|
+
return this.toString();
|
|
300
|
+
}
|
|
301
|
+
get node() {
|
|
302
|
+
return this.req.runtime?.node;
|
|
303
|
+
}
|
|
304
|
+
get headers() {
|
|
305
|
+
return this.req.headers;
|
|
306
|
+
}
|
|
307
|
+
get path() {
|
|
308
|
+
return this.url.pathname + this.url.search;
|
|
309
|
+
}
|
|
310
|
+
get method() {
|
|
311
|
+
return this.req.method;
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
var H3EventResponse = class {
|
|
315
|
+
status;
|
|
316
|
+
statusText;
|
|
317
|
+
get headers() {
|
|
318
|
+
return this[kEventResHeaders] ||= new Headers();
|
|
319
|
+
}
|
|
320
|
+
get errHeaders() {
|
|
321
|
+
return this[kEventResErrHeaders] ||= new Headers();
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
const DISALLOWED_STATUS_CHARS = /[^\u0009\u0020-\u007E]/g;
|
|
325
|
+
function sanitizeStatusMessage(statusMessage = "") {
|
|
326
|
+
return statusMessage.replace(DISALLOWED_STATUS_CHARS, "");
|
|
327
|
+
}
|
|
328
|
+
function sanitizeStatusCode(statusCode, defaultStatusCode = 200) {
|
|
329
|
+
if (!statusCode) return defaultStatusCode;
|
|
330
|
+
if (typeof statusCode === "string") statusCode = +statusCode;
|
|
331
|
+
if (statusCode < 100 || statusCode > 599) return defaultStatusCode;
|
|
332
|
+
return statusCode;
|
|
333
|
+
}
|
|
334
|
+
var HTTPError = class HTTPError2 extends Error {
|
|
335
|
+
get name() {
|
|
336
|
+
return "HTTPError";
|
|
337
|
+
}
|
|
338
|
+
status;
|
|
339
|
+
statusText;
|
|
340
|
+
headers;
|
|
341
|
+
cause;
|
|
342
|
+
data;
|
|
343
|
+
body;
|
|
344
|
+
unhandled;
|
|
345
|
+
static isError(input) {
|
|
346
|
+
return input instanceof Error && input?.name === "HTTPError";
|
|
347
|
+
}
|
|
348
|
+
static status(status, statusText, details) {
|
|
349
|
+
return new HTTPError2({
|
|
350
|
+
...details,
|
|
351
|
+
statusText,
|
|
352
|
+
status
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
constructor(arg1, arg2) {
|
|
356
|
+
let messageInput;
|
|
357
|
+
let details;
|
|
358
|
+
if (typeof arg1 === "string") {
|
|
359
|
+
messageInput = arg1;
|
|
360
|
+
details = arg2;
|
|
361
|
+
} else details = arg1;
|
|
362
|
+
const status = sanitizeStatusCode(details?.status || details?.statusCode || details?.cause?.status || details?.cause?.statusCode, 500);
|
|
363
|
+
const statusText = sanitizeStatusMessage(details?.statusText || details?.statusMessage || details?.cause?.statusText || details?.cause?.statusMessage);
|
|
364
|
+
const message = messageInput || details?.message || details?.cause?.message || details?.statusText || details?.statusMessage || [
|
|
365
|
+
"HTTPError",
|
|
366
|
+
status,
|
|
367
|
+
statusText
|
|
368
|
+
].filter(Boolean).join(" ");
|
|
369
|
+
super(message, { cause: details });
|
|
370
|
+
this.cause = details;
|
|
371
|
+
this.status = status;
|
|
372
|
+
this.statusText = statusText || void 0;
|
|
373
|
+
const rawHeaders = details?.headers || details?.cause?.headers;
|
|
374
|
+
this.headers = rawHeaders ? new Headers(rawHeaders) : void 0;
|
|
375
|
+
this.unhandled = details?.unhandled ?? details?.cause?.unhandled ?? void 0;
|
|
376
|
+
this.data = details?.data;
|
|
377
|
+
this.body = details?.body;
|
|
378
|
+
}
|
|
379
|
+
get statusCode() {
|
|
380
|
+
return this.status;
|
|
381
|
+
}
|
|
382
|
+
get statusMessage() {
|
|
383
|
+
return this.statusText;
|
|
384
|
+
}
|
|
385
|
+
toJSON() {
|
|
386
|
+
const unhandled = this.unhandled;
|
|
387
|
+
return {
|
|
388
|
+
status: this.status,
|
|
389
|
+
statusText: this.statusText,
|
|
390
|
+
unhandled,
|
|
391
|
+
message: unhandled ? "HTTPError" : this.message,
|
|
392
|
+
data: unhandled ? void 0 : this.data,
|
|
393
|
+
...unhandled ? void 0 : this.body
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
function isJSONSerializable(value, _type) {
|
|
398
|
+
if (value === null || value === void 0) return true;
|
|
399
|
+
if (_type !== "object") return _type === "boolean" || _type === "number" || _type === "string";
|
|
400
|
+
if (typeof value.toJSON === "function") return true;
|
|
401
|
+
if (Array.isArray(value)) return true;
|
|
402
|
+
if (typeof value.pipe === "function" || typeof value.pipeTo === "function") return false;
|
|
403
|
+
if (value instanceof NullProtoObj) return true;
|
|
404
|
+
const proto = Object.getPrototypeOf(value);
|
|
405
|
+
return proto === Object.prototype || proto === null;
|
|
406
|
+
}
|
|
407
|
+
const kNotFound = /* @__PURE__ */ Symbol.for("h3.notFound");
|
|
408
|
+
const kHandled = /* @__PURE__ */ Symbol.for("h3.handled");
|
|
409
|
+
function toResponse(val, event, config = {}) {
|
|
410
|
+
if (typeof val?.then === "function") return (val.catch?.((error) => error) || Promise.resolve(val)).then((resolvedVal) => toResponse(resolvedVal, event, config));
|
|
411
|
+
const response = prepareResponse(val, event, config);
|
|
412
|
+
if (typeof response?.then === "function") return toResponse(response, event, config);
|
|
413
|
+
const { onResponse } = config;
|
|
414
|
+
return onResponse ? Promise.resolve(onResponse(response, event)).then(() => response) : response;
|
|
415
|
+
}
|
|
416
|
+
var HTTPResponse = class {
|
|
417
|
+
#headers;
|
|
418
|
+
#init;
|
|
419
|
+
body;
|
|
420
|
+
constructor(body, init) {
|
|
421
|
+
this.body = body;
|
|
422
|
+
this.#init = init;
|
|
423
|
+
}
|
|
424
|
+
get status() {
|
|
425
|
+
return this.#init?.status || 200;
|
|
426
|
+
}
|
|
427
|
+
get statusText() {
|
|
428
|
+
return this.#init?.statusText || "OK";
|
|
429
|
+
}
|
|
430
|
+
get headers() {
|
|
431
|
+
return this.#headers ||= new Headers(this.#init?.headers);
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
function prepareResponse(val, event, config, nested) {
|
|
435
|
+
if (val === kHandled) return new NodeResponse(null);
|
|
436
|
+
if (val === kNotFound) val = new HTTPError({
|
|
437
|
+
status: 404,
|
|
438
|
+
message: `Cannot find any route matching [${event.req.method}] ${event.url}`
|
|
439
|
+
});
|
|
440
|
+
if (val && val instanceof Error) {
|
|
441
|
+
const isHTTPError = HTTPError.isError(val);
|
|
442
|
+
const error = isHTTPError ? val : new HTTPError(val);
|
|
443
|
+
if (!isHTTPError) {
|
|
444
|
+
error.unhandled = true;
|
|
445
|
+
if (val?.stack) error.stack = val.stack;
|
|
446
|
+
}
|
|
447
|
+
if (error.unhandled && !config.silent) console.error(error);
|
|
448
|
+
const { onError } = config;
|
|
449
|
+
const errHeaders = event[kEventRes]?.[kEventResErrHeaders];
|
|
450
|
+
return onError && !nested ? Promise.resolve(onError(error, event)).catch((error2) => error2).then((newVal) => prepareResponse(newVal ?? val, event, config, true)) : errorResponse(error, config.debug, errHeaders);
|
|
451
|
+
}
|
|
452
|
+
const preparedRes = event[kEventRes];
|
|
453
|
+
const preparedHeaders = preparedRes?.[kEventResHeaders];
|
|
454
|
+
event[kEventRes] = void 0;
|
|
455
|
+
if (!(val instanceof Response)) {
|
|
456
|
+
const res = prepareResponseBody(val, event, config);
|
|
457
|
+
const status = res.status || preparedRes?.status;
|
|
458
|
+
return new NodeResponse(nullBody(event.req.method, status) ? null : res.body, {
|
|
459
|
+
status,
|
|
460
|
+
statusText: res.statusText || preparedRes?.statusText,
|
|
461
|
+
headers: res.headers && preparedHeaders ? mergeHeaders$1(res.headers, preparedHeaders) : res.headers || preparedHeaders
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
if (!preparedHeaders || nested || !val.ok) return val;
|
|
465
|
+
try {
|
|
466
|
+
mergeHeaders$1(val.headers, preparedHeaders, val.headers);
|
|
467
|
+
return val;
|
|
468
|
+
} catch {
|
|
469
|
+
return new NodeResponse(nullBody(event.req.method, val.status) ? null : val.body, {
|
|
470
|
+
status: val.status,
|
|
471
|
+
statusText: val.statusText,
|
|
472
|
+
headers: mergeHeaders$1(val.headers, preparedHeaders)
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
function mergeHeaders$1(base, overrides, target = new Headers(base)) {
|
|
477
|
+
for (const [name, value] of overrides) if (name === "set-cookie") target.append(name, value);
|
|
478
|
+
else target.set(name, value);
|
|
479
|
+
return target;
|
|
480
|
+
}
|
|
481
|
+
const frozen = (name) => (...args) => {
|
|
482
|
+
throw new Error(`Headers are frozen (${name} ${args.join(", ")})`);
|
|
483
|
+
};
|
|
484
|
+
var FrozenHeaders = class extends Headers {
|
|
485
|
+
set = frozen("set");
|
|
486
|
+
append = frozen("append");
|
|
487
|
+
delete = frozen("delete");
|
|
488
|
+
};
|
|
489
|
+
const emptyHeaders = /* @__PURE__ */ new FrozenHeaders({ "content-length": "0" });
|
|
490
|
+
const jsonHeaders = /* @__PURE__ */ new FrozenHeaders({ "content-type": "application/json;charset=UTF-8" });
|
|
491
|
+
function prepareResponseBody(val, event, config) {
|
|
492
|
+
if (val === null || val === void 0) return {
|
|
493
|
+
body: "",
|
|
494
|
+
headers: emptyHeaders
|
|
495
|
+
};
|
|
496
|
+
const valType = typeof val;
|
|
497
|
+
if (valType === "string") return { body: val };
|
|
498
|
+
if (val instanceof Uint8Array) {
|
|
499
|
+
event.res.headers.set("content-length", val.byteLength.toString());
|
|
500
|
+
return { body: val };
|
|
501
|
+
}
|
|
502
|
+
if (val instanceof HTTPResponse || val?.constructor?.name === "HTTPResponse") return val;
|
|
503
|
+
if (isJSONSerializable(val, valType)) return {
|
|
504
|
+
body: JSON.stringify(val, void 0, config.debug ? 2 : void 0),
|
|
505
|
+
headers: jsonHeaders
|
|
506
|
+
};
|
|
507
|
+
if (valType === "bigint") return {
|
|
508
|
+
body: val.toString(),
|
|
509
|
+
headers: jsonHeaders
|
|
510
|
+
};
|
|
511
|
+
if (val instanceof Blob) {
|
|
512
|
+
const headers = new Headers({
|
|
513
|
+
"content-type": val.type,
|
|
514
|
+
"content-length": val.size.toString()
|
|
515
|
+
});
|
|
516
|
+
let filename = val.name;
|
|
517
|
+
if (filename) {
|
|
518
|
+
filename = encodeURIComponent(filename);
|
|
519
|
+
headers.set("content-disposition", `filename="${filename}"; filename*=UTF-8''${filename}`);
|
|
520
|
+
}
|
|
521
|
+
return {
|
|
522
|
+
body: val.stream(),
|
|
523
|
+
headers
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
if (valType === "symbol") return { body: val.toString() };
|
|
527
|
+
if (valType === "function") return { body: `${val.name}()` };
|
|
528
|
+
return { body: val };
|
|
529
|
+
}
|
|
530
|
+
function nullBody(method, status) {
|
|
531
|
+
return method === "HEAD" || status === 100 || status === 101 || status === 102 || status === 204 || status === 205 || status === 304;
|
|
532
|
+
}
|
|
533
|
+
function errorResponse(error, debug, errHeaders) {
|
|
534
|
+
let headers = error.headers ? mergeHeaders$1(jsonHeaders, error.headers) : new Headers(jsonHeaders);
|
|
535
|
+
if (errHeaders) headers = mergeHeaders$1(headers, errHeaders);
|
|
536
|
+
return new NodeResponse(JSON.stringify({
|
|
537
|
+
...error.toJSON(),
|
|
538
|
+
stack: debug && error.stack ? error.stack.split("\n").map((l) => l.trim()) : void 0
|
|
539
|
+
}, void 0, debug ? 2 : void 0), {
|
|
540
|
+
status: error.status,
|
|
541
|
+
statusText: error.statusText,
|
|
542
|
+
headers
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
var GLOBAL_EVENT_STORAGE_KEY = /* @__PURE__ */ Symbol.for("tanstack-start:event-storage");
|
|
546
|
+
var globalObj$1 = globalThis;
|
|
547
|
+
if (!globalObj$1[GLOBAL_EVENT_STORAGE_KEY]) globalObj$1[GLOBAL_EVENT_STORAGE_KEY] = new AsyncLocalStorage();
|
|
548
|
+
var eventStorage = globalObj$1[GLOBAL_EVENT_STORAGE_KEY];
|
|
549
|
+
function isPromiseLike(value) {
|
|
550
|
+
return typeof value.then === "function";
|
|
551
|
+
}
|
|
552
|
+
function getSetCookieValues(headers) {
|
|
553
|
+
const headersWithSetCookie = headers;
|
|
554
|
+
if (typeof headersWithSetCookie.getSetCookie === "function") return headersWithSetCookie.getSetCookie();
|
|
555
|
+
const value = headers.get("set-cookie");
|
|
556
|
+
return value ? [value] : [];
|
|
557
|
+
}
|
|
558
|
+
function mergeEventResponseHeaders(response, event) {
|
|
559
|
+
if (response.ok) return;
|
|
560
|
+
const eventSetCookies = getSetCookieValues(event.res.headers);
|
|
561
|
+
if (eventSetCookies.length === 0) return;
|
|
562
|
+
const responseSetCookies = getSetCookieValues(response.headers);
|
|
563
|
+
response.headers.delete("set-cookie");
|
|
564
|
+
for (const cookie of responseSetCookies) response.headers.append("set-cookie", cookie);
|
|
565
|
+
for (const cookie of eventSetCookies) response.headers.append("set-cookie", cookie);
|
|
566
|
+
}
|
|
567
|
+
function attachResponseHeaders(value, event) {
|
|
568
|
+
if (isPromiseLike(value)) return value.then((resolved) => {
|
|
569
|
+
if (resolved instanceof Response) mergeEventResponseHeaders(resolved, event);
|
|
570
|
+
return resolved;
|
|
571
|
+
});
|
|
572
|
+
if (value instanceof Response) mergeEventResponseHeaders(value, event);
|
|
573
|
+
return value;
|
|
574
|
+
}
|
|
575
|
+
function requestHandler(handler) {
|
|
576
|
+
return (request, requestOpts) => {
|
|
577
|
+
let h3Event;
|
|
578
|
+
try {
|
|
579
|
+
h3Event = new H3Event(request);
|
|
580
|
+
} catch (error) {
|
|
581
|
+
if (error instanceof URIError) return new Response(null, {
|
|
582
|
+
status: 400,
|
|
583
|
+
statusText: "Bad Request"
|
|
584
|
+
});
|
|
585
|
+
throw error;
|
|
586
|
+
}
|
|
587
|
+
return toResponse(attachResponseHeaders(eventStorage.run({ h3Event }, () => handler(request, requestOpts)), h3Event), h3Event);
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
function getH3Event() {
|
|
591
|
+
const event = eventStorage.getStore();
|
|
592
|
+
if (!event) throw new Error(`No StartEvent found in AsyncLocalStorage. Make sure you are using the function within the server runtime.`);
|
|
593
|
+
return event.h3Event;
|
|
594
|
+
}
|
|
595
|
+
function getResponse() {
|
|
596
|
+
return getH3Event().res;
|
|
597
|
+
}
|
|
598
|
+
var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
|
|
599
|
+
function sanitizePathSegment(segment) {
|
|
600
|
+
return segment.replace(/[\x00-\x1f\x7f]/g, "");
|
|
601
|
+
}
|
|
602
|
+
function decodeSegment(segment) {
|
|
603
|
+
let decoded;
|
|
604
|
+
try {
|
|
605
|
+
decoded = decodeURI(segment);
|
|
606
|
+
} catch {
|
|
607
|
+
decoded = segment.replaceAll(/%[0-9A-F]{2}/gi, (match) => {
|
|
608
|
+
try {
|
|
609
|
+
return decodeURI(match);
|
|
610
|
+
} catch {
|
|
611
|
+
return match;
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
return sanitizePathSegment(decoded);
|
|
616
|
+
}
|
|
617
|
+
function decodePath(path) {
|
|
618
|
+
if (!path) return {
|
|
619
|
+
path,
|
|
620
|
+
handledProtocolRelativeURL: false
|
|
621
|
+
};
|
|
622
|
+
if (!/[%\\\x00-\x1f\x7f]/.test(path) && !path.startsWith("//")) return {
|
|
623
|
+
path,
|
|
624
|
+
handledProtocolRelativeURL: false
|
|
625
|
+
};
|
|
626
|
+
const re2 = /%25|%5C/gi;
|
|
627
|
+
let cursor = 0;
|
|
628
|
+
let result = "";
|
|
629
|
+
let match;
|
|
630
|
+
while (null !== (match = re2.exec(path))) {
|
|
631
|
+
result += decodeSegment(path.slice(cursor, match.index)) + match[0];
|
|
632
|
+
cursor = re2.lastIndex;
|
|
633
|
+
}
|
|
634
|
+
result = result + decodeSegment(cursor ? path.slice(cursor) : path);
|
|
635
|
+
let handledProtocolRelativeURL = false;
|
|
636
|
+
if (result.startsWith("//")) {
|
|
637
|
+
handledProtocolRelativeURL = true;
|
|
638
|
+
result = "/" + result.replace(/^\/+/, "");
|
|
639
|
+
}
|
|
640
|
+
return {
|
|
641
|
+
path: result,
|
|
642
|
+
handledProtocolRelativeURL
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
function invariant() {
|
|
646
|
+
throw new Error("Invariant failed");
|
|
647
|
+
}
|
|
648
|
+
function createLRUCache(max) {
|
|
649
|
+
const cache = /* @__PURE__ */ new Map();
|
|
650
|
+
let oldest;
|
|
651
|
+
let newest;
|
|
652
|
+
const touch = (entry) => {
|
|
653
|
+
if (!entry.next) return;
|
|
654
|
+
if (!entry.prev) {
|
|
655
|
+
entry.next.prev = void 0;
|
|
656
|
+
oldest = entry.next;
|
|
657
|
+
entry.next = void 0;
|
|
658
|
+
if (newest) {
|
|
659
|
+
entry.prev = newest;
|
|
660
|
+
newest.next = entry;
|
|
661
|
+
}
|
|
662
|
+
} else {
|
|
663
|
+
entry.prev.next = entry.next;
|
|
664
|
+
entry.next.prev = entry.prev;
|
|
665
|
+
entry.next = void 0;
|
|
666
|
+
if (newest) {
|
|
667
|
+
newest.next = entry;
|
|
668
|
+
entry.prev = newest;
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
newest = entry;
|
|
672
|
+
};
|
|
673
|
+
return {
|
|
674
|
+
get(key) {
|
|
675
|
+
const entry = cache.get(key);
|
|
676
|
+
if (!entry) return void 0;
|
|
677
|
+
touch(entry);
|
|
678
|
+
return entry.value;
|
|
679
|
+
},
|
|
680
|
+
set(key, value) {
|
|
681
|
+
if (cache.size >= max && oldest) {
|
|
682
|
+
const toDelete = oldest;
|
|
683
|
+
cache.delete(toDelete.key);
|
|
684
|
+
if (toDelete.next) {
|
|
685
|
+
oldest = toDelete.next;
|
|
686
|
+
toDelete.next.prev = void 0;
|
|
687
|
+
}
|
|
688
|
+
if (toDelete === newest) newest = void 0;
|
|
689
|
+
}
|
|
690
|
+
const existing = cache.get(key);
|
|
691
|
+
if (existing) {
|
|
692
|
+
existing.value = value;
|
|
693
|
+
touch(existing);
|
|
694
|
+
} else {
|
|
695
|
+
const entry = {
|
|
696
|
+
key,
|
|
697
|
+
value,
|
|
698
|
+
prev: newest
|
|
699
|
+
};
|
|
700
|
+
if (newest) newest.next = entry;
|
|
701
|
+
newest = entry;
|
|
702
|
+
if (!oldest) oldest = entry;
|
|
703
|
+
cache.set(key, entry);
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
clear() {
|
|
707
|
+
cache.clear();
|
|
708
|
+
oldest = void 0;
|
|
709
|
+
newest = void 0;
|
|
710
|
+
}
|
|
711
|
+
};
|
|
712
|
+
}
|
|
713
|
+
function isNotFound(obj) {
|
|
714
|
+
return obj?.isNotFound === true;
|
|
715
|
+
}
|
|
716
|
+
const rootRouteId = "__root__";
|
|
717
|
+
function isRedirect(obj) {
|
|
718
|
+
return obj instanceof Response && !!obj.options;
|
|
719
|
+
}
|
|
720
|
+
function isResolvedRedirect(obj) {
|
|
721
|
+
return isRedirect(obj) && !!obj.options.href;
|
|
722
|
+
}
|
|
723
|
+
function executeRewriteInput(rewrite, url) {
|
|
724
|
+
const res = rewrite?.input?.({ url });
|
|
725
|
+
if (res) {
|
|
726
|
+
if (typeof res === "string") return new URL(res);
|
|
727
|
+
else if (res instanceof URL) return res;
|
|
728
|
+
}
|
|
729
|
+
return url;
|
|
730
|
+
}
|
|
731
|
+
var stateIndexKey = "__TSR_index";
|
|
732
|
+
function createHistory(opts) {
|
|
733
|
+
let location = opts.getLocation();
|
|
734
|
+
const subscribers = /* @__PURE__ */ new Set();
|
|
735
|
+
const notify = (action) => {
|
|
736
|
+
location = opts.getLocation();
|
|
737
|
+
subscribers.forEach((subscriber) => subscriber({
|
|
738
|
+
location,
|
|
739
|
+
action
|
|
740
|
+
}));
|
|
741
|
+
};
|
|
742
|
+
const handleIndexChange = (action) => {
|
|
743
|
+
if (opts.notifyOnIndexChange ?? true) notify(action);
|
|
744
|
+
else location = opts.getLocation();
|
|
745
|
+
};
|
|
746
|
+
const tryNavigation = async ({ task, navigateOpts, ...actionInfo }) => {
|
|
747
|
+
if (navigateOpts?.ignoreBlocker ?? false) {
|
|
748
|
+
task();
|
|
749
|
+
return;
|
|
750
|
+
}
|
|
751
|
+
const blockers = opts.getBlockers?.() ?? [];
|
|
752
|
+
const isPushOrReplace = actionInfo.type === "PUSH" || actionInfo.type === "REPLACE";
|
|
753
|
+
if (typeof document !== "undefined" && blockers.length && isPushOrReplace) for (const blocker of blockers) {
|
|
754
|
+
const nextLocation = parseHref(actionInfo.path, actionInfo.state);
|
|
755
|
+
if (await blocker.blockerFn({
|
|
756
|
+
currentLocation: location,
|
|
757
|
+
nextLocation,
|
|
758
|
+
action: actionInfo.type
|
|
759
|
+
})) {
|
|
760
|
+
opts.onBlocked?.();
|
|
761
|
+
return;
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
task();
|
|
765
|
+
};
|
|
766
|
+
return {
|
|
767
|
+
get location() {
|
|
768
|
+
return location;
|
|
769
|
+
},
|
|
770
|
+
get length() {
|
|
771
|
+
return opts.getLength();
|
|
772
|
+
},
|
|
773
|
+
subscribers,
|
|
774
|
+
subscribe: (cb) => {
|
|
775
|
+
subscribers.add(cb);
|
|
776
|
+
return () => {
|
|
777
|
+
subscribers.delete(cb);
|
|
778
|
+
};
|
|
779
|
+
},
|
|
780
|
+
push: (path, state, navigateOpts) => {
|
|
781
|
+
const currentIndex = location.state[stateIndexKey];
|
|
782
|
+
state = assignKeyAndIndex(currentIndex + 1, state);
|
|
783
|
+
tryNavigation({
|
|
784
|
+
task: () => {
|
|
785
|
+
opts.pushState(path, state);
|
|
786
|
+
notify({ type: "PUSH" });
|
|
787
|
+
},
|
|
788
|
+
navigateOpts,
|
|
789
|
+
type: "PUSH",
|
|
790
|
+
path,
|
|
791
|
+
state
|
|
792
|
+
});
|
|
793
|
+
},
|
|
794
|
+
replace: (path, state, navigateOpts) => {
|
|
795
|
+
const currentIndex = location.state[stateIndexKey];
|
|
796
|
+
state = assignKeyAndIndex(currentIndex, state);
|
|
797
|
+
tryNavigation({
|
|
798
|
+
task: () => {
|
|
799
|
+
opts.replaceState(path, state);
|
|
800
|
+
notify({ type: "REPLACE" });
|
|
801
|
+
},
|
|
802
|
+
navigateOpts,
|
|
803
|
+
type: "REPLACE",
|
|
804
|
+
path,
|
|
805
|
+
state
|
|
806
|
+
});
|
|
807
|
+
},
|
|
808
|
+
go: (index, navigateOpts) => {
|
|
809
|
+
tryNavigation({
|
|
810
|
+
task: () => {
|
|
811
|
+
opts.go(index);
|
|
812
|
+
handleIndexChange({
|
|
813
|
+
type: "GO",
|
|
814
|
+
index
|
|
815
|
+
});
|
|
816
|
+
},
|
|
817
|
+
navigateOpts,
|
|
818
|
+
type: "GO"
|
|
819
|
+
});
|
|
820
|
+
},
|
|
821
|
+
back: (navigateOpts) => {
|
|
822
|
+
tryNavigation({
|
|
823
|
+
task: () => {
|
|
824
|
+
opts.back(navigateOpts?.ignoreBlocker ?? false);
|
|
825
|
+
handleIndexChange({ type: "BACK" });
|
|
826
|
+
},
|
|
827
|
+
navigateOpts,
|
|
828
|
+
type: "BACK"
|
|
829
|
+
});
|
|
830
|
+
},
|
|
831
|
+
forward: (navigateOpts) => {
|
|
832
|
+
tryNavigation({
|
|
833
|
+
task: () => {
|
|
834
|
+
opts.forward(navigateOpts?.ignoreBlocker ?? false);
|
|
835
|
+
handleIndexChange({ type: "FORWARD" });
|
|
836
|
+
},
|
|
837
|
+
navigateOpts,
|
|
838
|
+
type: "FORWARD"
|
|
839
|
+
});
|
|
840
|
+
},
|
|
841
|
+
canGoBack: () => location.state[stateIndexKey] !== 0,
|
|
842
|
+
createHref: (str) => opts.createHref(str),
|
|
843
|
+
block: (blocker) => {
|
|
844
|
+
if (!opts.setBlockers) return () => {
|
|
845
|
+
};
|
|
846
|
+
const blockers = opts.getBlockers?.() ?? [];
|
|
847
|
+
opts.setBlockers([...blockers, blocker]);
|
|
848
|
+
return () => {
|
|
849
|
+
const blockers2 = opts.getBlockers?.() ?? [];
|
|
850
|
+
opts.setBlockers?.(blockers2.filter((b2) => b2 !== blocker));
|
|
851
|
+
};
|
|
852
|
+
},
|
|
853
|
+
flush: () => opts.flush?.(),
|
|
854
|
+
destroy: () => opts.destroy?.(),
|
|
855
|
+
notify
|
|
856
|
+
};
|
|
857
|
+
}
|
|
858
|
+
function assignKeyAndIndex(index, state) {
|
|
859
|
+
if (!state) state = {};
|
|
860
|
+
const key = createRandomKey();
|
|
861
|
+
return {
|
|
862
|
+
...state,
|
|
863
|
+
key,
|
|
864
|
+
__TSR_key: key,
|
|
865
|
+
[stateIndexKey]: index
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
function createMemoryHistory(opts = { initialEntries: ["/"] }) {
|
|
869
|
+
const entries = opts.initialEntries;
|
|
870
|
+
let index = opts.initialIndex ? Math.min(Math.max(opts.initialIndex, 0), entries.length - 1) : entries.length - 1;
|
|
871
|
+
const states = entries.map((_entry, index2) => assignKeyAndIndex(index2, void 0));
|
|
872
|
+
const getLocation = () => parseHref(entries[index], states[index]);
|
|
873
|
+
let blockers = [];
|
|
874
|
+
const _getBlockers = () => blockers;
|
|
875
|
+
const _setBlockers = (newBlockers) => blockers = newBlockers;
|
|
876
|
+
return createHistory({
|
|
877
|
+
getLocation,
|
|
878
|
+
getLength: () => entries.length,
|
|
879
|
+
pushState: (path, state) => {
|
|
880
|
+
if (index < entries.length - 1) {
|
|
881
|
+
entries.splice(index + 1);
|
|
882
|
+
states.splice(index + 1);
|
|
883
|
+
}
|
|
884
|
+
states.push(state);
|
|
885
|
+
entries.push(path);
|
|
886
|
+
index = Math.max(entries.length - 1, 0);
|
|
887
|
+
},
|
|
888
|
+
replaceState: (path, state) => {
|
|
889
|
+
states[index] = state;
|
|
890
|
+
entries[index] = path;
|
|
891
|
+
},
|
|
892
|
+
back: () => {
|
|
893
|
+
index = Math.max(index - 1, 0);
|
|
894
|
+
},
|
|
895
|
+
forward: () => {
|
|
896
|
+
index = Math.min(index + 1, entries.length - 1);
|
|
897
|
+
},
|
|
898
|
+
go: (n2) => {
|
|
899
|
+
index = Math.min(Math.max(index + n2, 0), entries.length - 1);
|
|
900
|
+
},
|
|
901
|
+
createHref: (path) => path,
|
|
902
|
+
getBlockers: _getBlockers,
|
|
903
|
+
setBlockers: _setBlockers
|
|
904
|
+
});
|
|
905
|
+
}
|
|
906
|
+
function sanitizePath(path) {
|
|
907
|
+
let sanitized = path.replace(/[\x00-\x1f\x7f]/g, "");
|
|
908
|
+
if (sanitized.startsWith("//")) sanitized = "/" + sanitized.replace(/^\/+/, "");
|
|
909
|
+
return sanitized;
|
|
910
|
+
}
|
|
911
|
+
function parseHref(href, state) {
|
|
912
|
+
const sanitizedHref = sanitizePath(href);
|
|
913
|
+
const hashIndex = sanitizedHref.indexOf("#");
|
|
914
|
+
const searchIndex = sanitizedHref.indexOf("?");
|
|
915
|
+
const addedKey = createRandomKey();
|
|
916
|
+
return {
|
|
917
|
+
href: sanitizedHref,
|
|
918
|
+
pathname: sanitizedHref.substring(0, hashIndex > 0 ? searchIndex > 0 ? Math.min(hashIndex, searchIndex) : hashIndex : searchIndex > 0 ? searchIndex : sanitizedHref.length),
|
|
919
|
+
hash: hashIndex > -1 ? sanitizedHref.substring(hashIndex) : "",
|
|
920
|
+
search: searchIndex > -1 ? sanitizedHref.slice(searchIndex, hashIndex === -1 ? void 0 : hashIndex) : "",
|
|
921
|
+
state: state || {
|
|
922
|
+
[stateIndexKey]: 0,
|
|
923
|
+
key: addedKey,
|
|
924
|
+
__TSR_key: addedKey
|
|
925
|
+
}
|
|
926
|
+
};
|
|
927
|
+
}
|
|
928
|
+
function createRandomKey() {
|
|
929
|
+
return (Math.random() + 1).toString(36).substring(7);
|
|
930
|
+
}
|
|
931
|
+
function resolveManifestAssetLink(link) {
|
|
932
|
+
if (typeof link === "string") return {
|
|
933
|
+
href: link,
|
|
934
|
+
crossOrigin: void 0
|
|
935
|
+
};
|
|
936
|
+
return link;
|
|
937
|
+
}
|
|
938
|
+
function getStylesheetHref(asset) {
|
|
939
|
+
if (asset.tag !== "link") return void 0;
|
|
940
|
+
const rel = asset.attrs?.rel;
|
|
941
|
+
const href = asset.attrs?.href;
|
|
942
|
+
if (typeof href !== "string") return void 0;
|
|
943
|
+
if (!(typeof rel === "string" ? rel.split(/\s+/) : []).includes("stylesheet")) return void 0;
|
|
944
|
+
return href;
|
|
945
|
+
}
|
|
946
|
+
function isInlinableStylesheet(manifest2, asset) {
|
|
947
|
+
const href = getStylesheetHref(asset);
|
|
948
|
+
return !!href && manifest2?.inlineCss?.styles[href] !== void 0;
|
|
949
|
+
}
|
|
950
|
+
function createInlineCssStyleAsset(css) {
|
|
951
|
+
return {
|
|
952
|
+
tag: "style",
|
|
953
|
+
attrs: { suppressHydrationWarning: true },
|
|
954
|
+
inlineCss: true,
|
|
955
|
+
children: css
|
|
956
|
+
};
|
|
957
|
+
}
|
|
958
|
+
function createInlineCssPlaceholderAsset() {
|
|
959
|
+
return {
|
|
960
|
+
tag: "style",
|
|
961
|
+
attrs: { suppressHydrationWarning: true },
|
|
962
|
+
inlineCss: true
|
|
963
|
+
};
|
|
964
|
+
}
|
|
965
|
+
const GLOBAL_TSR = "$_TSR";
|
|
966
|
+
const TSR_SCRIPT_BARRIER_ID = "$tsr-stream-barrier";
|
|
967
|
+
var M = ((i) => (i[i.AggregateError = 1] = "AggregateError", i[i.ArrowFunction = 2] = "ArrowFunction", i[i.ErrorPrototypeStack = 4] = "ErrorPrototypeStack", i[i.ObjectAssign = 8] = "ObjectAssign", i[i.BigIntTypedArray = 16] = "BigIntTypedArray", i[i.RegExp = 32] = "RegExp", i))(M || {});
|
|
968
|
+
var v = Symbol.asyncIterator, pr = Symbol.hasInstance, R = Symbol.isConcatSpreadable, C = Symbol.iterator, dr = Symbol.match, gr = Symbol.matchAll, yr = Symbol.replace, Nr = Symbol.search, br = Symbol.species, vr = Symbol.split, Cr = Symbol.toPrimitive, P$1 = Symbol.toStringTag, Ar = Symbol.unscopables;
|
|
969
|
+
var tt = { 0: "Symbol.asyncIterator", 1: "Symbol.hasInstance", 2: "Symbol.isConcatSpreadable", 3: "Symbol.iterator", 4: "Symbol.match", 5: "Symbol.matchAll", 6: "Symbol.replace", 7: "Symbol.search", 8: "Symbol.species", 9: "Symbol.split", 10: "Symbol.toPrimitive", 11: "Symbol.toStringTag", 12: "Symbol.unscopables" }, ve = { [v]: 0, [pr]: 1, [R]: 2, [C]: 3, [dr]: 4, [gr]: 5, [yr]: 6, [Nr]: 7, [br]: 8, [vr]: 9, [Cr]: 10, [P$1]: 11, [Ar]: 12 }, nt = { 0: v, 1: pr, 2: R, 3: C, 4: dr, 5: gr, 6: yr, 7: Nr, 8: br, 9: vr, 10: Cr, 11: P$1, 12: Ar }, ot = { 2: "!0", 3: "!1", 1: "void 0", 0: "null", 4: "-0", 5: "1/0", 6: "-1/0", 7: "0/0" }, o = void 0, at = { 2: true, 3: false, 1: o, 0: null, 4: -0, 5: Number.POSITIVE_INFINITY, 6: Number.NEGATIVE_INFINITY, 7: Number.NaN };
|
|
970
|
+
var Ce = { 0: "Error", 1: "EvalError", 2: "RangeError", 3: "ReferenceError", 4: "SyntaxError", 5: "TypeError", 6: "URIError" }, st = { 0: Error, 1: EvalError, 2: RangeError, 3: ReferenceError, 4: SyntaxError, 5: TypeError, 6: URIError };
|
|
971
|
+
function c(e, r, t, n2, a, s, i, u, l, g, S, d) {
|
|
972
|
+
return { t: e, i: r, s: t, c: n2, m: a, p: s, e: i, a: u, f: l, b: g, o: S, l: d };
|
|
973
|
+
}
|
|
974
|
+
function B(e) {
|
|
975
|
+
return c(2, o, e, o, o, o, o, o, o, o, o, o);
|
|
976
|
+
}
|
|
977
|
+
var H = B(2), J = B(3), Ae = B(1), Ee = B(0), it = B(4), ut = B(5), lt = B(6), ct = B(7);
|
|
978
|
+
function mn(e) {
|
|
979
|
+
switch (e) {
|
|
980
|
+
case '"':
|
|
981
|
+
return '\\"';
|
|
982
|
+
case "\\":
|
|
983
|
+
return "\\\\";
|
|
984
|
+
case `
|
|
985
|
+
`:
|
|
986
|
+
return "\\n";
|
|
987
|
+
case "\r":
|
|
988
|
+
return "\\r";
|
|
989
|
+
case "\b":
|
|
990
|
+
return "\\b";
|
|
991
|
+
case " ":
|
|
992
|
+
return "\\t";
|
|
993
|
+
case "\f":
|
|
994
|
+
return "\\f";
|
|
995
|
+
case "<":
|
|
996
|
+
return "\\x3C";
|
|
997
|
+
case "\u2028":
|
|
998
|
+
return "\\u2028";
|
|
999
|
+
case "\u2029":
|
|
1000
|
+
return "\\u2029";
|
|
1001
|
+
default:
|
|
1002
|
+
return o;
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
function y(e) {
|
|
1006
|
+
let r = "", t = 0, n2;
|
|
1007
|
+
for (let a = 0, s = e.length; a < s; a++) n2 = mn(e[a]), n2 && (r += e.slice(t, a) + n2, t = a + 1);
|
|
1008
|
+
return t === 0 ? r = e : r += e.slice(t), r;
|
|
1009
|
+
}
|
|
1010
|
+
function pn(e) {
|
|
1011
|
+
switch (e) {
|
|
1012
|
+
case "\\\\":
|
|
1013
|
+
return "\\";
|
|
1014
|
+
case '\\"':
|
|
1015
|
+
return '"';
|
|
1016
|
+
case "\\n":
|
|
1017
|
+
return `
|
|
1018
|
+
`;
|
|
1019
|
+
case "\\r":
|
|
1020
|
+
return "\r";
|
|
1021
|
+
case "\\b":
|
|
1022
|
+
return "\b";
|
|
1023
|
+
case "\\t":
|
|
1024
|
+
return " ";
|
|
1025
|
+
case "\\f":
|
|
1026
|
+
return "\f";
|
|
1027
|
+
case "\\x3C":
|
|
1028
|
+
return "<";
|
|
1029
|
+
case "\\u2028":
|
|
1030
|
+
return "\u2028";
|
|
1031
|
+
case "\\u2029":
|
|
1032
|
+
return "\u2029";
|
|
1033
|
+
default:
|
|
1034
|
+
return e;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
function D(e) {
|
|
1038
|
+
return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g, pn);
|
|
1039
|
+
}
|
|
1040
|
+
var L = "__SEROVAL_REFS__", le = "$R", Ie = `self.${le}`;
|
|
1041
|
+
function dn(e) {
|
|
1042
|
+
return `(${Ie}=${Ie}||{})["${y(e)}"]=[]`;
|
|
1043
|
+
}
|
|
1044
|
+
var Er = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Map();
|
|
1045
|
+
function Ir(e) {
|
|
1046
|
+
return Er.has(e);
|
|
1047
|
+
}
|
|
1048
|
+
function yn(e) {
|
|
1049
|
+
return U.has(e);
|
|
1050
|
+
}
|
|
1051
|
+
function ft(e) {
|
|
1052
|
+
if (Ir(e)) return Er.get(e);
|
|
1053
|
+
throw new Re(e);
|
|
1054
|
+
}
|
|
1055
|
+
function St(e) {
|
|
1056
|
+
if (yn(e)) return U.get(e);
|
|
1057
|
+
throw new Pe(e);
|
|
1058
|
+
}
|
|
1059
|
+
typeof globalThis != "undefined" ? Object.defineProperty(globalThis, L, { value: U, configurable: true, writable: false, enumerable: false }) : typeof window != "undefined" ? Object.defineProperty(window, L, { value: U, configurable: true, writable: false, enumerable: false }) : typeof self != "undefined" ? Object.defineProperty(self, L, { value: U, configurable: true, writable: false, enumerable: false }) : typeof global != "undefined" && Object.defineProperty(global, L, { value: U, configurable: true, writable: false, enumerable: false });
|
|
1060
|
+
function xe(e) {
|
|
1061
|
+
return e instanceof EvalError ? 1 : e instanceof RangeError ? 2 : e instanceof ReferenceError ? 3 : e instanceof SyntaxError ? 4 : e instanceof TypeError ? 5 : e instanceof URIError ? 6 : 0;
|
|
1062
|
+
}
|
|
1063
|
+
function Nn(e) {
|
|
1064
|
+
let r = Ce[xe(e)];
|
|
1065
|
+
return e.name !== r ? { name: e.name } : e.constructor.name !== r ? { name: e.constructor.name } : {};
|
|
1066
|
+
}
|
|
1067
|
+
function Z(e, r) {
|
|
1068
|
+
let t = Nn(e), n2 = Object.getOwnPropertyNames(e);
|
|
1069
|
+
for (let a = 0, s = n2.length, i; a < s; a++) i = n2[a], i !== "name" && i !== "message" && (i === "stack" ? r & 4 && (t = t || {}, t[i] = e[i]) : (t = t || {}, t[i] = e[i]));
|
|
1070
|
+
return t;
|
|
1071
|
+
}
|
|
1072
|
+
function Te(e) {
|
|
1073
|
+
return Object.isFrozen(e) ? 3 : Object.isSealed(e) ? 2 : Object.isExtensible(e) ? 0 : 1;
|
|
1074
|
+
}
|
|
1075
|
+
function Oe(e) {
|
|
1076
|
+
switch (e) {
|
|
1077
|
+
case Number.POSITIVE_INFINITY:
|
|
1078
|
+
return ut;
|
|
1079
|
+
case Number.NEGATIVE_INFINITY:
|
|
1080
|
+
return lt;
|
|
1081
|
+
}
|
|
1082
|
+
return e !== e ? ct : Object.is(e, -0) ? it : c(0, o, e, o, o, o, o, o, o, o, o, o);
|
|
1083
|
+
}
|
|
1084
|
+
function $(e) {
|
|
1085
|
+
return c(1, o, y(e), o, o, o, o, o, o, o, o, o);
|
|
1086
|
+
}
|
|
1087
|
+
function we(e) {
|
|
1088
|
+
return c(3, o, "" + e, o, o, o, o, o, o, o, o, o);
|
|
1089
|
+
}
|
|
1090
|
+
function pt(e) {
|
|
1091
|
+
return c(4, e, o, o, o, o, o, o, o, o, o, o);
|
|
1092
|
+
}
|
|
1093
|
+
function he(e, r) {
|
|
1094
|
+
let t = r.valueOf();
|
|
1095
|
+
return c(5, e, t !== t ? "" : r.toISOString(), o, o, o, o, o, o, o, o, o);
|
|
1096
|
+
}
|
|
1097
|
+
function ze(e, r) {
|
|
1098
|
+
return c(6, e, o, y(r.source), r.flags, o, o, o, o, o, o, o);
|
|
1099
|
+
}
|
|
1100
|
+
function dt(e, r) {
|
|
1101
|
+
return c(17, e, ve[r], o, o, o, o, o, o, o, o, o);
|
|
1102
|
+
}
|
|
1103
|
+
function gt(e, r) {
|
|
1104
|
+
return c(18, e, y(ft(r)), o, o, o, o, o, o, o, o, o);
|
|
1105
|
+
}
|
|
1106
|
+
function ce(e, r, t) {
|
|
1107
|
+
return c(25, e, t, y(r), o, o, o, o, o, o, o, o);
|
|
1108
|
+
}
|
|
1109
|
+
function _e(e, r, t) {
|
|
1110
|
+
return c(9, e, o, o, o, o, o, t, o, o, Te(r), o);
|
|
1111
|
+
}
|
|
1112
|
+
function ke(e, r) {
|
|
1113
|
+
return c(21, e, o, o, o, o, o, o, r, o, o, o);
|
|
1114
|
+
}
|
|
1115
|
+
function De(e, r, t) {
|
|
1116
|
+
return c(15, e, o, r.constructor.name, o, o, o, o, t, r.byteOffset, o, r.length);
|
|
1117
|
+
}
|
|
1118
|
+
function Fe(e, r, t) {
|
|
1119
|
+
return c(16, e, o, r.constructor.name, o, o, o, o, t, r.byteOffset, o, r.byteLength);
|
|
1120
|
+
}
|
|
1121
|
+
function Be(e, r, t) {
|
|
1122
|
+
return c(20, e, o, o, o, o, o, o, t, r.byteOffset, o, r.byteLength);
|
|
1123
|
+
}
|
|
1124
|
+
function Ve(e, r, t) {
|
|
1125
|
+
return c(13, e, xe(r), o, y(r.message), t, o, o, o, o, o, o);
|
|
1126
|
+
}
|
|
1127
|
+
function Me(e, r, t) {
|
|
1128
|
+
return c(14, e, xe(r), o, y(r.message), t, o, o, o, o, o, o);
|
|
1129
|
+
}
|
|
1130
|
+
function Le(e, r) {
|
|
1131
|
+
return c(7, e, o, o, o, o, o, r, o, o, o, o);
|
|
1132
|
+
}
|
|
1133
|
+
function Ue(e, r) {
|
|
1134
|
+
return c(28, o, o, o, o, o, o, [e, r], o, o, o, o);
|
|
1135
|
+
}
|
|
1136
|
+
function je(e, r) {
|
|
1137
|
+
return c(30, o, o, o, o, o, o, [e, r], o, o, o, o);
|
|
1138
|
+
}
|
|
1139
|
+
function Ye(e, r, t) {
|
|
1140
|
+
return c(31, e, o, o, o, o, o, t, r, o, o, o);
|
|
1141
|
+
}
|
|
1142
|
+
function qe(e, r) {
|
|
1143
|
+
return c(32, e, o, o, o, o, o, o, r, o, o, o);
|
|
1144
|
+
}
|
|
1145
|
+
function We(e, r) {
|
|
1146
|
+
return c(33, e, o, o, o, o, o, o, r, o, o, o);
|
|
1147
|
+
}
|
|
1148
|
+
function Ge(e, r) {
|
|
1149
|
+
return c(34, e, o, o, o, o, o, o, r, o, o, o);
|
|
1150
|
+
}
|
|
1151
|
+
function Ke(e, r, t, n2) {
|
|
1152
|
+
return c(35, e, t, o, o, o, o, r, o, o, o, n2);
|
|
1153
|
+
}
|
|
1154
|
+
var bn = { parsing: 1, serialization: 2, deserialization: 3 };
|
|
1155
|
+
function vn(e) {
|
|
1156
|
+
return `Seroval Error (step: ${bn[e]})`;
|
|
1157
|
+
}
|
|
1158
|
+
var Cn = (e, r) => vn(e), fe = class extends Error {
|
|
1159
|
+
constructor(t, n2) {
|
|
1160
|
+
super(Cn(t));
|
|
1161
|
+
this.cause = n2;
|
|
1162
|
+
}
|
|
1163
|
+
}, z = class extends fe {
|
|
1164
|
+
constructor(r) {
|
|
1165
|
+
super("parsing", r);
|
|
1166
|
+
}
|
|
1167
|
+
}, He = class extends fe {
|
|
1168
|
+
constructor(r) {
|
|
1169
|
+
super("deserialization", r);
|
|
1170
|
+
}
|
|
1171
|
+
};
|
|
1172
|
+
function _(e) {
|
|
1173
|
+
return `Seroval Error (specific: ${e})`;
|
|
1174
|
+
}
|
|
1175
|
+
var x$1 = class x extends Error {
|
|
1176
|
+
constructor(t) {
|
|
1177
|
+
super(_(1));
|
|
1178
|
+
this.value = t;
|
|
1179
|
+
}
|
|
1180
|
+
}, h = class extends Error {
|
|
1181
|
+
constructor(r) {
|
|
1182
|
+
super(_(2));
|
|
1183
|
+
}
|
|
1184
|
+
}, X = class extends Error {
|
|
1185
|
+
constructor(r) {
|
|
1186
|
+
super(_(3));
|
|
1187
|
+
}
|
|
1188
|
+
}, V = class extends Error {
|
|
1189
|
+
constructor(r) {
|
|
1190
|
+
super(_(4));
|
|
1191
|
+
}
|
|
1192
|
+
}, Re = class extends Error {
|
|
1193
|
+
constructor(t) {
|
|
1194
|
+
super(_(5));
|
|
1195
|
+
this.value = t;
|
|
1196
|
+
}
|
|
1197
|
+
}, Pe = class extends Error {
|
|
1198
|
+
constructor(r) {
|
|
1199
|
+
super(_(6));
|
|
1200
|
+
}
|
|
1201
|
+
}, Je = class extends Error {
|
|
1202
|
+
constructor(r) {
|
|
1203
|
+
super(_(7));
|
|
1204
|
+
}
|
|
1205
|
+
}, O = class extends Error {
|
|
1206
|
+
constructor(r) {
|
|
1207
|
+
super(_(8));
|
|
1208
|
+
}
|
|
1209
|
+
}, Q = class extends Error {
|
|
1210
|
+
constructor(r) {
|
|
1211
|
+
super(_(9));
|
|
1212
|
+
}
|
|
1213
|
+
};
|
|
1214
|
+
var j = class {
|
|
1215
|
+
constructor(r, t) {
|
|
1216
|
+
this.value = r;
|
|
1217
|
+
this.replacement = t;
|
|
1218
|
+
}
|
|
1219
|
+
};
|
|
1220
|
+
var ee$1 = () => {
|
|
1221
|
+
let e = { p: 0, s: 0, f: 0 };
|
|
1222
|
+
return e.p = new Promise((r, t) => {
|
|
1223
|
+
e.s = r, e.f = t;
|
|
1224
|
+
}), e;
|
|
1225
|
+
}, An = (e, r) => {
|
|
1226
|
+
e.s(r), e.p.s = 1, e.p.v = r;
|
|
1227
|
+
}, En = (e, r) => {
|
|
1228
|
+
e.f(r), e.p.s = 2, e.p.v = r;
|
|
1229
|
+
}, Nt = ee$1.toString(), bt = An.toString(), vt = En.toString(), Pr = () => {
|
|
1230
|
+
let e = [], r = [], t = true, n2 = false, a = 0, s = (l, g, S) => {
|
|
1231
|
+
for (S = 0; S < a; S++) r[S] && r[S][g](l);
|
|
1232
|
+
}, i = (l, g, S, d) => {
|
|
1233
|
+
for (g = 0, S = e.length; g < S; g++) d = e[g], !t && g === S - 1 ? l[n2 ? "return" : "throw"](d) : l.next(d);
|
|
1234
|
+
}, u = (l, g) => (t && (g = a++, r[g] = l), i(l), () => {
|
|
1235
|
+
t && (r[g] = r[a], r[a--] = void 0);
|
|
1236
|
+
});
|
|
1237
|
+
return { __SEROVAL_STREAM__: true, on: (l) => u(l), next: (l) => {
|
|
1238
|
+
t && (e.push(l), s(l, "next"));
|
|
1239
|
+
}, throw: (l) => {
|
|
1240
|
+
t && (e.push(l), s(l, "throw"), t = false, n2 = false, r.length = 0);
|
|
1241
|
+
}, return: (l) => {
|
|
1242
|
+
t && (e.push(l), s(l, "return"), t = false, n2 = true, r.length = 0);
|
|
1243
|
+
} };
|
|
1244
|
+
}, Ct = Pr.toString(), xr = (e) => (r) => () => {
|
|
1245
|
+
let t = 0, n2 = { [e]: () => n2, next: () => {
|
|
1246
|
+
if (t > r.d) return { done: true, value: void 0 };
|
|
1247
|
+
let a = t++, s = r.v[a];
|
|
1248
|
+
if (a === r.t) throw s;
|
|
1249
|
+
return { done: a === r.d, value: s };
|
|
1250
|
+
} };
|
|
1251
|
+
return n2;
|
|
1252
|
+
}, At = xr.toString(), Tr = (e, r) => (t) => () => {
|
|
1253
|
+
let n2 = 0, a = -1, s = false, i = [], u = [], l = (S = 0, d = u.length) => {
|
|
1254
|
+
for (; S < d; S++) u[S].s({ done: true, value: void 0 });
|
|
1255
|
+
};
|
|
1256
|
+
t.on({ next: (S) => {
|
|
1257
|
+
let d = u.shift();
|
|
1258
|
+
d && d.s({ done: false, value: S }), i.push(S);
|
|
1259
|
+
}, throw: (S) => {
|
|
1260
|
+
let d = u.shift();
|
|
1261
|
+
d && d.f(S), l(), a = i.length, s = true, i.push(S);
|
|
1262
|
+
}, return: (S) => {
|
|
1263
|
+
let d = u.shift();
|
|
1264
|
+
d && d.s({ done: true, value: S }), l(), a = i.length, i.push(S);
|
|
1265
|
+
} });
|
|
1266
|
+
let g = { [e]: () => g, next: () => {
|
|
1267
|
+
if (a === -1) {
|
|
1268
|
+
let G = n2++;
|
|
1269
|
+
if (G >= i.length) {
|
|
1270
|
+
let rt = r();
|
|
1271
|
+
return u.push(rt), rt.p;
|
|
1272
|
+
}
|
|
1273
|
+
return { done: false, value: i[G] };
|
|
1274
|
+
}
|
|
1275
|
+
if (n2 > a) return { done: true, value: void 0 };
|
|
1276
|
+
let S = n2++, d = i[S];
|
|
1277
|
+
if (S !== a) return { done: false, value: d };
|
|
1278
|
+
if (s) throw d;
|
|
1279
|
+
return { done: true, value: d };
|
|
1280
|
+
} };
|
|
1281
|
+
return g;
|
|
1282
|
+
}, Et = Tr.toString(), Or = (e) => {
|
|
1283
|
+
let r = atob(e), t = r.length, n2 = new Uint8Array(t);
|
|
1284
|
+
for (let a = 0; a < t; a++) n2[a] = r.charCodeAt(a);
|
|
1285
|
+
return n2.buffer;
|
|
1286
|
+
}, It = Or.toString();
|
|
1287
|
+
function Ze(e) {
|
|
1288
|
+
return "__SEROVAL_SEQUENCE__" in e;
|
|
1289
|
+
}
|
|
1290
|
+
function wr(e, r, t) {
|
|
1291
|
+
return { __SEROVAL_SEQUENCE__: true, v: e, t: r, d: t };
|
|
1292
|
+
}
|
|
1293
|
+
function $e(e) {
|
|
1294
|
+
let r = [], t = -1, n2 = -1, a = e[C]();
|
|
1295
|
+
for (; ; ) try {
|
|
1296
|
+
let s = a.next();
|
|
1297
|
+
if (r.push(s.value), s.done) {
|
|
1298
|
+
n2 = r.length - 1;
|
|
1299
|
+
break;
|
|
1300
|
+
}
|
|
1301
|
+
} catch (s) {
|
|
1302
|
+
t = r.length, r.push(s);
|
|
1303
|
+
}
|
|
1304
|
+
return wr(r, t, n2);
|
|
1305
|
+
}
|
|
1306
|
+
var In = xr(C);
|
|
1307
|
+
function Rt(e) {
|
|
1308
|
+
return In(e);
|
|
1309
|
+
}
|
|
1310
|
+
var Pt = {}, xt = {};
|
|
1311
|
+
var Tt = { 0: {}, 1: {}, 2: {}, 3: {}, 4: {}, 5: {} }, Ot = { 0: "[]", 1: Nt, 2: bt, 3: vt, 4: Ct, 5: It };
|
|
1312
|
+
function Xe(e) {
|
|
1313
|
+
return "__SEROVAL_STREAM__" in e;
|
|
1314
|
+
}
|
|
1315
|
+
function re() {
|
|
1316
|
+
return Pr();
|
|
1317
|
+
}
|
|
1318
|
+
function Qe(e) {
|
|
1319
|
+
let r = re(), t = e[v]();
|
|
1320
|
+
async function n2() {
|
|
1321
|
+
try {
|
|
1322
|
+
let a = await t.next();
|
|
1323
|
+
a.done ? r.return(a.value) : (r.next(a.value), await n2());
|
|
1324
|
+
} catch (a) {
|
|
1325
|
+
r.throw(a);
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1328
|
+
return n2().catch(() => {
|
|
1329
|
+
}), r;
|
|
1330
|
+
}
|
|
1331
|
+
var Rn = Tr(v, ee$1);
|
|
1332
|
+
function wt(e) {
|
|
1333
|
+
return Rn(e);
|
|
1334
|
+
}
|
|
1335
|
+
async function hr(e) {
|
|
1336
|
+
try {
|
|
1337
|
+
return [1, await e];
|
|
1338
|
+
} catch (r) {
|
|
1339
|
+
return [0, r];
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
function me(e, r) {
|
|
1343
|
+
return { plugins: r.plugins, mode: e, marked: /* @__PURE__ */ new Set(), features: 63 ^ (r.disabledFeatures || 0), refs: r.refs || /* @__PURE__ */ new Map(), depthLimit: r.depthLimit || 1e3 };
|
|
1344
|
+
}
|
|
1345
|
+
function pe(e, r) {
|
|
1346
|
+
e.marked.add(r);
|
|
1347
|
+
}
|
|
1348
|
+
function zr(e, r) {
|
|
1349
|
+
let t = e.refs.size;
|
|
1350
|
+
return e.refs.set(r, t), t;
|
|
1351
|
+
}
|
|
1352
|
+
function er(e, r) {
|
|
1353
|
+
let t = e.refs.get(r);
|
|
1354
|
+
return t != null ? (pe(e, t), { type: 1, value: pt(t) }) : { type: 0, value: zr(e, r) };
|
|
1355
|
+
}
|
|
1356
|
+
function Y(e, r) {
|
|
1357
|
+
let t = er(e, r);
|
|
1358
|
+
return t.type === 1 ? t : Ir(r) ? { type: 2, value: gt(t.value, r) } : t;
|
|
1359
|
+
}
|
|
1360
|
+
function I(e, r) {
|
|
1361
|
+
let t = Y(e, r);
|
|
1362
|
+
if (t.type !== 0) return t.value;
|
|
1363
|
+
if (r in ve) return dt(t.value, r);
|
|
1364
|
+
throw new x$1(r);
|
|
1365
|
+
}
|
|
1366
|
+
function k(e, r) {
|
|
1367
|
+
let t = er(e, Tt[r]);
|
|
1368
|
+
return t.type === 1 ? t.value : c(26, t.value, r, o, o, o, o, o, o, o, o, o);
|
|
1369
|
+
}
|
|
1370
|
+
function rr(e) {
|
|
1371
|
+
let r = er(e, Pt);
|
|
1372
|
+
return r.type === 1 ? r.value : c(27, r.value, o, o, o, o, o, o, I(e, C), o, o, o);
|
|
1373
|
+
}
|
|
1374
|
+
function tr(e) {
|
|
1375
|
+
let r = er(e, xt);
|
|
1376
|
+
return r.type === 1 ? r.value : c(29, r.value, o, o, o, o, o, [k(e, 1), I(e, v)], o, o, o, o);
|
|
1377
|
+
}
|
|
1378
|
+
function nr(e, r, t, n2) {
|
|
1379
|
+
return c(t ? 11 : 10, e, o, o, o, n2, o, o, o, o, Te(r), o);
|
|
1380
|
+
}
|
|
1381
|
+
function or(e, r, t, n2) {
|
|
1382
|
+
return c(8, r, o, o, o, o, { k: t, v: n2 }, o, k(e, 0), o, o, o);
|
|
1383
|
+
}
|
|
1384
|
+
function zt(e, r, t) {
|
|
1385
|
+
return c(22, r, t, o, o, o, o, o, k(e, 1), o, o, o);
|
|
1386
|
+
}
|
|
1387
|
+
function ar(e, r, t) {
|
|
1388
|
+
let n2 = new Uint8Array(t), a = "";
|
|
1389
|
+
for (let s = 0, i = n2.length; s < i; s++) a += String.fromCharCode(n2[s]);
|
|
1390
|
+
return c(19, r, y(btoa(a)), o, o, o, o, o, k(e, 5), o, o, o);
|
|
1391
|
+
}
|
|
1392
|
+
function te(e, r) {
|
|
1393
|
+
return { base: me(e, r), child: void 0 };
|
|
1394
|
+
}
|
|
1395
|
+
var kr = class {
|
|
1396
|
+
constructor(r, t) {
|
|
1397
|
+
this._p = r;
|
|
1398
|
+
this.depth = t;
|
|
1399
|
+
}
|
|
1400
|
+
parse(r) {
|
|
1401
|
+
return N(this._p, this.depth, r);
|
|
1402
|
+
}
|
|
1403
|
+
};
|
|
1404
|
+
async function xn(e, r, t) {
|
|
1405
|
+
let n2 = [];
|
|
1406
|
+
for (let a = 0, s = t.length; a < s; a++) a in t ? n2[a] = await N(e, r, t[a]) : n2[a] = 0;
|
|
1407
|
+
return n2;
|
|
1408
|
+
}
|
|
1409
|
+
async function Tn(e, r, t, n2) {
|
|
1410
|
+
return _e(t, n2, await xn(e, r, n2));
|
|
1411
|
+
}
|
|
1412
|
+
async function Dr(e, r, t) {
|
|
1413
|
+
let n2 = Object.entries(t), a = [], s = [];
|
|
1414
|
+
for (let i = 0, u = n2.length; i < u; i++) a.push(y(n2[i][0])), s.push(await N(e, r, n2[i][1]));
|
|
1415
|
+
return C in t && (a.push(I(e.base, C)), s.push(Ue(rr(e.base), await N(e, r, $e(t))))), v in t && (a.push(I(e.base, v)), s.push(je(tr(e.base), await N(e, r, Qe(t))))), P$1 in t && (a.push(I(e.base, P$1)), s.push($(t[P$1]))), R in t && (a.push(I(e.base, R)), s.push(t[R] ? H : J)), { k: a, v: s };
|
|
1416
|
+
}
|
|
1417
|
+
async function _r(e, r, t, n2, a) {
|
|
1418
|
+
return nr(t, n2, a, await Dr(e, r, n2));
|
|
1419
|
+
}
|
|
1420
|
+
async function On(e, r, t, n2) {
|
|
1421
|
+
return ke(t, await N(e, r, n2.valueOf()));
|
|
1422
|
+
}
|
|
1423
|
+
async function wn(e, r, t, n2) {
|
|
1424
|
+
return De(t, n2, await N(e, r, n2.buffer));
|
|
1425
|
+
}
|
|
1426
|
+
async function hn(e, r, t, n2) {
|
|
1427
|
+
return Fe(t, n2, await N(e, r, n2.buffer));
|
|
1428
|
+
}
|
|
1429
|
+
async function zn(e, r, t, n2) {
|
|
1430
|
+
return Be(t, n2, await N(e, r, n2.buffer));
|
|
1431
|
+
}
|
|
1432
|
+
async function _t(e, r, t, n2) {
|
|
1433
|
+
let a = Z(n2, e.base.features);
|
|
1434
|
+
return Ve(t, n2, a ? await Dr(e, r, a) : o);
|
|
1435
|
+
}
|
|
1436
|
+
async function _n(e, r, t, n2) {
|
|
1437
|
+
let a = Z(n2, e.base.features);
|
|
1438
|
+
return Me(t, n2, a ? await Dr(e, r, a) : o);
|
|
1439
|
+
}
|
|
1440
|
+
async function kn(e, r, t, n2) {
|
|
1441
|
+
let a = [], s = [];
|
|
1442
|
+
for (let [i, u] of n2.entries()) a.push(await N(e, r, i)), s.push(await N(e, r, u));
|
|
1443
|
+
return or(e.base, t, a, s);
|
|
1444
|
+
}
|
|
1445
|
+
async function Dn(e, r, t, n2) {
|
|
1446
|
+
let a = [];
|
|
1447
|
+
for (let s of n2.keys()) a.push(await N(e, r, s));
|
|
1448
|
+
return Le(t, a);
|
|
1449
|
+
}
|
|
1450
|
+
async function kt(e, r, t, n2) {
|
|
1451
|
+
let a = e.base.plugins;
|
|
1452
|
+
if (a) for (let s = 0, i = a.length; s < i; s++) {
|
|
1453
|
+
let u = a[s];
|
|
1454
|
+
if (u.parse.async && u.test(n2)) return ce(t, u.tag, await u.parse.async(n2, new kr(e, r), { id: t }));
|
|
1455
|
+
}
|
|
1456
|
+
return o;
|
|
1457
|
+
}
|
|
1458
|
+
async function Fn(e, r, t, n2) {
|
|
1459
|
+
let [a, s] = await hr(n2);
|
|
1460
|
+
return c(12, t, a, o, o, o, o, o, await N(e, r, s), o, o, o);
|
|
1461
|
+
}
|
|
1462
|
+
function Bn(e, r, t, n2, a) {
|
|
1463
|
+
let s = [], i = t.on({ next: (u) => {
|
|
1464
|
+
pe(this.base, r), N(this, e, u).then((l) => {
|
|
1465
|
+
s.push(qe(r, l));
|
|
1466
|
+
}, (l) => {
|
|
1467
|
+
a(l), i();
|
|
1468
|
+
});
|
|
1469
|
+
}, throw: (u) => {
|
|
1470
|
+
pe(this.base, r), N(this, e, u).then((l) => {
|
|
1471
|
+
s.push(We(r, l)), n2(s), i();
|
|
1472
|
+
}, (l) => {
|
|
1473
|
+
a(l), i();
|
|
1474
|
+
});
|
|
1475
|
+
}, return: (u) => {
|
|
1476
|
+
pe(this.base, r), N(this, e, u).then((l) => {
|
|
1477
|
+
s.push(Ge(r, l)), n2(s), i();
|
|
1478
|
+
}, (l) => {
|
|
1479
|
+
a(l), i();
|
|
1480
|
+
});
|
|
1481
|
+
} });
|
|
1482
|
+
}
|
|
1483
|
+
async function Vn(e, r, t, n2) {
|
|
1484
|
+
return Ye(t, k(e.base, 4), await new Promise(Bn.bind(e, r, t, n2)));
|
|
1485
|
+
}
|
|
1486
|
+
async function Mn(e, r, t, n2) {
|
|
1487
|
+
let a = [];
|
|
1488
|
+
for (let s = 0, i = n2.v.length; s < i; s++) a[s] = await N(e, r, n2.v[s]);
|
|
1489
|
+
return Ke(t, a, n2.t, n2.d);
|
|
1490
|
+
}
|
|
1491
|
+
async function Ln(e, r, t, n2) {
|
|
1492
|
+
if (Array.isArray(n2)) return Tn(e, r, t, n2);
|
|
1493
|
+
if (Xe(n2)) return Vn(e, r, t, n2);
|
|
1494
|
+
if (Ze(n2)) return Mn(e, r, t, n2);
|
|
1495
|
+
let a = n2.constructor;
|
|
1496
|
+
if (a === j) return N(e, r, n2.replacement);
|
|
1497
|
+
let s = await kt(e, r, t, n2);
|
|
1498
|
+
if (s) return s;
|
|
1499
|
+
switch (a) {
|
|
1500
|
+
case Object:
|
|
1501
|
+
return _r(e, r, t, n2, false);
|
|
1502
|
+
case o:
|
|
1503
|
+
return _r(e, r, t, n2, true);
|
|
1504
|
+
case Date:
|
|
1505
|
+
return he(t, n2);
|
|
1506
|
+
case Error:
|
|
1507
|
+
case EvalError:
|
|
1508
|
+
case RangeError:
|
|
1509
|
+
case ReferenceError:
|
|
1510
|
+
case SyntaxError:
|
|
1511
|
+
case TypeError:
|
|
1512
|
+
case URIError:
|
|
1513
|
+
return _t(e, r, t, n2);
|
|
1514
|
+
case Number:
|
|
1515
|
+
case Boolean:
|
|
1516
|
+
case String:
|
|
1517
|
+
case BigInt:
|
|
1518
|
+
return On(e, r, t, n2);
|
|
1519
|
+
case ArrayBuffer:
|
|
1520
|
+
return ar(e.base, t, n2);
|
|
1521
|
+
case Int8Array:
|
|
1522
|
+
case Int16Array:
|
|
1523
|
+
case Int32Array:
|
|
1524
|
+
case Uint8Array:
|
|
1525
|
+
case Uint16Array:
|
|
1526
|
+
case Uint32Array:
|
|
1527
|
+
case Uint8ClampedArray:
|
|
1528
|
+
case Float32Array:
|
|
1529
|
+
case Float64Array:
|
|
1530
|
+
return wn(e, r, t, n2);
|
|
1531
|
+
case DataView:
|
|
1532
|
+
return zn(e, r, t, n2);
|
|
1533
|
+
case Map:
|
|
1534
|
+
return kn(e, r, t, n2);
|
|
1535
|
+
case Set:
|
|
1536
|
+
return Dn(e, r, t, n2);
|
|
1537
|
+
}
|
|
1538
|
+
if (a === Promise || n2 instanceof Promise) return Fn(e, r, t, n2);
|
|
1539
|
+
let i = e.base.features;
|
|
1540
|
+
if (i & 32 && a === RegExp) return ze(t, n2);
|
|
1541
|
+
if (i & 16) switch (a) {
|
|
1542
|
+
case BigInt64Array:
|
|
1543
|
+
case BigUint64Array:
|
|
1544
|
+
return hn(e, r, t, n2);
|
|
1545
|
+
}
|
|
1546
|
+
if (i & 1 && typeof AggregateError != "undefined" && (a === AggregateError || n2 instanceof AggregateError)) return _n(e, r, t, n2);
|
|
1547
|
+
if (n2 instanceof Error) return _t(e, r, t, n2);
|
|
1548
|
+
if (C in n2 || v in n2) return _r(e, r, t, n2, !!a);
|
|
1549
|
+
throw new x$1(n2);
|
|
1550
|
+
}
|
|
1551
|
+
async function Un(e, r, t) {
|
|
1552
|
+
let n2 = Y(e.base, t);
|
|
1553
|
+
if (n2.type !== 0) return n2.value;
|
|
1554
|
+
let a = await kt(e, r, n2.value, t);
|
|
1555
|
+
if (a) return a;
|
|
1556
|
+
throw new x$1(t);
|
|
1557
|
+
}
|
|
1558
|
+
async function N(e, r, t) {
|
|
1559
|
+
switch (typeof t) {
|
|
1560
|
+
case "boolean":
|
|
1561
|
+
return t ? H : J;
|
|
1562
|
+
case "undefined":
|
|
1563
|
+
return Ae;
|
|
1564
|
+
case "string":
|
|
1565
|
+
return $(t);
|
|
1566
|
+
case "number":
|
|
1567
|
+
return Oe(t);
|
|
1568
|
+
case "bigint":
|
|
1569
|
+
return we(t);
|
|
1570
|
+
case "object": {
|
|
1571
|
+
if (t) {
|
|
1572
|
+
let n2 = Y(e.base, t);
|
|
1573
|
+
return n2.type === 0 ? await Ln(e, r + 1, n2.value, t) : n2.value;
|
|
1574
|
+
}
|
|
1575
|
+
return Ee;
|
|
1576
|
+
}
|
|
1577
|
+
case "symbol":
|
|
1578
|
+
return I(e.base, t);
|
|
1579
|
+
case "function":
|
|
1580
|
+
return Un(e, r, t);
|
|
1581
|
+
default:
|
|
1582
|
+
throw new x$1(t);
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
async function ne(e, r) {
|
|
1586
|
+
try {
|
|
1587
|
+
return await N(e, 0, r);
|
|
1588
|
+
} catch (t) {
|
|
1589
|
+
throw t instanceof z ? t : new z(t);
|
|
1590
|
+
}
|
|
1591
|
+
}
|
|
1592
|
+
var oe = ((t) => (t[t.Vanilla = 1] = "Vanilla", t[t.Cross = 2] = "Cross", t))(oe || {});
|
|
1593
|
+
function ai(e) {
|
|
1594
|
+
return e;
|
|
1595
|
+
}
|
|
1596
|
+
function Dt(e, r) {
|
|
1597
|
+
for (let t = 0, n2 = r.length; t < n2; t++) {
|
|
1598
|
+
let a = r[t];
|
|
1599
|
+
e.has(a) || (e.add(a), a.extends && Dt(e, a.extends));
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
function A(e) {
|
|
1603
|
+
if (e) {
|
|
1604
|
+
let r = /* @__PURE__ */ new Set();
|
|
1605
|
+
return Dt(r, e), [...r];
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1608
|
+
function Ft(e) {
|
|
1609
|
+
switch (e) {
|
|
1610
|
+
case "Int8Array":
|
|
1611
|
+
return Int8Array;
|
|
1612
|
+
case "Int16Array":
|
|
1613
|
+
return Int16Array;
|
|
1614
|
+
case "Int32Array":
|
|
1615
|
+
return Int32Array;
|
|
1616
|
+
case "Uint8Array":
|
|
1617
|
+
return Uint8Array;
|
|
1618
|
+
case "Uint16Array":
|
|
1619
|
+
return Uint16Array;
|
|
1620
|
+
case "Uint32Array":
|
|
1621
|
+
return Uint32Array;
|
|
1622
|
+
case "Uint8ClampedArray":
|
|
1623
|
+
return Uint8ClampedArray;
|
|
1624
|
+
case "Float32Array":
|
|
1625
|
+
return Float32Array;
|
|
1626
|
+
case "Float64Array":
|
|
1627
|
+
return Float64Array;
|
|
1628
|
+
case "BigInt64Array":
|
|
1629
|
+
return BigInt64Array;
|
|
1630
|
+
case "BigUint64Array":
|
|
1631
|
+
return BigUint64Array;
|
|
1632
|
+
default:
|
|
1633
|
+
throw new Je(e);
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
var jn = 1e6, Yn = 1e4, qn = 2e4;
|
|
1637
|
+
function Vt(e, r) {
|
|
1638
|
+
switch (r) {
|
|
1639
|
+
case 3:
|
|
1640
|
+
return Object.freeze(e);
|
|
1641
|
+
case 1:
|
|
1642
|
+
return Object.preventExtensions(e);
|
|
1643
|
+
case 2:
|
|
1644
|
+
return Object.seal(e);
|
|
1645
|
+
default:
|
|
1646
|
+
return e;
|
|
1647
|
+
}
|
|
1648
|
+
}
|
|
1649
|
+
var Wn = 1e3;
|
|
1650
|
+
function Mt(e, r) {
|
|
1651
|
+
var n2;
|
|
1652
|
+
let t = r.refs || /* @__PURE__ */ new Map();
|
|
1653
|
+
return "types" in t || Object.assign(t, { types: /* @__PURE__ */ new Map() }), { mode: e, plugins: r.plugins, refs: t, features: (n2 = r.features) != null ? n2 : 63 ^ (r.disabledFeatures || 0), depthLimit: r.depthLimit || Wn };
|
|
1654
|
+
}
|
|
1655
|
+
function Lt(e) {
|
|
1656
|
+
return { mode: 1, base: Mt(1, e), child: o, state: { marked: new Set(e.markedRefs) } };
|
|
1657
|
+
}
|
|
1658
|
+
var Fr = class {
|
|
1659
|
+
constructor(r, t) {
|
|
1660
|
+
this._p = r;
|
|
1661
|
+
this.depth = t;
|
|
1662
|
+
}
|
|
1663
|
+
deserialize(r) {
|
|
1664
|
+
return p$1(this._p, this.depth, r);
|
|
1665
|
+
}
|
|
1666
|
+
};
|
|
1667
|
+
function jt(e, r) {
|
|
1668
|
+
if (r < 0 || !Number.isFinite(r) || !Number.isInteger(r)) throw new O({ t: 4, i: r });
|
|
1669
|
+
if (e.refs.has(r)) throw new Error("Conflicted ref id: " + r);
|
|
1670
|
+
}
|
|
1671
|
+
function Gn(e, r, t) {
|
|
1672
|
+
return jt(e.base, r), e.state.marked.has(r) && e.base.refs.set(r, t), t;
|
|
1673
|
+
}
|
|
1674
|
+
function Kn(e, r, t) {
|
|
1675
|
+
return jt(e.base, r), e.base.refs.set(r, t), t;
|
|
1676
|
+
}
|
|
1677
|
+
function b(e, r, t) {
|
|
1678
|
+
return e.mode === 1 ? Gn(e, r, t) : Kn(e, r, t);
|
|
1679
|
+
}
|
|
1680
|
+
function Br(e, r, t) {
|
|
1681
|
+
if (Object.hasOwn(r, t)) return r[t];
|
|
1682
|
+
throw new O(e);
|
|
1683
|
+
}
|
|
1684
|
+
function Hn(e, r) {
|
|
1685
|
+
return b(e, r.i, St(D(r.s)));
|
|
1686
|
+
}
|
|
1687
|
+
function Jn(e, r, t) {
|
|
1688
|
+
let n2 = t.a, a = n2.length, s = b(e, t.i, new Array(a));
|
|
1689
|
+
for (let i = 0, u; i < a; i++) u = n2[i], u && (s[i] = p$1(e, r, u));
|
|
1690
|
+
return Vt(s, t.o), s;
|
|
1691
|
+
}
|
|
1692
|
+
function Zn(e) {
|
|
1693
|
+
switch (e) {
|
|
1694
|
+
case "constructor":
|
|
1695
|
+
case "__proto__":
|
|
1696
|
+
case "prototype":
|
|
1697
|
+
case "__defineGetter__":
|
|
1698
|
+
case "__defineSetter__":
|
|
1699
|
+
case "__lookupGetter__":
|
|
1700
|
+
case "__lookupSetter__":
|
|
1701
|
+
return false;
|
|
1702
|
+
default:
|
|
1703
|
+
return true;
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
function $n(e) {
|
|
1707
|
+
switch (e) {
|
|
1708
|
+
case v:
|
|
1709
|
+
case R:
|
|
1710
|
+
case P$1:
|
|
1711
|
+
case C:
|
|
1712
|
+
return true;
|
|
1713
|
+
default:
|
|
1714
|
+
return false;
|
|
1715
|
+
}
|
|
1716
|
+
}
|
|
1717
|
+
function Bt(e, r, t) {
|
|
1718
|
+
Zn(r) ? e[r] = t : Object.defineProperty(e, r, { value: t, configurable: true, enumerable: true, writable: true });
|
|
1719
|
+
}
|
|
1720
|
+
function Xn(e, r, t, n2, a) {
|
|
1721
|
+
if (typeof n2 == "string") Bt(t, D(n2), p$1(e, r, a));
|
|
1722
|
+
else {
|
|
1723
|
+
let s = p$1(e, r, n2);
|
|
1724
|
+
switch (typeof s) {
|
|
1725
|
+
case "string":
|
|
1726
|
+
Bt(t, s, p$1(e, r, a));
|
|
1727
|
+
break;
|
|
1728
|
+
case "symbol":
|
|
1729
|
+
$n(s) && (t[s] = p$1(e, r, a));
|
|
1730
|
+
break;
|
|
1731
|
+
default:
|
|
1732
|
+
throw new O(n2);
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1735
|
+
}
|
|
1736
|
+
function Yt(e, r, t) {
|
|
1737
|
+
e.base.refs.types.set(r, t);
|
|
1738
|
+
}
|
|
1739
|
+
function de(e, r, t, n2) {
|
|
1740
|
+
if (e.base.refs.types.get(t) !== n2) throw new O(r);
|
|
1741
|
+
}
|
|
1742
|
+
function qt(e, r, t, n2) {
|
|
1743
|
+
let a = t.k;
|
|
1744
|
+
if (a.length > 0) for (let i = 0, u = t.v, l = a.length; i < l; i++) Xn(e, r, n2, a[i], u[i]);
|
|
1745
|
+
return n2;
|
|
1746
|
+
}
|
|
1747
|
+
function Qn(e, r, t) {
|
|
1748
|
+
let n2 = b(e, t.i, t.t === 10 ? {} : /* @__PURE__ */ Object.create(null));
|
|
1749
|
+
return qt(e, r, t.p, n2), Vt(n2, t.o), n2;
|
|
1750
|
+
}
|
|
1751
|
+
function eo(e, r) {
|
|
1752
|
+
return b(e, r.i, new Date(r.s));
|
|
1753
|
+
}
|
|
1754
|
+
function ro(e, r) {
|
|
1755
|
+
if (e.base.features & 32) {
|
|
1756
|
+
let t = D(r.c);
|
|
1757
|
+
if (t.length > qn) throw new O(r);
|
|
1758
|
+
return b(e, r.i, new RegExp(t, r.m));
|
|
1759
|
+
}
|
|
1760
|
+
throw new h(r);
|
|
1761
|
+
}
|
|
1762
|
+
function to(e, r, t) {
|
|
1763
|
+
let n2 = b(e, t.i, /* @__PURE__ */ new Set());
|
|
1764
|
+
for (let a = 0, s = t.a, i = s.length; a < i; a++) n2.add(p$1(e, r, s[a]));
|
|
1765
|
+
return n2;
|
|
1766
|
+
}
|
|
1767
|
+
function no(e, r, t) {
|
|
1768
|
+
let n2 = b(e, t.i, /* @__PURE__ */ new Map());
|
|
1769
|
+
for (let a = 0, s = t.e.k, i = t.e.v, u = s.length; a < u; a++) n2.set(p$1(e, r, s[a]), p$1(e, r, i[a]));
|
|
1770
|
+
return n2;
|
|
1771
|
+
}
|
|
1772
|
+
function oo(e, r) {
|
|
1773
|
+
if (r.s.length > jn) throw new O(r);
|
|
1774
|
+
return b(e, r.i, Or(D(r.s)));
|
|
1775
|
+
}
|
|
1776
|
+
function ao(e, r, t) {
|
|
1777
|
+
var u;
|
|
1778
|
+
let n2 = Ft(t.c), a = p$1(e, r, t.f), s = (u = t.b) != null ? u : 0;
|
|
1779
|
+
if (s < 0 || s > a.byteLength) throw new O(t);
|
|
1780
|
+
return b(e, t.i, new n2(a, s, t.l));
|
|
1781
|
+
}
|
|
1782
|
+
function so(e, r, t) {
|
|
1783
|
+
var i;
|
|
1784
|
+
let n2 = p$1(e, r, t.f), a = (i = t.b) != null ? i : 0;
|
|
1785
|
+
if (a < 0 || a > n2.byteLength) throw new O(t);
|
|
1786
|
+
return b(e, t.i, new DataView(n2, a, t.l));
|
|
1787
|
+
}
|
|
1788
|
+
function Wt(e, r, t, n2) {
|
|
1789
|
+
if (t.p) {
|
|
1790
|
+
let a = qt(e, r, t.p, {});
|
|
1791
|
+
Object.defineProperties(n2, Object.getOwnPropertyDescriptors(a));
|
|
1792
|
+
}
|
|
1793
|
+
return n2;
|
|
1794
|
+
}
|
|
1795
|
+
function io(e, r, t) {
|
|
1796
|
+
let n2 = b(e, t.i, new AggregateError([], D(t.m)));
|
|
1797
|
+
return Wt(e, r, t, n2);
|
|
1798
|
+
}
|
|
1799
|
+
function uo(e, r, t) {
|
|
1800
|
+
let n2 = Br(t, st, t.s), a = b(e, t.i, new n2(D(t.m)));
|
|
1801
|
+
return Wt(e, r, t, a);
|
|
1802
|
+
}
|
|
1803
|
+
function lo(e, r, t) {
|
|
1804
|
+
let n2 = ee$1(), a = b(e, t.i, n2.p), s = p$1(e, r, t.f);
|
|
1805
|
+
return t.s ? n2.s(s) : n2.f(s), a;
|
|
1806
|
+
}
|
|
1807
|
+
function co(e, r, t) {
|
|
1808
|
+
return b(e, t.i, Object(p$1(e, r, t.f)));
|
|
1809
|
+
}
|
|
1810
|
+
function fo(e, r, t) {
|
|
1811
|
+
let n2 = e.base.plugins;
|
|
1812
|
+
if (n2) {
|
|
1813
|
+
let a = D(t.c);
|
|
1814
|
+
for (let s = 0, i = n2.length; s < i; s++) {
|
|
1815
|
+
let u = n2[s];
|
|
1816
|
+
if (u.tag === a) return b(e, t.i, u.deserialize(t.s, new Fr(e, r), { id: t.i }));
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1819
|
+
throw new X(t.c);
|
|
1820
|
+
}
|
|
1821
|
+
function So(e, r) {
|
|
1822
|
+
let t = b(e, r.i, b(e, r.s, ee$1()).p);
|
|
1823
|
+
return Yt(e, r.s, 22), t;
|
|
1824
|
+
}
|
|
1825
|
+
function mo(e, r, t) {
|
|
1826
|
+
let n2 = e.base.refs.get(t.i);
|
|
1827
|
+
if (n2) return de(e, t, t.i, 22), n2.s(p$1(e, r, t.a[1])), o;
|
|
1828
|
+
throw new V("Promise");
|
|
1829
|
+
}
|
|
1830
|
+
function po(e, r, t) {
|
|
1831
|
+
let n2 = e.base.refs.get(t.i);
|
|
1832
|
+
if (n2) return de(e, t, t.i, 22), n2.f(p$1(e, r, t.a[1])), o;
|
|
1833
|
+
throw new V("Promise");
|
|
1834
|
+
}
|
|
1835
|
+
function go(e, r, t) {
|
|
1836
|
+
p$1(e, r, t.a[0]);
|
|
1837
|
+
let n2 = p$1(e, r, t.a[1]);
|
|
1838
|
+
return Rt(n2);
|
|
1839
|
+
}
|
|
1840
|
+
function yo(e, r, t) {
|
|
1841
|
+
p$1(e, r, t.a[0]);
|
|
1842
|
+
let n2 = p$1(e, r, t.a[1]);
|
|
1843
|
+
return wt(n2);
|
|
1844
|
+
}
|
|
1845
|
+
function No(e, r, t) {
|
|
1846
|
+
let n2 = b(e, t.i, re());
|
|
1847
|
+
Yt(e, t.i, 31);
|
|
1848
|
+
let a = t.a, s = a.length;
|
|
1849
|
+
if (s) for (let i = 0; i < s; i++) p$1(e, r, a[i]);
|
|
1850
|
+
return n2;
|
|
1851
|
+
}
|
|
1852
|
+
function bo(e, r, t) {
|
|
1853
|
+
let n2 = e.base.refs.get(t.i);
|
|
1854
|
+
if (n2) return de(e, t, t.i, 31), n2.next(p$1(e, r, t.f)), o;
|
|
1855
|
+
throw new V("Stream");
|
|
1856
|
+
}
|
|
1857
|
+
function vo(e, r, t) {
|
|
1858
|
+
let n2 = e.base.refs.get(t.i);
|
|
1859
|
+
if (n2) return de(e, t, t.i, 31), n2.throw(p$1(e, r, t.f)), o;
|
|
1860
|
+
throw new V("Stream");
|
|
1861
|
+
}
|
|
1862
|
+
function Co(e, r, t) {
|
|
1863
|
+
let n2 = e.base.refs.get(t.i);
|
|
1864
|
+
if (n2) return de(e, t, t.i, 31), n2.return(p$1(e, r, t.f)), o;
|
|
1865
|
+
throw new V("Stream");
|
|
1866
|
+
}
|
|
1867
|
+
function Ao(e, r, t) {
|
|
1868
|
+
return p$1(e, r, t.f), o;
|
|
1869
|
+
}
|
|
1870
|
+
function Eo(e, r, t) {
|
|
1871
|
+
return p$1(e, r, t.a[1]), o;
|
|
1872
|
+
}
|
|
1873
|
+
function Io(e, r, t) {
|
|
1874
|
+
let n2 = b(e, t.i, wr([], t.s, t.l));
|
|
1875
|
+
for (let a = 0, s = t.a.length; a < s; a++) n2.v[a] = p$1(e, r, t.a[a]);
|
|
1876
|
+
return n2;
|
|
1877
|
+
}
|
|
1878
|
+
function p$1(e, r, t) {
|
|
1879
|
+
if (r > e.base.depthLimit) throw new Q(e.base.depthLimit);
|
|
1880
|
+
switch (r += 1, t.t) {
|
|
1881
|
+
case 2:
|
|
1882
|
+
return Br(t, at, t.s);
|
|
1883
|
+
case 0:
|
|
1884
|
+
return Number(t.s);
|
|
1885
|
+
case 1:
|
|
1886
|
+
return D(String(t.s));
|
|
1887
|
+
case 3:
|
|
1888
|
+
if (String(t.s).length > Yn) throw new O(t);
|
|
1889
|
+
return BigInt(t.s);
|
|
1890
|
+
case 4:
|
|
1891
|
+
return e.base.refs.get(t.i);
|
|
1892
|
+
case 18:
|
|
1893
|
+
return Hn(e, t);
|
|
1894
|
+
case 9:
|
|
1895
|
+
return Jn(e, r, t);
|
|
1896
|
+
case 10:
|
|
1897
|
+
case 11:
|
|
1898
|
+
return Qn(e, r, t);
|
|
1899
|
+
case 5:
|
|
1900
|
+
return eo(e, t);
|
|
1901
|
+
case 6:
|
|
1902
|
+
return ro(e, t);
|
|
1903
|
+
case 7:
|
|
1904
|
+
return to(e, r, t);
|
|
1905
|
+
case 8:
|
|
1906
|
+
return no(e, r, t);
|
|
1907
|
+
case 19:
|
|
1908
|
+
return oo(e, t);
|
|
1909
|
+
case 16:
|
|
1910
|
+
case 15:
|
|
1911
|
+
return ao(e, r, t);
|
|
1912
|
+
case 20:
|
|
1913
|
+
return so(e, r, t);
|
|
1914
|
+
case 14:
|
|
1915
|
+
return io(e, r, t);
|
|
1916
|
+
case 13:
|
|
1917
|
+
return uo(e, r, t);
|
|
1918
|
+
case 12:
|
|
1919
|
+
return lo(e, r, t);
|
|
1920
|
+
case 17:
|
|
1921
|
+
return Br(t, nt, t.s);
|
|
1922
|
+
case 21:
|
|
1923
|
+
return co(e, r, t);
|
|
1924
|
+
case 25:
|
|
1925
|
+
return fo(e, r, t);
|
|
1926
|
+
case 22:
|
|
1927
|
+
return So(e, t);
|
|
1928
|
+
case 23:
|
|
1929
|
+
return mo(e, r, t);
|
|
1930
|
+
case 24:
|
|
1931
|
+
return po(e, r, t);
|
|
1932
|
+
case 28:
|
|
1933
|
+
return go(e, r, t);
|
|
1934
|
+
case 30:
|
|
1935
|
+
return yo(e, r, t);
|
|
1936
|
+
case 31:
|
|
1937
|
+
return No(e, r, t);
|
|
1938
|
+
case 32:
|
|
1939
|
+
return bo(e, r, t);
|
|
1940
|
+
case 33:
|
|
1941
|
+
return vo(e, r, t);
|
|
1942
|
+
case 34:
|
|
1943
|
+
return Co(e, r, t);
|
|
1944
|
+
case 27:
|
|
1945
|
+
return Ao(e, r, t);
|
|
1946
|
+
case 29:
|
|
1947
|
+
return Eo(e, r, t);
|
|
1948
|
+
case 35:
|
|
1949
|
+
return Io(e, r, t);
|
|
1950
|
+
default:
|
|
1951
|
+
throw new h(t);
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
function sr(e, r) {
|
|
1955
|
+
try {
|
|
1956
|
+
return p$1(e, 0, r);
|
|
1957
|
+
} catch (t) {
|
|
1958
|
+
throw new He(t);
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
var Ro = () => T, Po = Ro.toString(), Gt = /=>/.test(Po);
|
|
1962
|
+
function ir(e, r) {
|
|
1963
|
+
return Gt ? (e.length === 1 ? e[0] : "(" + e.join(",") + ")") + "=>" + (r.startsWith("{") ? "(" + r + ")" : r) : "function(" + e.join(",") + "){return " + r + "}";
|
|
1964
|
+
}
|
|
1965
|
+
function Kt(e, r) {
|
|
1966
|
+
return Gt ? (e.length === 1 ? e[0] : "(" + e.join(",") + ")") + "=>{" + r + "}" : "function(" + e.join(",") + "){" + r + "}";
|
|
1967
|
+
}
|
|
1968
|
+
var Zt = "hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_", Ht = Zt.length, $t = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_", Jt = $t.length;
|
|
1969
|
+
function Vr(e) {
|
|
1970
|
+
let r = e % Ht, t = Zt[r];
|
|
1971
|
+
for (e = (e - r) / Ht; e > 0; ) r = e % Jt, t += $t[r], e = (e - r) / Jt;
|
|
1972
|
+
return t;
|
|
1973
|
+
}
|
|
1974
|
+
var xo = /^[$A-Z_][0-9A-Z_$]*$/i;
|
|
1975
|
+
function Mr(e) {
|
|
1976
|
+
let r = e[0];
|
|
1977
|
+
return (r === "$" || r === "_" || r >= "A" && r <= "Z" || r >= "a" && r <= "z") && xo.test(e);
|
|
1978
|
+
}
|
|
1979
|
+
function ye(e) {
|
|
1980
|
+
switch (e.t) {
|
|
1981
|
+
case 0:
|
|
1982
|
+
return e.s + "=" + e.v;
|
|
1983
|
+
case 2:
|
|
1984
|
+
return e.s + ".set(" + e.k + "," + e.v + ")";
|
|
1985
|
+
case 1:
|
|
1986
|
+
return e.s + ".add(" + e.v + ")";
|
|
1987
|
+
case 3:
|
|
1988
|
+
return e.s + ".delete(" + e.k + ")";
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
function To(e) {
|
|
1992
|
+
let r = [], t = e[0];
|
|
1993
|
+
for (let n2 = 1, a = e.length, s, i = t; n2 < a; n2++) s = e[n2], s.t === 0 && s.v === i.v ? t = { t: 0, s: s.s, k: o, v: ye(t) } : s.t === 2 && s.s === i.s ? t = { t: 2, s: ye(t), k: s.k, v: s.v } : s.t === 1 && s.s === i.s ? t = { t: 1, s: ye(t), k: o, v: s.v } : s.t === 3 && s.s === i.s ? t = { t: 3, s: ye(t), k: s.k, v: o } : (r.push(t), t = s), i = s;
|
|
1994
|
+
return r.push(t), r;
|
|
1995
|
+
}
|
|
1996
|
+
function on(e) {
|
|
1997
|
+
if (e.length) {
|
|
1998
|
+
let r = "", t = To(e);
|
|
1999
|
+
for (let n2 = 0, a = t.length; n2 < a; n2++) r += ye(t[n2]) + ",";
|
|
2000
|
+
return r;
|
|
2001
|
+
}
|
|
2002
|
+
return o;
|
|
2003
|
+
}
|
|
2004
|
+
var Oo = "Object.create(null)", wo = "new Set", ho = "new Map", zo = "Promise.resolve", _o = "Promise.reject", ko = { 3: "Object.freeze", 2: "Object.seal", 1: "Object.preventExtensions", 0: o };
|
|
2005
|
+
function an(e, r) {
|
|
2006
|
+
return { mode: e, plugins: r.plugins, features: r.features, marked: new Set(r.markedRefs), stack: [], flags: [], assignments: [] };
|
|
2007
|
+
}
|
|
2008
|
+
function lr(e) {
|
|
2009
|
+
return { mode: 2, base: an(2, e), state: e, child: o };
|
|
2010
|
+
}
|
|
2011
|
+
var Lr = class {
|
|
2012
|
+
constructor(r) {
|
|
2013
|
+
this._p = r;
|
|
2014
|
+
}
|
|
2015
|
+
serialize(r) {
|
|
2016
|
+
return f(this._p, r);
|
|
2017
|
+
}
|
|
2018
|
+
};
|
|
2019
|
+
function Fo(e, r) {
|
|
2020
|
+
let t = e.valid.get(r);
|
|
2021
|
+
t == null && (t = e.valid.size, e.valid.set(r, t));
|
|
2022
|
+
let n2 = e.vars[t];
|
|
2023
|
+
return n2 == null && (n2 = Vr(t), e.vars[t] = n2), n2;
|
|
2024
|
+
}
|
|
2025
|
+
function Bo(e) {
|
|
2026
|
+
return le + "[" + e + "]";
|
|
2027
|
+
}
|
|
2028
|
+
function m(e, r) {
|
|
2029
|
+
return e.mode === 1 ? Fo(e.state, r) : Bo(r);
|
|
2030
|
+
}
|
|
2031
|
+
function w$1(e, r) {
|
|
2032
|
+
e.marked.add(r);
|
|
2033
|
+
}
|
|
2034
|
+
function Ur(e, r) {
|
|
2035
|
+
return e.marked.has(r);
|
|
2036
|
+
}
|
|
2037
|
+
function Yr(e, r, t) {
|
|
2038
|
+
r !== 0 && (w$1(e.base, t), e.base.flags.push({ type: r, value: m(e, t) }));
|
|
2039
|
+
}
|
|
2040
|
+
function Vo(e) {
|
|
2041
|
+
let r = "";
|
|
2042
|
+
for (let t = 0, n2 = e.flags, a = n2.length; t < a; t++) {
|
|
2043
|
+
let s = n2[t];
|
|
2044
|
+
r += ko[s.type] + "(" + s.value + "),";
|
|
2045
|
+
}
|
|
2046
|
+
return r;
|
|
2047
|
+
}
|
|
2048
|
+
function sn(e) {
|
|
2049
|
+
let r = on(e.assignments), t = Vo(e);
|
|
2050
|
+
return r ? t ? r + t : r : t;
|
|
2051
|
+
}
|
|
2052
|
+
function qr(e, r, t) {
|
|
2053
|
+
e.assignments.push({ t: 0, s: r, k: o, v: t });
|
|
2054
|
+
}
|
|
2055
|
+
function Mo(e, r, t) {
|
|
2056
|
+
e.base.assignments.push({ t: 1, s: m(e, r), k: o, v: t });
|
|
2057
|
+
}
|
|
2058
|
+
function ge(e, r, t, n2) {
|
|
2059
|
+
e.base.assignments.push({ t: 2, s: m(e, r), k: t, v: n2 });
|
|
2060
|
+
}
|
|
2061
|
+
function Xt(e, r, t) {
|
|
2062
|
+
e.base.assignments.push({ t: 3, s: m(e, r), k: t, v: o });
|
|
2063
|
+
}
|
|
2064
|
+
function Ne(e, r, t, n2) {
|
|
2065
|
+
qr(e.base, m(e, r) + "[" + t + "]", n2);
|
|
2066
|
+
}
|
|
2067
|
+
function jr(e, r, t, n2) {
|
|
2068
|
+
qr(e.base, m(e, r) + "." + t, n2);
|
|
2069
|
+
}
|
|
2070
|
+
function Lo(e, r, t, n2) {
|
|
2071
|
+
qr(e.base, m(e, r) + ".v[" + t + "]", n2);
|
|
2072
|
+
}
|
|
2073
|
+
function F(e, r) {
|
|
2074
|
+
return r.t === 4 && e.stack.includes(r.i);
|
|
2075
|
+
}
|
|
2076
|
+
function ae(e, r, t) {
|
|
2077
|
+
return e.mode === 1 && !Ur(e.base, r) ? t : m(e, r) + "=" + t;
|
|
2078
|
+
}
|
|
2079
|
+
function Uo(e) {
|
|
2080
|
+
return L + '.get("' + e.s + '")';
|
|
2081
|
+
}
|
|
2082
|
+
function Qt(e, r, t, n2) {
|
|
2083
|
+
return t ? F(e.base, t) ? (w$1(e.base, r), Ne(e, r, n2, m(e, t.i)), "") : f(e, t) : "";
|
|
2084
|
+
}
|
|
2085
|
+
function jo(e, r) {
|
|
2086
|
+
let t = r.i, n2 = r.a, a = n2.length;
|
|
2087
|
+
if (a > 0) {
|
|
2088
|
+
e.base.stack.push(t);
|
|
2089
|
+
let s = Qt(e, t, n2[0], 0), i = s === "";
|
|
2090
|
+
for (let u = 1, l; u < a; u++) l = Qt(e, t, n2[u], u), s += "," + l, i = l === "";
|
|
2091
|
+
return e.base.stack.pop(), Yr(e, r.o, r.i), "[" + s + (i ? ",]" : "]");
|
|
2092
|
+
}
|
|
2093
|
+
return "[]";
|
|
2094
|
+
}
|
|
2095
|
+
function en(e, r, t, n2) {
|
|
2096
|
+
if (typeof t == "string") {
|
|
2097
|
+
let a = Number(t), s = a >= 0 && a.toString() === t || Mr(t);
|
|
2098
|
+
if (F(e.base, n2)) {
|
|
2099
|
+
let i = m(e, n2.i);
|
|
2100
|
+
return w$1(e.base, r.i), s && a !== a ? jr(e, r.i, t, i) : Ne(e, r.i, s ? t : '"' + t + '"', i), "";
|
|
2101
|
+
}
|
|
2102
|
+
return (s ? t : '"' + t + '"') + ":" + f(e, n2);
|
|
2103
|
+
}
|
|
2104
|
+
return "[" + f(e, t) + "]:" + f(e, n2);
|
|
2105
|
+
}
|
|
2106
|
+
function un(e, r, t) {
|
|
2107
|
+
let n2 = t.k, a = n2.length;
|
|
2108
|
+
if (a > 0) {
|
|
2109
|
+
let s = t.v;
|
|
2110
|
+
e.base.stack.push(r.i);
|
|
2111
|
+
let i = en(e, r, n2[0], s[0]);
|
|
2112
|
+
for (let u = 1, l = i; u < a; u++) l = en(e, r, n2[u], s[u]), i += (l && i && ",") + l;
|
|
2113
|
+
return e.base.stack.pop(), "{" + i + "}";
|
|
2114
|
+
}
|
|
2115
|
+
return "{}";
|
|
2116
|
+
}
|
|
2117
|
+
function Yo(e, r) {
|
|
2118
|
+
return Yr(e, r.o, r.i), un(e, r, r.p);
|
|
2119
|
+
}
|
|
2120
|
+
function qo(e, r, t, n2) {
|
|
2121
|
+
let a = un(e, r, t);
|
|
2122
|
+
return a !== "{}" ? "Object.assign(" + n2 + "," + a + ")" : n2;
|
|
2123
|
+
}
|
|
2124
|
+
function Wo(e, r, t, n2, a) {
|
|
2125
|
+
let s = e.base, i = f(e, a), u = Number(n2), l = u >= 0 && u.toString() === n2 || Mr(n2);
|
|
2126
|
+
if (F(s, a)) l && u !== u ? jr(e, r.i, n2, i) : Ne(e, r.i, l ? n2 : '"' + n2 + '"', i);
|
|
2127
|
+
else {
|
|
2128
|
+
let g = s.assignments;
|
|
2129
|
+
s.assignments = t, l && u !== u ? jr(e, r.i, n2, i) : Ne(e, r.i, l ? n2 : '"' + n2 + '"', i), s.assignments = g;
|
|
2130
|
+
}
|
|
2131
|
+
}
|
|
2132
|
+
function Go(e, r, t, n2, a) {
|
|
2133
|
+
if (typeof n2 == "string") Wo(e, r, t, n2, a);
|
|
2134
|
+
else {
|
|
2135
|
+
let s = e.base, i = s.stack;
|
|
2136
|
+
s.stack = [];
|
|
2137
|
+
let u = f(e, a);
|
|
2138
|
+
s.stack = i;
|
|
2139
|
+
let l = s.assignments;
|
|
2140
|
+
s.assignments = t, Ne(e, r.i, f(e, n2), u), s.assignments = l;
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
function Ko(e, r, t) {
|
|
2144
|
+
let n2 = t.k, a = n2.length;
|
|
2145
|
+
if (a > 0) {
|
|
2146
|
+
let s = [], i = t.v;
|
|
2147
|
+
e.base.stack.push(r.i);
|
|
2148
|
+
for (let u = 0; u < a; u++) Go(e, r, s, n2[u], i[u]);
|
|
2149
|
+
return e.base.stack.pop(), on(s);
|
|
2150
|
+
}
|
|
2151
|
+
return o;
|
|
2152
|
+
}
|
|
2153
|
+
function Wr(e, r, t) {
|
|
2154
|
+
if (r.p) {
|
|
2155
|
+
let n2 = e.base;
|
|
2156
|
+
if (n2.features & 8) t = qo(e, r, r.p, t);
|
|
2157
|
+
else {
|
|
2158
|
+
w$1(n2, r.i);
|
|
2159
|
+
let a = Ko(e, r, r.p);
|
|
2160
|
+
if (a) return "(" + ae(e, r.i, t) + "," + a + m(e, r.i) + ")";
|
|
2161
|
+
}
|
|
2162
|
+
}
|
|
2163
|
+
return t;
|
|
2164
|
+
}
|
|
2165
|
+
function Ho(e, r) {
|
|
2166
|
+
return Yr(e, r.o, r.i), Wr(e, r, Oo);
|
|
2167
|
+
}
|
|
2168
|
+
function Jo(e) {
|
|
2169
|
+
return 'new Date("' + e.s + '")';
|
|
2170
|
+
}
|
|
2171
|
+
function Zo(e, r) {
|
|
2172
|
+
if (e.base.features & 32) return "/" + r.c + "/" + r.m;
|
|
2173
|
+
throw new h(r);
|
|
2174
|
+
}
|
|
2175
|
+
function rn(e, r, t) {
|
|
2176
|
+
let n2 = e.base;
|
|
2177
|
+
return F(n2, t) ? (w$1(n2, r), Mo(e, r, m(e, t.i)), "") : f(e, t);
|
|
2178
|
+
}
|
|
2179
|
+
function $o(e, r) {
|
|
2180
|
+
let t = wo, n2 = r.a, a = n2.length, s = r.i;
|
|
2181
|
+
if (a > 0) {
|
|
2182
|
+
e.base.stack.push(s);
|
|
2183
|
+
let i = rn(e, s, n2[0]);
|
|
2184
|
+
for (let u = 1, l = i; u < a; u++) l = rn(e, s, n2[u]), i += (l && i && ",") + l;
|
|
2185
|
+
e.base.stack.pop(), i && (t += "([" + i + "])");
|
|
2186
|
+
}
|
|
2187
|
+
return t;
|
|
2188
|
+
}
|
|
2189
|
+
function tn(e, r, t, n2, a) {
|
|
2190
|
+
let s = e.base;
|
|
2191
|
+
if (F(s, t)) {
|
|
2192
|
+
let i = m(e, t.i);
|
|
2193
|
+
if (w$1(s, r), F(s, n2)) {
|
|
2194
|
+
let l = m(e, n2.i);
|
|
2195
|
+
return ge(e, r, i, l), "";
|
|
2196
|
+
}
|
|
2197
|
+
if (n2.t !== 4 && n2.i != null && Ur(s, n2.i)) {
|
|
2198
|
+
let l = "(" + f(e, n2) + ",[" + a + "," + a + "])";
|
|
2199
|
+
return ge(e, r, i, m(e, n2.i)), Xt(e, r, a), l;
|
|
2200
|
+
}
|
|
2201
|
+
let u = s.stack;
|
|
2202
|
+
return s.stack = [], ge(e, r, i, f(e, n2)), s.stack = u, "";
|
|
2203
|
+
}
|
|
2204
|
+
if (F(s, n2)) {
|
|
2205
|
+
let i = m(e, n2.i);
|
|
2206
|
+
if (w$1(s, r), t.t !== 4 && t.i != null && Ur(s, t.i)) {
|
|
2207
|
+
let l = "(" + f(e, t) + ",[" + a + "," + a + "])";
|
|
2208
|
+
return ge(e, r, m(e, t.i), i), Xt(e, r, a), l;
|
|
2209
|
+
}
|
|
2210
|
+
let u = s.stack;
|
|
2211
|
+
return s.stack = [], ge(e, r, f(e, t), i), s.stack = u, "";
|
|
2212
|
+
}
|
|
2213
|
+
return "[" + f(e, t) + "," + f(e, n2) + "]";
|
|
2214
|
+
}
|
|
2215
|
+
function Xo(e, r) {
|
|
2216
|
+
let t = ho, n2 = r.e.k, a = n2.length, s = r.i, i = r.f, u = m(e, i.i), l = e.base;
|
|
2217
|
+
if (a > 0) {
|
|
2218
|
+
let g = r.e.v;
|
|
2219
|
+
l.stack.push(s);
|
|
2220
|
+
let S = tn(e, s, n2[0], g[0], u);
|
|
2221
|
+
for (let d = 1, G = S; d < a; d++) G = tn(e, s, n2[d], g[d], u), S += (G && S && ",") + G;
|
|
2222
|
+
l.stack.pop(), S && (t += "([" + S + "])");
|
|
2223
|
+
}
|
|
2224
|
+
return i.t === 26 && (w$1(l, i.i), t = "(" + f(e, i) + "," + t + ")"), t;
|
|
2225
|
+
}
|
|
2226
|
+
function Qo(e, r) {
|
|
2227
|
+
return q(e, r.f) + '("' + r.s + '")';
|
|
2228
|
+
}
|
|
2229
|
+
function ea(e, r) {
|
|
2230
|
+
return "new " + r.c + "(" + f(e, r.f) + "," + r.b + "," + r.l + ")";
|
|
2231
|
+
}
|
|
2232
|
+
function ra(e, r) {
|
|
2233
|
+
return "new DataView(" + f(e, r.f) + "," + r.b + "," + r.l + ")";
|
|
2234
|
+
}
|
|
2235
|
+
function ta(e, r) {
|
|
2236
|
+
let t = r.i;
|
|
2237
|
+
e.base.stack.push(t);
|
|
2238
|
+
let n2 = Wr(e, r, 'new AggregateError([],"' + r.m + '")');
|
|
2239
|
+
return e.base.stack.pop(), n2;
|
|
2240
|
+
}
|
|
2241
|
+
function na(e, r) {
|
|
2242
|
+
return Wr(e, r, "new " + Ce[r.s] + '("' + r.m + '")');
|
|
2243
|
+
}
|
|
2244
|
+
function oa(e, r) {
|
|
2245
|
+
let t, n2 = r.f, a = r.i, s = r.s ? zo : _o, i = e.base;
|
|
2246
|
+
if (F(i, n2)) {
|
|
2247
|
+
let u = m(e, n2.i);
|
|
2248
|
+
t = s + (r.s ? "().then(" + ir([], u) + ")" : "().catch(" + Kt([], "throw " + u) + ")");
|
|
2249
|
+
} else {
|
|
2250
|
+
i.stack.push(a);
|
|
2251
|
+
let u = f(e, n2);
|
|
2252
|
+
i.stack.pop(), t = s + "(" + u + ")";
|
|
2253
|
+
}
|
|
2254
|
+
return t;
|
|
2255
|
+
}
|
|
2256
|
+
function aa(e, r) {
|
|
2257
|
+
return "Object(" + f(e, r.f) + ")";
|
|
2258
|
+
}
|
|
2259
|
+
function q(e, r) {
|
|
2260
|
+
let t = f(e, r);
|
|
2261
|
+
return r.t === 4 ? t : "(" + t + ")";
|
|
2262
|
+
}
|
|
2263
|
+
function sa(e, r) {
|
|
2264
|
+
if (e.mode === 1) throw new h(r);
|
|
2265
|
+
return "(" + ae(e, r.s, q(e, r.f) + "()") + ").p";
|
|
2266
|
+
}
|
|
2267
|
+
function ia(e, r) {
|
|
2268
|
+
if (e.mode === 1) throw new h(r);
|
|
2269
|
+
return q(e, r.a[0]) + "(" + m(e, r.i) + "," + f(e, r.a[1]) + ")";
|
|
2270
|
+
}
|
|
2271
|
+
function ua(e, r) {
|
|
2272
|
+
if (e.mode === 1) throw new h(r);
|
|
2273
|
+
return q(e, r.a[0]) + "(" + m(e, r.i) + "," + f(e, r.a[1]) + ")";
|
|
2274
|
+
}
|
|
2275
|
+
function la(e, r) {
|
|
2276
|
+
let t = e.base.plugins;
|
|
2277
|
+
if (t) for (let n2 = 0, a = t.length; n2 < a; n2++) {
|
|
2278
|
+
let s = t[n2];
|
|
2279
|
+
if (s.tag === r.c) return e.child == null && (e.child = new Lr(e)), s.serialize(r.s, e.child, { id: r.i });
|
|
2280
|
+
}
|
|
2281
|
+
throw new X(r.c);
|
|
2282
|
+
}
|
|
2283
|
+
function ca(e, r) {
|
|
2284
|
+
let t = "", n2 = false;
|
|
2285
|
+
return r.f.t !== 4 && (w$1(e.base, r.f.i), t = "(" + f(e, r.f) + ",", n2 = true), t += ae(e, r.i, "(" + At + ")(" + m(e, r.f.i) + ")"), n2 && (t += ")"), t;
|
|
2286
|
+
}
|
|
2287
|
+
function fa(e, r) {
|
|
2288
|
+
return q(e, r.a[0]) + "(" + f(e, r.a[1]) + ")";
|
|
2289
|
+
}
|
|
2290
|
+
function Sa(e, r) {
|
|
2291
|
+
let t = r.a[0], n2 = r.a[1], a = e.base, s = "";
|
|
2292
|
+
t.t !== 4 && (w$1(a, t.i), s += "(" + f(e, t)), n2.t !== 4 && (w$1(a, n2.i), s += (s ? "," : "(") + f(e, n2)), s && (s += ",");
|
|
2293
|
+
let i = ae(e, r.i, "(" + Et + ")(" + m(e, n2.i) + "," + m(e, t.i) + ")");
|
|
2294
|
+
return s ? s + i + ")" : i;
|
|
2295
|
+
}
|
|
2296
|
+
function ma(e, r) {
|
|
2297
|
+
return q(e, r.a[0]) + "(" + f(e, r.a[1]) + ")";
|
|
2298
|
+
}
|
|
2299
|
+
function pa(e, r) {
|
|
2300
|
+
let t = ae(e, r.i, q(e, r.f) + "()"), n2 = r.a.length;
|
|
2301
|
+
if (n2) {
|
|
2302
|
+
let a = f(e, r.a[0]);
|
|
2303
|
+
for (let s = 1; s < n2; s++) a += "," + f(e, r.a[s]);
|
|
2304
|
+
return "(" + t + "," + a + "," + m(e, r.i) + ")";
|
|
2305
|
+
}
|
|
2306
|
+
return t;
|
|
2307
|
+
}
|
|
2308
|
+
function da(e, r) {
|
|
2309
|
+
return m(e, r.i) + ".next(" + f(e, r.f) + ")";
|
|
2310
|
+
}
|
|
2311
|
+
function ga(e, r) {
|
|
2312
|
+
return m(e, r.i) + ".throw(" + f(e, r.f) + ")";
|
|
2313
|
+
}
|
|
2314
|
+
function ya(e, r) {
|
|
2315
|
+
return m(e, r.i) + ".return(" + f(e, r.f) + ")";
|
|
2316
|
+
}
|
|
2317
|
+
function nn(e, r, t, n2) {
|
|
2318
|
+
let a = e.base;
|
|
2319
|
+
return F(a, n2) ? (w$1(a, r), Lo(e, r, t, m(e, n2.i)), "") : f(e, n2);
|
|
2320
|
+
}
|
|
2321
|
+
function Na(e, r) {
|
|
2322
|
+
let t = r.a, n2 = t.length, a = r.i;
|
|
2323
|
+
if (n2 > 0) {
|
|
2324
|
+
e.base.stack.push(a);
|
|
2325
|
+
let s = nn(e, a, 0, t[0]);
|
|
2326
|
+
for (let i = 1, u = s; i < n2; i++) u = nn(e, a, i, t[i]), s += (u && s && ",") + u;
|
|
2327
|
+
if (e.base.stack.pop(), s) return "{__SEROVAL_SEQUENCE__:!0,v:[" + s + "],t:" + r.s + ",d:" + r.l + "}";
|
|
2328
|
+
}
|
|
2329
|
+
return "{__SEROVAL_SEQUENCE__:!0,v:[],t:-1,d:0}";
|
|
2330
|
+
}
|
|
2331
|
+
function ba(e, r) {
|
|
2332
|
+
switch (r.t) {
|
|
2333
|
+
case 17:
|
|
2334
|
+
return tt[r.s];
|
|
2335
|
+
case 18:
|
|
2336
|
+
return Uo(r);
|
|
2337
|
+
case 9:
|
|
2338
|
+
return jo(e, r);
|
|
2339
|
+
case 10:
|
|
2340
|
+
return Yo(e, r);
|
|
2341
|
+
case 11:
|
|
2342
|
+
return Ho(e, r);
|
|
2343
|
+
case 5:
|
|
2344
|
+
return Jo(r);
|
|
2345
|
+
case 6:
|
|
2346
|
+
return Zo(e, r);
|
|
2347
|
+
case 7:
|
|
2348
|
+
return $o(e, r);
|
|
2349
|
+
case 8:
|
|
2350
|
+
return Xo(e, r);
|
|
2351
|
+
case 19:
|
|
2352
|
+
return Qo(e, r);
|
|
2353
|
+
case 16:
|
|
2354
|
+
case 15:
|
|
2355
|
+
return ea(e, r);
|
|
2356
|
+
case 20:
|
|
2357
|
+
return ra(e, r);
|
|
2358
|
+
case 14:
|
|
2359
|
+
return ta(e, r);
|
|
2360
|
+
case 13:
|
|
2361
|
+
return na(e, r);
|
|
2362
|
+
case 12:
|
|
2363
|
+
return oa(e, r);
|
|
2364
|
+
case 21:
|
|
2365
|
+
return aa(e, r);
|
|
2366
|
+
case 22:
|
|
2367
|
+
return sa(e, r);
|
|
2368
|
+
case 25:
|
|
2369
|
+
return la(e, r);
|
|
2370
|
+
case 26:
|
|
2371
|
+
return Ot[r.s];
|
|
2372
|
+
case 35:
|
|
2373
|
+
return Na(e, r);
|
|
2374
|
+
default:
|
|
2375
|
+
throw new h(r);
|
|
2376
|
+
}
|
|
2377
|
+
}
|
|
2378
|
+
function f(e, r) {
|
|
2379
|
+
switch (r.t) {
|
|
2380
|
+
case 2:
|
|
2381
|
+
return ot[r.s];
|
|
2382
|
+
case 0:
|
|
2383
|
+
return "" + r.s;
|
|
2384
|
+
case 1:
|
|
2385
|
+
return '"' + r.s + '"';
|
|
2386
|
+
case 3:
|
|
2387
|
+
return r.s + "n";
|
|
2388
|
+
case 4:
|
|
2389
|
+
return m(e, r.i);
|
|
2390
|
+
case 23:
|
|
2391
|
+
return ia(e, r);
|
|
2392
|
+
case 24:
|
|
2393
|
+
return ua(e, r);
|
|
2394
|
+
case 27:
|
|
2395
|
+
return ca(e, r);
|
|
2396
|
+
case 28:
|
|
2397
|
+
return fa(e, r);
|
|
2398
|
+
case 29:
|
|
2399
|
+
return Sa(e, r);
|
|
2400
|
+
case 30:
|
|
2401
|
+
return ma(e, r);
|
|
2402
|
+
case 31:
|
|
2403
|
+
return pa(e, r);
|
|
2404
|
+
case 32:
|
|
2405
|
+
return da(e, r);
|
|
2406
|
+
case 33:
|
|
2407
|
+
return ga(e, r);
|
|
2408
|
+
case 34:
|
|
2409
|
+
return ya(e, r);
|
|
2410
|
+
default:
|
|
2411
|
+
return ae(e, r.i, ba(e, r));
|
|
2412
|
+
}
|
|
2413
|
+
}
|
|
2414
|
+
function fr(e, r) {
|
|
2415
|
+
let t = f(e, r), n2 = r.i;
|
|
2416
|
+
if (n2 == null) return t;
|
|
2417
|
+
let a = sn(e.base), s = m(e, n2), i = e.state.scopeId, u = i == null ? "" : le, l = a ? "(" + t + "," + a + s + ")" : t;
|
|
2418
|
+
if (u === "") return r.t === 10 && !a ? "(" + l + ")" : l;
|
|
2419
|
+
let g = i == null ? "()" : "(" + le + '["' + y(i) + '"])';
|
|
2420
|
+
return "(" + ir([u], l) + ")" + g;
|
|
2421
|
+
}
|
|
2422
|
+
var Kr = class {
|
|
2423
|
+
constructor(r, t) {
|
|
2424
|
+
this._p = r;
|
|
2425
|
+
this.depth = t;
|
|
2426
|
+
}
|
|
2427
|
+
parse(r) {
|
|
2428
|
+
return E(this._p, this.depth, r);
|
|
2429
|
+
}
|
|
2430
|
+
}, Hr = class {
|
|
2431
|
+
constructor(r, t) {
|
|
2432
|
+
this._p = r;
|
|
2433
|
+
this.depth = t;
|
|
2434
|
+
}
|
|
2435
|
+
parse(r) {
|
|
2436
|
+
return E(this._p, this.depth, r);
|
|
2437
|
+
}
|
|
2438
|
+
parseWithError(r) {
|
|
2439
|
+
return W(this._p, this.depth, r);
|
|
2440
|
+
}
|
|
2441
|
+
isAlive() {
|
|
2442
|
+
return this._p.state.alive;
|
|
2443
|
+
}
|
|
2444
|
+
pushPendingState() {
|
|
2445
|
+
Qr(this._p);
|
|
2446
|
+
}
|
|
2447
|
+
popPendingState() {
|
|
2448
|
+
be(this._p);
|
|
2449
|
+
}
|
|
2450
|
+
onParse(r) {
|
|
2451
|
+
se(this._p, r);
|
|
2452
|
+
}
|
|
2453
|
+
onError(r) {
|
|
2454
|
+
$r(this._p, r);
|
|
2455
|
+
}
|
|
2456
|
+
};
|
|
2457
|
+
function va(e) {
|
|
2458
|
+
return { alive: true, pending: 0, initial: true, buffer: [], onParse: e.onParse, onError: e.onError, onDone: e.onDone };
|
|
2459
|
+
}
|
|
2460
|
+
function Jr(e) {
|
|
2461
|
+
return { type: 2, base: me(2, e), state: va(e) };
|
|
2462
|
+
}
|
|
2463
|
+
function Ca(e, r, t) {
|
|
2464
|
+
let n2 = [];
|
|
2465
|
+
for (let a = 0, s = t.length; a < s; a++) a in t ? n2[a] = E(e, r, t[a]) : n2[a] = 0;
|
|
2466
|
+
return n2;
|
|
2467
|
+
}
|
|
2468
|
+
function Aa(e, r, t, n2) {
|
|
2469
|
+
return _e(t, n2, Ca(e, r, n2));
|
|
2470
|
+
}
|
|
2471
|
+
function Zr(e, r, t) {
|
|
2472
|
+
let n2 = Object.entries(t), a = [], s = [];
|
|
2473
|
+
for (let i = 0, u = n2.length; i < u; i++) a.push(y(n2[i][0])), s.push(E(e, r, n2[i][1]));
|
|
2474
|
+
return C in t && (a.push(I(e.base, C)), s.push(Ue(rr(e.base), E(e, r, $e(t))))), v in t && (a.push(I(e.base, v)), s.push(je(tr(e.base), E(e, r, e.type === 1 ? re() : Qe(t))))), P$1 in t && (a.push(I(e.base, P$1)), s.push($(t[P$1]))), R in t && (a.push(I(e.base, R)), s.push(t[R] ? H : J)), { k: a, v: s };
|
|
2475
|
+
}
|
|
2476
|
+
function Gr(e, r, t, n2, a) {
|
|
2477
|
+
return nr(t, n2, a, Zr(e, r, n2));
|
|
2478
|
+
}
|
|
2479
|
+
function Ea(e, r, t, n2) {
|
|
2480
|
+
return ke(t, E(e, r, n2.valueOf()));
|
|
2481
|
+
}
|
|
2482
|
+
function Ia(e, r, t, n2) {
|
|
2483
|
+
return De(t, n2, E(e, r, n2.buffer));
|
|
2484
|
+
}
|
|
2485
|
+
function Ra(e, r, t, n2) {
|
|
2486
|
+
return Fe(t, n2, E(e, r, n2.buffer));
|
|
2487
|
+
}
|
|
2488
|
+
function Pa(e, r, t, n2) {
|
|
2489
|
+
return Be(t, n2, E(e, r, n2.buffer));
|
|
2490
|
+
}
|
|
2491
|
+
function ln(e, r, t, n2) {
|
|
2492
|
+
let a = Z(n2, e.base.features);
|
|
2493
|
+
return Ve(t, n2, a ? Zr(e, r, a) : o);
|
|
2494
|
+
}
|
|
2495
|
+
function xa(e, r, t, n2) {
|
|
2496
|
+
let a = Z(n2, e.base.features);
|
|
2497
|
+
return Me(t, n2, a ? Zr(e, r, a) : o);
|
|
2498
|
+
}
|
|
2499
|
+
function Ta(e, r, t, n2) {
|
|
2500
|
+
let a = [], s = [];
|
|
2501
|
+
for (let [i, u] of n2.entries()) a.push(E(e, r, i)), s.push(E(e, r, u));
|
|
2502
|
+
return or(e.base, t, a, s);
|
|
2503
|
+
}
|
|
2504
|
+
function Oa(e, r, t, n2) {
|
|
2505
|
+
let a = [];
|
|
2506
|
+
for (let s of n2.keys()) a.push(E(e, r, s));
|
|
2507
|
+
return Le(t, a);
|
|
2508
|
+
}
|
|
2509
|
+
function wa(e, r, t, n2) {
|
|
2510
|
+
let a = Ye(t, k(e.base, 4), []);
|
|
2511
|
+
return e.type === 1 || (Qr(e), n2.on({ next: (s) => {
|
|
2512
|
+
if (e.state.alive) {
|
|
2513
|
+
let i = W(e, r, s);
|
|
2514
|
+
i && se(e, qe(t, i));
|
|
2515
|
+
}
|
|
2516
|
+
}, throw: (s) => {
|
|
2517
|
+
if (e.state.alive) {
|
|
2518
|
+
let i = W(e, r, s);
|
|
2519
|
+
i && se(e, We(t, i));
|
|
2520
|
+
}
|
|
2521
|
+
be(e);
|
|
2522
|
+
}, return: (s) => {
|
|
2523
|
+
if (e.state.alive) {
|
|
2524
|
+
let i = W(e, r, s);
|
|
2525
|
+
i && se(e, Ge(t, i));
|
|
2526
|
+
}
|
|
2527
|
+
be(e);
|
|
2528
|
+
} })), a;
|
|
2529
|
+
}
|
|
2530
|
+
function ha(e, r, t) {
|
|
2531
|
+
if (this.state.alive) {
|
|
2532
|
+
let n2 = W(this, r, t);
|
|
2533
|
+
n2 && se(this, c(23, e, o, o, o, o, o, [k(this.base, 2), n2], o, o, o, o)), be(this);
|
|
2534
|
+
}
|
|
2535
|
+
}
|
|
2536
|
+
function za(e, r, t) {
|
|
2537
|
+
if (this.state.alive) {
|
|
2538
|
+
let n2 = W(this, r, t);
|
|
2539
|
+
n2 && se(this, c(24, e, o, o, o, o, o, [k(this.base, 3), n2], o, o, o, o));
|
|
2540
|
+
}
|
|
2541
|
+
be(this);
|
|
2542
|
+
}
|
|
2543
|
+
function _a(e, r, t, n2) {
|
|
2544
|
+
let a = zr(e.base, {});
|
|
2545
|
+
return e.type === 2 && (Qr(e), n2.then(ha.bind(e, a, r), za.bind(e, a, r))), zt(e.base, t, a);
|
|
2546
|
+
}
|
|
2547
|
+
function ka(e, r, t, n2, a) {
|
|
2548
|
+
for (let s = 0, i = a.length; s < i; s++) {
|
|
2549
|
+
let u = a[s];
|
|
2550
|
+
if (u.parse.sync && u.test(n2)) return ce(t, u.tag, u.parse.sync(n2, new Kr(e, r), { id: t }));
|
|
2551
|
+
}
|
|
2552
|
+
return o;
|
|
2553
|
+
}
|
|
2554
|
+
function Da(e, r, t, n2, a) {
|
|
2555
|
+
for (let s = 0, i = a.length; s < i; s++) {
|
|
2556
|
+
let u = a[s];
|
|
2557
|
+
if (u.parse.stream && u.test(n2)) return ce(t, u.tag, u.parse.stream(n2, new Hr(e, r), { id: t }));
|
|
2558
|
+
}
|
|
2559
|
+
return o;
|
|
2560
|
+
}
|
|
2561
|
+
function cn(e, r, t, n2) {
|
|
2562
|
+
let a = e.base.plugins;
|
|
2563
|
+
return a ? e.type === 1 ? ka(e, r, t, n2, a) : Da(e, r, t, n2, a) : o;
|
|
2564
|
+
}
|
|
2565
|
+
function Fa(e, r, t, n2) {
|
|
2566
|
+
let a = [];
|
|
2567
|
+
for (let s = 0, i = n2.v.length; s < i; s++) a[s] = E(e, r, n2.v[s]);
|
|
2568
|
+
return Ke(t, a, n2.t, n2.d);
|
|
2569
|
+
}
|
|
2570
|
+
function Ba(e, r, t, n2, a) {
|
|
2571
|
+
switch (a) {
|
|
2572
|
+
case Object:
|
|
2573
|
+
return Gr(e, r, t, n2, false);
|
|
2574
|
+
case o:
|
|
2575
|
+
return Gr(e, r, t, n2, true);
|
|
2576
|
+
case Date:
|
|
2577
|
+
return he(t, n2);
|
|
2578
|
+
case Error:
|
|
2579
|
+
case EvalError:
|
|
2580
|
+
case RangeError:
|
|
2581
|
+
case ReferenceError:
|
|
2582
|
+
case SyntaxError:
|
|
2583
|
+
case TypeError:
|
|
2584
|
+
case URIError:
|
|
2585
|
+
return ln(e, r, t, n2);
|
|
2586
|
+
case Number:
|
|
2587
|
+
case Boolean:
|
|
2588
|
+
case String:
|
|
2589
|
+
case BigInt:
|
|
2590
|
+
return Ea(e, r, t, n2);
|
|
2591
|
+
case ArrayBuffer:
|
|
2592
|
+
return ar(e.base, t, n2);
|
|
2593
|
+
case Int8Array:
|
|
2594
|
+
case Int16Array:
|
|
2595
|
+
case Int32Array:
|
|
2596
|
+
case Uint8Array:
|
|
2597
|
+
case Uint16Array:
|
|
2598
|
+
case Uint32Array:
|
|
2599
|
+
case Uint8ClampedArray:
|
|
2600
|
+
case Float32Array:
|
|
2601
|
+
case Float64Array:
|
|
2602
|
+
return Ia(e, r, t, n2);
|
|
2603
|
+
case DataView:
|
|
2604
|
+
return Pa(e, r, t, n2);
|
|
2605
|
+
case Map:
|
|
2606
|
+
return Ta(e, r, t, n2);
|
|
2607
|
+
case Set:
|
|
2608
|
+
return Oa(e, r, t, n2);
|
|
2609
|
+
}
|
|
2610
|
+
if (a === Promise || n2 instanceof Promise) return _a(e, r, t, n2);
|
|
2611
|
+
let s = e.base.features;
|
|
2612
|
+
if (s & 32 && a === RegExp) return ze(t, n2);
|
|
2613
|
+
if (s & 16) switch (a) {
|
|
2614
|
+
case BigInt64Array:
|
|
2615
|
+
case BigUint64Array:
|
|
2616
|
+
return Ra(e, r, t, n2);
|
|
2617
|
+
}
|
|
2618
|
+
if (s & 1 && typeof AggregateError != "undefined" && (a === AggregateError || n2 instanceof AggregateError)) return xa(e, r, t, n2);
|
|
2619
|
+
if (n2 instanceof Error) return ln(e, r, t, n2);
|
|
2620
|
+
if (C in n2 || v in n2) return Gr(e, r, t, n2, !!a);
|
|
2621
|
+
throw new x$1(n2);
|
|
2622
|
+
}
|
|
2623
|
+
function Va(e, r, t, n2) {
|
|
2624
|
+
if (Array.isArray(n2)) return Aa(e, r, t, n2);
|
|
2625
|
+
if (Xe(n2)) return wa(e, r, t, n2);
|
|
2626
|
+
if (Ze(n2)) return Fa(e, r, t, n2);
|
|
2627
|
+
let a = n2.constructor;
|
|
2628
|
+
if (a === j) return E(e, r, n2.replacement);
|
|
2629
|
+
let s = cn(e, r, t, n2);
|
|
2630
|
+
return s || Ba(e, r, t, n2, a);
|
|
2631
|
+
}
|
|
2632
|
+
function Ma(e, r, t) {
|
|
2633
|
+
let n2 = Y(e.base, t);
|
|
2634
|
+
if (n2.type !== 0) return n2.value;
|
|
2635
|
+
let a = cn(e, r, n2.value, t);
|
|
2636
|
+
if (a) return a;
|
|
2637
|
+
throw new x$1(t);
|
|
2638
|
+
}
|
|
2639
|
+
function E(e, r, t) {
|
|
2640
|
+
if (r >= e.base.depthLimit) throw new Q(e.base.depthLimit);
|
|
2641
|
+
switch (typeof t) {
|
|
2642
|
+
case "boolean":
|
|
2643
|
+
return t ? H : J;
|
|
2644
|
+
case "undefined":
|
|
2645
|
+
return Ae;
|
|
2646
|
+
case "string":
|
|
2647
|
+
return $(t);
|
|
2648
|
+
case "number":
|
|
2649
|
+
return Oe(t);
|
|
2650
|
+
case "bigint":
|
|
2651
|
+
return we(t);
|
|
2652
|
+
case "object": {
|
|
2653
|
+
if (t) {
|
|
2654
|
+
let n2 = Y(e.base, t);
|
|
2655
|
+
return n2.type === 0 ? Va(e, r + 1, n2.value, t) : n2.value;
|
|
2656
|
+
}
|
|
2657
|
+
return Ee;
|
|
2658
|
+
}
|
|
2659
|
+
case "symbol":
|
|
2660
|
+
return I(e.base, t);
|
|
2661
|
+
case "function":
|
|
2662
|
+
return Ma(e, r, t);
|
|
2663
|
+
default:
|
|
2664
|
+
throw new x$1(t);
|
|
2665
|
+
}
|
|
2666
|
+
}
|
|
2667
|
+
function se(e, r) {
|
|
2668
|
+
e.state.initial ? e.state.buffer.push(r) : Xr(e, r, false);
|
|
2669
|
+
}
|
|
2670
|
+
function $r(e, r) {
|
|
2671
|
+
if (e.state.onError) e.state.onError(r);
|
|
2672
|
+
else throw r instanceof z ? r : new z(r);
|
|
2673
|
+
}
|
|
2674
|
+
function fn(e) {
|
|
2675
|
+
e.state.onDone && e.state.onDone();
|
|
2676
|
+
}
|
|
2677
|
+
function Xr(e, r, t) {
|
|
2678
|
+
try {
|
|
2679
|
+
e.state.onParse(r, t);
|
|
2680
|
+
} catch (n2) {
|
|
2681
|
+
$r(e, n2);
|
|
2682
|
+
}
|
|
2683
|
+
}
|
|
2684
|
+
function Qr(e) {
|
|
2685
|
+
e.state.pending++;
|
|
2686
|
+
}
|
|
2687
|
+
function be(e) {
|
|
2688
|
+
--e.state.pending <= 0 && fn(e);
|
|
2689
|
+
}
|
|
2690
|
+
function W(e, r, t) {
|
|
2691
|
+
try {
|
|
2692
|
+
return E(e, r, t);
|
|
2693
|
+
} catch (n2) {
|
|
2694
|
+
return $r(e, n2), o;
|
|
2695
|
+
}
|
|
2696
|
+
}
|
|
2697
|
+
function et(e, r) {
|
|
2698
|
+
let t = W(e, 0, r);
|
|
2699
|
+
t && (Xr(e, t, true), e.state.initial = false, La(e, e.state), e.state.pending <= 0 && Sr(e));
|
|
2700
|
+
}
|
|
2701
|
+
function La(e, r) {
|
|
2702
|
+
for (let t = 0, n2 = r.buffer.length; t < n2; t++) Xr(e, r.buffer[t], false);
|
|
2703
|
+
}
|
|
2704
|
+
function Sr(e) {
|
|
2705
|
+
e.state.alive && (fn(e), e.state.alive = false);
|
|
2706
|
+
}
|
|
2707
|
+
async function su(e, r = {}) {
|
|
2708
|
+
let t = A(r.plugins), n2 = te(2, { plugins: t, disabledFeatures: r.disabledFeatures, refs: r.refs });
|
|
2709
|
+
return await ne(n2, e);
|
|
2710
|
+
}
|
|
2711
|
+
function Sn(e, r) {
|
|
2712
|
+
let t = A(r.plugins), n2 = Jr({ plugins: t, refs: r.refs, disabledFeatures: r.disabledFeatures, onParse(a, s) {
|
|
2713
|
+
let i = lr({ plugins: t, features: n2.base.features, scopeId: r.scopeId, markedRefs: n2.base.marked }), u;
|
|
2714
|
+
try {
|
|
2715
|
+
u = fr(i, a);
|
|
2716
|
+
} catch (l) {
|
|
2717
|
+
r.onError && r.onError(l);
|
|
2718
|
+
return;
|
|
2719
|
+
}
|
|
2720
|
+
r.onSerialize(u, s);
|
|
2721
|
+
}, onError: r.onError, onDone: r.onDone });
|
|
2722
|
+
return et(n2, e), Sr.bind(null, n2);
|
|
2723
|
+
}
|
|
2724
|
+
function iu(e, r) {
|
|
2725
|
+
let t = A(r.plugins), n2 = Jr({ plugins: t, refs: r.refs, disabledFeatures: r.disabledFeatures, depthLimit: r.depthLimit, onParse: r.onParse, onError: r.onError, onDone: r.onDone });
|
|
2726
|
+
return et(n2, e), Sr.bind(null, n2);
|
|
2727
|
+
}
|
|
2728
|
+
function Pu(e, r = {}) {
|
|
2729
|
+
var i;
|
|
2730
|
+
let t = A(r.plugins), n2 = r.disabledFeatures || 0, a = (i = e.f) != null ? i : 63, s = Lt({ plugins: t, markedRefs: e.m, features: a & ~n2, disabledFeatures: n2 });
|
|
2731
|
+
return sr(s, e.t);
|
|
2732
|
+
}
|
|
2733
|
+
function createSerializationAdapter(opts) {
|
|
2734
|
+
return opts;
|
|
2735
|
+
}
|
|
2736
|
+
// @__NO_SIDE_EFFECTS__
|
|
2737
|
+
function makeSsrSerovalPlugin(serializationAdapter, options) {
|
|
2738
|
+
return /* @__PURE__ */ ai({
|
|
2739
|
+
tag: "$TSR/t/" + serializationAdapter.key,
|
|
2740
|
+
test: serializationAdapter.test,
|
|
2741
|
+
parse: { stream(value, ctx, _data) {
|
|
2742
|
+
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
|
|
2743
|
+
} },
|
|
2744
|
+
serialize(node, ctx, _data) {
|
|
2745
|
+
options.didRun = true;
|
|
2746
|
+
return GLOBAL_TSR + '.t.get("' + serializationAdapter.key + '")(' + ctx.serialize(node.v) + ")";
|
|
2747
|
+
},
|
|
2748
|
+
deserialize: void 0
|
|
2749
|
+
});
|
|
2750
|
+
}
|
|
2751
|
+
// @__NO_SIDE_EFFECTS__
|
|
2752
|
+
function makeSerovalPlugin(serializationAdapter) {
|
|
2753
|
+
return /* @__PURE__ */ ai({
|
|
2754
|
+
tag: "$TSR/t/" + serializationAdapter.key,
|
|
2755
|
+
test: serializationAdapter.test,
|
|
2756
|
+
parse: {
|
|
2757
|
+
sync(value, ctx, _data) {
|
|
2758
|
+
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
|
|
2759
|
+
},
|
|
2760
|
+
async async(value, ctx, _data) {
|
|
2761
|
+
return { v: await ctx.parse(serializationAdapter.toSerializable(value)) };
|
|
2762
|
+
},
|
|
2763
|
+
stream(value, ctx, _data) {
|
|
2764
|
+
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
|
|
2765
|
+
}
|
|
2766
|
+
},
|
|
2767
|
+
serialize: void 0,
|
|
2768
|
+
deserialize(node, ctx, _data) {
|
|
2769
|
+
return serializationAdapter.fromSerializable(ctx.deserialize(node.v));
|
|
2770
|
+
}
|
|
2771
|
+
});
|
|
2772
|
+
}
|
|
2773
|
+
var RawStream = class {
|
|
2774
|
+
constructor(stream, options) {
|
|
2775
|
+
this.stream = stream;
|
|
2776
|
+
this.hint = options?.hint ?? "binary";
|
|
2777
|
+
}
|
|
2778
|
+
};
|
|
2779
|
+
const BufferCtor = globalThis.Buffer;
|
|
2780
|
+
const hasNodeBuffer = !!BufferCtor && typeof BufferCtor.from === "function";
|
|
2781
|
+
function uint8ArrayToBase64(bytes) {
|
|
2782
|
+
if (bytes.length === 0) return "";
|
|
2783
|
+
if (hasNodeBuffer) return BufferCtor.from(bytes).toString("base64");
|
|
2784
|
+
const CHUNK_SIZE = 32768;
|
|
2785
|
+
const chunks = [];
|
|
2786
|
+
for (let i = 0; i < bytes.length; i += CHUNK_SIZE) {
|
|
2787
|
+
const chunk = bytes.subarray(i, i + CHUNK_SIZE);
|
|
2788
|
+
chunks.push(String.fromCharCode.apply(null, chunk));
|
|
2789
|
+
}
|
|
2790
|
+
return btoa(chunks.join(""));
|
|
2791
|
+
}
|
|
2792
|
+
function base64ToUint8Array(base64) {
|
|
2793
|
+
if (base64.length === 0) return new Uint8Array(0);
|
|
2794
|
+
if (hasNodeBuffer) {
|
|
2795
|
+
const buf = BufferCtor.from(base64, "base64");
|
|
2796
|
+
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
2797
|
+
}
|
|
2798
|
+
const binary = atob(base64);
|
|
2799
|
+
const bytes = new Uint8Array(binary.length);
|
|
2800
|
+
for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
|
|
2801
|
+
return bytes;
|
|
2802
|
+
}
|
|
2803
|
+
const RAW_STREAM_FACTORY_BINARY = /* @__PURE__ */ Object.create(null);
|
|
2804
|
+
const RAW_STREAM_FACTORY_TEXT = /* @__PURE__ */ Object.create(null);
|
|
2805
|
+
const RAW_STREAM_FACTORY_CONSTRUCTOR_BINARY = (stream) => new ReadableStream({ start(controller) {
|
|
2806
|
+
stream.on({
|
|
2807
|
+
next(base64) {
|
|
2808
|
+
try {
|
|
2809
|
+
controller.enqueue(base64ToUint8Array(base64));
|
|
2810
|
+
} catch {
|
|
2811
|
+
}
|
|
2812
|
+
},
|
|
2813
|
+
throw(error) {
|
|
2814
|
+
controller.error(error);
|
|
2815
|
+
},
|
|
2816
|
+
return() {
|
|
2817
|
+
try {
|
|
2818
|
+
controller.close();
|
|
2819
|
+
} catch {
|
|
2820
|
+
}
|
|
2821
|
+
}
|
|
2822
|
+
});
|
|
2823
|
+
} });
|
|
2824
|
+
const textEncoderForFactory = new TextEncoder();
|
|
2825
|
+
const RAW_STREAM_FACTORY_CONSTRUCTOR_TEXT = (stream) => {
|
|
2826
|
+
return new ReadableStream({ start(controller) {
|
|
2827
|
+
stream.on({
|
|
2828
|
+
next(value) {
|
|
2829
|
+
try {
|
|
2830
|
+
if (typeof value === "string") controller.enqueue(textEncoderForFactory.encode(value));
|
|
2831
|
+
else controller.enqueue(base64ToUint8Array(value.$b64));
|
|
2832
|
+
} catch {
|
|
2833
|
+
}
|
|
2834
|
+
},
|
|
2835
|
+
throw(error) {
|
|
2836
|
+
controller.error(error);
|
|
2837
|
+
},
|
|
2838
|
+
return() {
|
|
2839
|
+
try {
|
|
2840
|
+
controller.close();
|
|
2841
|
+
} catch {
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2844
|
+
});
|
|
2845
|
+
} });
|
|
2846
|
+
};
|
|
2847
|
+
const FACTORY_BINARY = `(s=>new ReadableStream({start(c){s.on({next(b){try{const d=atob(b),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}catch(_){}},throw(e){c.error(e)},return(){try{c.close()}catch(_){}}})}}))`;
|
|
2848
|
+
const FACTORY_TEXT = `(s=>{const e=new TextEncoder();return new ReadableStream({start(c){s.on({next(v){try{if(typeof v==='string'){c.enqueue(e.encode(v))}else{const d=atob(v.$b64),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}}catch(_){}},throw(x){c.error(x)},return(){try{c.close()}catch(_){}}})}})})`;
|
|
2849
|
+
function toBinaryStream(readable) {
|
|
2850
|
+
const stream = re();
|
|
2851
|
+
const reader = readable.getReader();
|
|
2852
|
+
(async () => {
|
|
2853
|
+
try {
|
|
2854
|
+
while (true) {
|
|
2855
|
+
const { done, value } = await reader.read();
|
|
2856
|
+
if (done) {
|
|
2857
|
+
stream.return(void 0);
|
|
2858
|
+
break;
|
|
2859
|
+
}
|
|
2860
|
+
stream.next(uint8ArrayToBase64(value));
|
|
2861
|
+
}
|
|
2862
|
+
} catch (error) {
|
|
2863
|
+
stream.throw(error);
|
|
2864
|
+
} finally {
|
|
2865
|
+
reader.releaseLock();
|
|
2866
|
+
}
|
|
2867
|
+
})();
|
|
2868
|
+
return stream;
|
|
2869
|
+
}
|
|
2870
|
+
function toTextStream(readable) {
|
|
2871
|
+
const stream = re();
|
|
2872
|
+
const reader = readable.getReader();
|
|
2873
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
2874
|
+
(async () => {
|
|
2875
|
+
try {
|
|
2876
|
+
while (true) {
|
|
2877
|
+
const { done, value } = await reader.read();
|
|
2878
|
+
if (done) {
|
|
2879
|
+
try {
|
|
2880
|
+
const remaining = decoder.decode();
|
|
2881
|
+
if (remaining.length > 0) stream.next(remaining);
|
|
2882
|
+
} catch {
|
|
2883
|
+
}
|
|
2884
|
+
stream.return(void 0);
|
|
2885
|
+
break;
|
|
2886
|
+
}
|
|
2887
|
+
try {
|
|
2888
|
+
const text = decoder.decode(value, { stream: true });
|
|
2889
|
+
if (text.length > 0) stream.next(text);
|
|
2890
|
+
} catch {
|
|
2891
|
+
stream.next({ $b64: uint8ArrayToBase64(value) });
|
|
2892
|
+
}
|
|
2893
|
+
}
|
|
2894
|
+
} catch (error) {
|
|
2895
|
+
stream.throw(error);
|
|
2896
|
+
} finally {
|
|
2897
|
+
reader.releaseLock();
|
|
2898
|
+
}
|
|
2899
|
+
})();
|
|
2900
|
+
return stream;
|
|
2901
|
+
}
|
|
2902
|
+
const RawStreamSSRPlugin = /* @__PURE__ */ ai({
|
|
2903
|
+
tag: "tss/RawStream",
|
|
2904
|
+
extends: [/* @__PURE__ */ ai({
|
|
2905
|
+
tag: "tss/RawStreamFactory",
|
|
2906
|
+
test(value) {
|
|
2907
|
+
return value === RAW_STREAM_FACTORY_BINARY;
|
|
2908
|
+
},
|
|
2909
|
+
parse: {
|
|
2910
|
+
sync(_value, _ctx, _data) {
|
|
2911
|
+
return {};
|
|
2912
|
+
},
|
|
2913
|
+
async async(_value, _ctx, _data) {
|
|
2914
|
+
return {};
|
|
2915
|
+
},
|
|
2916
|
+
stream(_value, _ctx, _data) {
|
|
2917
|
+
return {};
|
|
2918
|
+
}
|
|
2919
|
+
},
|
|
2920
|
+
serialize(_node, _ctx, _data) {
|
|
2921
|
+
return FACTORY_BINARY;
|
|
2922
|
+
},
|
|
2923
|
+
deserialize(_node, _ctx, _data) {
|
|
2924
|
+
return RAW_STREAM_FACTORY_BINARY;
|
|
2925
|
+
}
|
|
2926
|
+
}), /* @__PURE__ */ ai({
|
|
2927
|
+
tag: "tss/RawStreamFactoryText",
|
|
2928
|
+
test(value) {
|
|
2929
|
+
return value === RAW_STREAM_FACTORY_TEXT;
|
|
2930
|
+
},
|
|
2931
|
+
parse: {
|
|
2932
|
+
sync(_value, _ctx, _data) {
|
|
2933
|
+
return {};
|
|
2934
|
+
},
|
|
2935
|
+
async async(_value, _ctx, _data) {
|
|
2936
|
+
return {};
|
|
2937
|
+
},
|
|
2938
|
+
stream(_value, _ctx, _data) {
|
|
2939
|
+
return {};
|
|
2940
|
+
}
|
|
2941
|
+
},
|
|
2942
|
+
serialize(_node, _ctx, _data) {
|
|
2943
|
+
return FACTORY_TEXT;
|
|
2944
|
+
},
|
|
2945
|
+
deserialize(_node, _ctx, _data) {
|
|
2946
|
+
return RAW_STREAM_FACTORY_TEXT;
|
|
2947
|
+
}
|
|
2948
|
+
})],
|
|
2949
|
+
test(value) {
|
|
2950
|
+
return value instanceof RawStream;
|
|
2951
|
+
},
|
|
2952
|
+
parse: {
|
|
2953
|
+
sync(value, ctx, _data) {
|
|
2954
|
+
const factory = value.hint === "text" ? RAW_STREAM_FACTORY_TEXT : RAW_STREAM_FACTORY_BINARY;
|
|
2955
|
+
return {
|
|
2956
|
+
hint: ctx.parse(value.hint),
|
|
2957
|
+
factory: ctx.parse(factory),
|
|
2958
|
+
stream: ctx.parse(re())
|
|
2959
|
+
};
|
|
2960
|
+
},
|
|
2961
|
+
async async(value, ctx, _data) {
|
|
2962
|
+
const factory = value.hint === "text" ? RAW_STREAM_FACTORY_TEXT : RAW_STREAM_FACTORY_BINARY;
|
|
2963
|
+
const encodedStream = value.hint === "text" ? toTextStream(value.stream) : toBinaryStream(value.stream);
|
|
2964
|
+
return {
|
|
2965
|
+
hint: await ctx.parse(value.hint),
|
|
2966
|
+
factory: await ctx.parse(factory),
|
|
2967
|
+
stream: await ctx.parse(encodedStream)
|
|
2968
|
+
};
|
|
2969
|
+
},
|
|
2970
|
+
stream(value, ctx, _data) {
|
|
2971
|
+
const factory = value.hint === "text" ? RAW_STREAM_FACTORY_TEXT : RAW_STREAM_FACTORY_BINARY;
|
|
2972
|
+
const encodedStream = value.hint === "text" ? toTextStream(value.stream) : toBinaryStream(value.stream);
|
|
2973
|
+
return {
|
|
2974
|
+
hint: ctx.parse(value.hint),
|
|
2975
|
+
factory: ctx.parse(factory),
|
|
2976
|
+
stream: ctx.parse(encodedStream)
|
|
2977
|
+
};
|
|
2978
|
+
}
|
|
2979
|
+
},
|
|
2980
|
+
serialize(node, ctx, _data) {
|
|
2981
|
+
return "(" + ctx.serialize(node.factory) + ")(" + ctx.serialize(node.stream) + ")";
|
|
2982
|
+
},
|
|
2983
|
+
deserialize(node, ctx, _data) {
|
|
2984
|
+
const stream = ctx.deserialize(node.stream);
|
|
2985
|
+
return ctx.deserialize(node.hint) === "text" ? RAW_STREAM_FACTORY_CONSTRUCTOR_TEXT(stream) : RAW_STREAM_FACTORY_CONSTRUCTOR_BINARY(stream);
|
|
2986
|
+
}
|
|
2987
|
+
});
|
|
2988
|
+
// @__NO_SIDE_EFFECTS__
|
|
2989
|
+
function createRawStreamRPCPlugin(onRawStream) {
|
|
2990
|
+
let nextStreamId = 1;
|
|
2991
|
+
return /* @__PURE__ */ ai({
|
|
2992
|
+
tag: "tss/RawStream",
|
|
2993
|
+
test(value) {
|
|
2994
|
+
return value instanceof RawStream;
|
|
2995
|
+
},
|
|
2996
|
+
parse: {
|
|
2997
|
+
async async(value, ctx, _data) {
|
|
2998
|
+
const streamId = nextStreamId++;
|
|
2999
|
+
onRawStream(streamId, value.stream);
|
|
3000
|
+
return { streamId: await ctx.parse(streamId) };
|
|
3001
|
+
},
|
|
3002
|
+
stream(value, ctx, _data) {
|
|
3003
|
+
const streamId = nextStreamId++;
|
|
3004
|
+
onRawStream(streamId, value.stream);
|
|
3005
|
+
return { streamId: ctx.parse(streamId) };
|
|
3006
|
+
}
|
|
3007
|
+
},
|
|
3008
|
+
serialize() {
|
|
3009
|
+
throw new Error("RawStreamRPCPlugin.serialize should not be called. RPC uses JSON serialization, not JS code generation.");
|
|
3010
|
+
},
|
|
3011
|
+
deserialize() {
|
|
3012
|
+
throw new Error("RawStreamRPCPlugin.deserialize should not be called. Use createRawStreamDeserializePlugin on client.");
|
|
3013
|
+
}
|
|
3014
|
+
});
|
|
3015
|
+
}
|
|
3016
|
+
const ShallowErrorPlugin = /* @__PURE__ */ ai({
|
|
3017
|
+
tag: "$TSR/Error",
|
|
3018
|
+
test(value) {
|
|
3019
|
+
return value instanceof Error;
|
|
3020
|
+
},
|
|
3021
|
+
parse: {
|
|
3022
|
+
sync(value, ctx) {
|
|
3023
|
+
return { message: ctx.parse(value.message) };
|
|
3024
|
+
},
|
|
3025
|
+
async async(value, ctx) {
|
|
3026
|
+
return { message: await ctx.parse(value.message) };
|
|
3027
|
+
},
|
|
3028
|
+
stream(value, ctx) {
|
|
3029
|
+
return { message: ctx.parse(value.message) };
|
|
3030
|
+
}
|
|
3031
|
+
},
|
|
3032
|
+
serialize(node, ctx) {
|
|
3033
|
+
return "new Error(" + ctx.serialize(node.message) + ")";
|
|
3034
|
+
},
|
|
3035
|
+
deserialize(node, ctx) {
|
|
3036
|
+
return new Error(ctx.deserialize(node.message));
|
|
3037
|
+
}
|
|
3038
|
+
});
|
|
3039
|
+
var n = {}, P = (e) => new ReadableStream({ start: (r) => {
|
|
3040
|
+
e.on({ next: (a) => {
|
|
3041
|
+
try {
|
|
3042
|
+
r.enqueue(a);
|
|
3043
|
+
} catch (t) {
|
|
3044
|
+
}
|
|
3045
|
+
}, throw: (a) => {
|
|
3046
|
+
r.error(a);
|
|
3047
|
+
}, return: () => {
|
|
3048
|
+
try {
|
|
3049
|
+
r.close();
|
|
3050
|
+
} catch (a) {
|
|
3051
|
+
}
|
|
3052
|
+
} });
|
|
3053
|
+
} }), x2 = ai({ tag: "seroval-plugins/web/ReadableStreamFactory", test(e) {
|
|
3054
|
+
return e === n;
|
|
3055
|
+
}, parse: { sync() {
|
|
3056
|
+
return n;
|
|
3057
|
+
}, async async() {
|
|
3058
|
+
return await Promise.resolve(n);
|
|
3059
|
+
}, stream() {
|
|
3060
|
+
return n;
|
|
3061
|
+
} }, serialize() {
|
|
3062
|
+
return P.toString();
|
|
3063
|
+
}, deserialize() {
|
|
3064
|
+
return n;
|
|
3065
|
+
} });
|
|
3066
|
+
function w(e) {
|
|
3067
|
+
let r = re(), a = e.getReader();
|
|
3068
|
+
async function t() {
|
|
3069
|
+
try {
|
|
3070
|
+
let s = await a.read();
|
|
3071
|
+
s.done ? r.return(s.value) : (r.next(s.value), await t());
|
|
3072
|
+
} catch (s) {
|
|
3073
|
+
r.throw(s);
|
|
3074
|
+
}
|
|
3075
|
+
}
|
|
3076
|
+
return t().catch(() => {
|
|
3077
|
+
}), r;
|
|
3078
|
+
}
|
|
3079
|
+
var ee = ai({ tag: "seroval/plugins/web/ReadableStream", extends: [x2], test(e) {
|
|
3080
|
+
return typeof ReadableStream == "undefined" ? false : e instanceof ReadableStream;
|
|
3081
|
+
}, parse: { sync(e, r) {
|
|
3082
|
+
return { factory: r.parse(n), stream: r.parse(re()) };
|
|
3083
|
+
}, async async(e, r) {
|
|
3084
|
+
return { factory: await r.parse(n), stream: await r.parse(w(e)) };
|
|
3085
|
+
}, stream(e, r) {
|
|
3086
|
+
return { factory: r.parse(n), stream: r.parse(w(e)) };
|
|
3087
|
+
} }, serialize(e, r) {
|
|
3088
|
+
return "(" + r.serialize(e.factory) + ")(" + r.serialize(e.stream) + ")";
|
|
3089
|
+
}, deserialize(e, r) {
|
|
3090
|
+
let a = r.deserialize(e.stream);
|
|
3091
|
+
return P(a);
|
|
3092
|
+
} }), p = ee;
|
|
3093
|
+
const defaultSerovalPlugins = [
|
|
3094
|
+
ShallowErrorPlugin,
|
|
3095
|
+
RawStreamSSRPlugin,
|
|
3096
|
+
p
|
|
3097
|
+
];
|
|
3098
|
+
async function getStartManifest(matchedRoutes) {
|
|
3099
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-C7Upe2TI.mjs");
|
|
3100
|
+
const startManifest = tsrStartManifest();
|
|
3101
|
+
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
|
|
3102
|
+
rootRoute.assets = rootRoute.assets || [];
|
|
3103
|
+
let injectedHeadScripts;
|
|
3104
|
+
return {
|
|
3105
|
+
manifest: {
|
|
3106
|
+
inlineCss: startManifest.inlineCss,
|
|
3107
|
+
routes: Object.fromEntries(Object.entries(startManifest.routes).flatMap(([k2, v2]) => {
|
|
3108
|
+
const result = {};
|
|
3109
|
+
let hasData = false;
|
|
3110
|
+
if (v2.preloads && v2.preloads.length > 0) {
|
|
3111
|
+
result["preloads"] = v2.preloads;
|
|
3112
|
+
hasData = true;
|
|
3113
|
+
}
|
|
3114
|
+
if (v2.assets && v2.assets.length > 0) {
|
|
3115
|
+
result["assets"] = v2.assets;
|
|
3116
|
+
hasData = true;
|
|
3117
|
+
}
|
|
3118
|
+
if (!hasData) return [];
|
|
3119
|
+
return [[k2, result]];
|
|
3120
|
+
}))
|
|
3121
|
+
},
|
|
3122
|
+
clientEntry: startManifest.clientEntry,
|
|
3123
|
+
injectedHeadScripts
|
|
3124
|
+
};
|
|
3125
|
+
}
|
|
3126
|
+
const manifest = {};
|
|
3127
|
+
async function getServerFnById(id, access) {
|
|
3128
|
+
const serverFnInfo = manifest[id];
|
|
3129
|
+
if (!serverFnInfo) {
|
|
3130
|
+
throw new Error("Server function info not found for " + id);
|
|
3131
|
+
}
|
|
3132
|
+
const fnModule = serverFnInfo.module ?? await serverFnInfo.importer();
|
|
3133
|
+
if (!fnModule) {
|
|
3134
|
+
throw new Error("Server function module not resolved for " + id);
|
|
3135
|
+
}
|
|
3136
|
+
const action = fnModule[serverFnInfo.functionName];
|
|
3137
|
+
if (!action) {
|
|
3138
|
+
throw new Error("Server function module export not resolved for serverFn ID: " + id);
|
|
3139
|
+
}
|
|
3140
|
+
return action;
|
|
3141
|
+
}
|
|
3142
|
+
var TSS_FORMDATA_CONTEXT = "__TSS_CONTEXT";
|
|
3143
|
+
var TSS_SERVER_FUNCTION = /* @__PURE__ */ Symbol.for("TSS_SERVER_FUNCTION");
|
|
3144
|
+
var X_TSS_SERIALIZED = "x-tss-serialized";
|
|
3145
|
+
var X_TSS_RAW_RESPONSE = "x-tss-raw";
|
|
3146
|
+
var TSS_CONTENT_TYPE_FRAMED = "application/x-tss-framed";
|
|
3147
|
+
var FrameType = {
|
|
3148
|
+
JSON: 0,
|
|
3149
|
+
CHUNK: 1,
|
|
3150
|
+
END: 2,
|
|
3151
|
+
ERROR: 3
|
|
3152
|
+
};
|
|
3153
|
+
var FRAME_HEADER_SIZE = 9;
|
|
3154
|
+
var TSS_CONTENT_TYPE_FRAMED_VERSIONED = `${TSS_CONTENT_TYPE_FRAMED}; v=1`;
|
|
3155
|
+
function isSafeKey(key) {
|
|
3156
|
+
return key !== "__proto__" && key !== "constructor" && key !== "prototype";
|
|
3157
|
+
}
|
|
3158
|
+
function safeObjectMerge(target, source) {
|
|
3159
|
+
const result = /* @__PURE__ */ Object.create(null);
|
|
3160
|
+
if (target) {
|
|
3161
|
+
for (const key of Object.keys(target)) if (isSafeKey(key)) result[key] = target[key];
|
|
3162
|
+
}
|
|
3163
|
+
if (source && typeof source === "object") {
|
|
3164
|
+
for (const key of Object.keys(source)) if (isSafeKey(key)) result[key] = source[key];
|
|
3165
|
+
}
|
|
3166
|
+
return result;
|
|
3167
|
+
}
|
|
3168
|
+
function createNullProtoObject(source) {
|
|
3169
|
+
if (!source) return /* @__PURE__ */ Object.create(null);
|
|
3170
|
+
const obj = /* @__PURE__ */ Object.create(null);
|
|
3171
|
+
for (const key of Object.keys(source)) if (isSafeKey(key)) obj[key] = source[key];
|
|
3172
|
+
return obj;
|
|
3173
|
+
}
|
|
3174
|
+
var GLOBAL_STORAGE_KEY = /* @__PURE__ */ Symbol.for("tanstack-start:start-storage-context");
|
|
3175
|
+
var globalObj = globalThis;
|
|
3176
|
+
if (!globalObj[GLOBAL_STORAGE_KEY]) globalObj[GLOBAL_STORAGE_KEY] = new AsyncLocalStorage();
|
|
3177
|
+
var startStorage = globalObj[GLOBAL_STORAGE_KEY];
|
|
3178
|
+
async function runWithStartContext(context, fn2) {
|
|
3179
|
+
return startStorage.run(context, fn2);
|
|
3180
|
+
}
|
|
3181
|
+
function getStartContext(opts) {
|
|
3182
|
+
const context = startStorage.getStore();
|
|
3183
|
+
if (!context && opts?.throwIfNotFound !== false) throw new Error(`No Start context found in AsyncLocalStorage. Make sure you are using the function within the server runtime.`);
|
|
3184
|
+
return context;
|
|
3185
|
+
}
|
|
3186
|
+
var getStartOptions = () => getStartContext().startOptions;
|
|
3187
|
+
function splitSetCookieString(cookiesString) {
|
|
3188
|
+
if (Array.isArray(cookiesString)) return cookiesString.flatMap((c2) => splitSetCookieString(c2));
|
|
3189
|
+
if (typeof cookiesString !== "string") return [];
|
|
3190
|
+
const cookiesStrings = [];
|
|
3191
|
+
let pos = 0;
|
|
3192
|
+
let start2;
|
|
3193
|
+
let ch;
|
|
3194
|
+
let lastComma;
|
|
3195
|
+
let nextStart;
|
|
3196
|
+
let cookiesSeparatorFound;
|
|
3197
|
+
const skipWhitespace = () => {
|
|
3198
|
+
while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) pos += 1;
|
|
3199
|
+
return pos < cookiesString.length;
|
|
3200
|
+
};
|
|
3201
|
+
const notSpecialChar = () => {
|
|
3202
|
+
ch = cookiesString.charAt(pos);
|
|
3203
|
+
return ch !== "=" && ch !== ";" && ch !== ",";
|
|
3204
|
+
};
|
|
3205
|
+
while (pos < cookiesString.length) {
|
|
3206
|
+
start2 = pos;
|
|
3207
|
+
cookiesSeparatorFound = false;
|
|
3208
|
+
while (skipWhitespace()) {
|
|
3209
|
+
ch = cookiesString.charAt(pos);
|
|
3210
|
+
if (ch === ",") {
|
|
3211
|
+
lastComma = pos;
|
|
3212
|
+
pos += 1;
|
|
3213
|
+
skipWhitespace();
|
|
3214
|
+
nextStart = pos;
|
|
3215
|
+
while (pos < cookiesString.length && notSpecialChar()) pos += 1;
|
|
3216
|
+
if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
|
|
3217
|
+
cookiesSeparatorFound = true;
|
|
3218
|
+
pos = nextStart;
|
|
3219
|
+
cookiesStrings.push(cookiesString.slice(start2, lastComma));
|
|
3220
|
+
start2 = pos;
|
|
3221
|
+
} else pos = lastComma + 1;
|
|
3222
|
+
} else pos += 1;
|
|
3223
|
+
}
|
|
3224
|
+
if (!cookiesSeparatorFound || pos >= cookiesString.length) cookiesStrings.push(cookiesString.slice(start2));
|
|
3225
|
+
}
|
|
3226
|
+
return cookiesStrings;
|
|
3227
|
+
}
|
|
3228
|
+
function toHeadersInstance(init) {
|
|
3229
|
+
if (init instanceof Headers) return init;
|
|
3230
|
+
else if (Array.isArray(init)) return new Headers(init);
|
|
3231
|
+
else if (typeof init === "object") return new Headers(init);
|
|
3232
|
+
else return null;
|
|
3233
|
+
}
|
|
3234
|
+
function mergeHeaders(...headers) {
|
|
3235
|
+
return headers.reduce((acc, header) => {
|
|
3236
|
+
const headersInstance = toHeadersInstance(header);
|
|
3237
|
+
if (!headersInstance) return acc;
|
|
3238
|
+
for (const [key, value] of headersInstance.entries()) if (key === "set-cookie") splitSetCookieString(value).forEach((cookie) => acc.append("set-cookie", cookie));
|
|
3239
|
+
else acc.set(key, value);
|
|
3240
|
+
return acc;
|
|
3241
|
+
}, new Headers());
|
|
3242
|
+
}
|
|
3243
|
+
function dehydrateSsrMatchId(id) {
|
|
3244
|
+
return id.replaceAll("/", "\0");
|
|
3245
|
+
}
|
|
3246
|
+
function flattenMiddlewares(middlewares, maxDepth = 100) {
|
|
3247
|
+
const seen = /* @__PURE__ */ new Set();
|
|
3248
|
+
const flattened = [];
|
|
3249
|
+
const recurse = (middleware, depth) => {
|
|
3250
|
+
if (depth > maxDepth) throw new Error(`Middleware nesting depth exceeded maximum of ${maxDepth}. Check for circular references.`);
|
|
3251
|
+
middleware.forEach((m2) => {
|
|
3252
|
+
if (m2.options.middleware) recurse(m2.options.middleware, depth + 1);
|
|
3253
|
+
if (!seen.has(m2)) {
|
|
3254
|
+
seen.add(m2);
|
|
3255
|
+
flattened.push(m2);
|
|
3256
|
+
}
|
|
3257
|
+
});
|
|
3258
|
+
};
|
|
3259
|
+
recurse(middlewares, 0);
|
|
3260
|
+
return flattened;
|
|
3261
|
+
}
|
|
3262
|
+
var createMiddleware = (options, __opts) => {
|
|
3263
|
+
const resolvedOptions = {
|
|
3264
|
+
type: "request",
|
|
3265
|
+
...__opts || options
|
|
3266
|
+
};
|
|
3267
|
+
return {
|
|
3268
|
+
options: resolvedOptions,
|
|
3269
|
+
middleware: (middleware) => {
|
|
3270
|
+
return createMiddleware({}, Object.assign(resolvedOptions, { middleware }));
|
|
3271
|
+
},
|
|
3272
|
+
inputValidator: (inputValidator) => {
|
|
3273
|
+
return createMiddleware({}, Object.assign(resolvedOptions, { inputValidator }));
|
|
3274
|
+
},
|
|
3275
|
+
client: (client) => {
|
|
3276
|
+
return createMiddleware({}, Object.assign(resolvedOptions, { client }));
|
|
3277
|
+
},
|
|
3278
|
+
server: (server2) => {
|
|
3279
|
+
return createMiddleware({}, Object.assign(resolvedOptions, { server: server2 }));
|
|
3280
|
+
}
|
|
3281
|
+
};
|
|
3282
|
+
};
|
|
3283
|
+
var innerCreateCsrfMiddleware = (opts = {}) => {
|
|
3284
|
+
const middleware = createMiddleware().server(async (ctx) => {
|
|
3285
|
+
const csrfCtx = ctx;
|
|
3286
|
+
if (opts.filter && !await opts.filter(csrfCtx)) return ctx.next();
|
|
3287
|
+
if (await isCsrfRequestAllowed(opts, csrfCtx)) return ctx.next();
|
|
3288
|
+
return getFailureResponse(opts, csrfCtx);
|
|
3289
|
+
});
|
|
3290
|
+
return middleware;
|
|
3291
|
+
};
|
|
3292
|
+
var createCsrfMiddleware = innerCreateCsrfMiddleware;
|
|
3293
|
+
async function isCsrfRequestAllowed(opts, ctx) {
|
|
3294
|
+
const result = await getCsrfRequestValidationResult(opts, ctx);
|
|
3295
|
+
return result === true || result === void 0 && opts.allowRequestsWithoutOriginCheck === true;
|
|
3296
|
+
}
|
|
3297
|
+
async function getCsrfRequestValidationResult(opts, ctx) {
|
|
3298
|
+
const fetchSite = ctx.request.headers.get("Sec-Fetch-Site");
|
|
3299
|
+
if (fetchSite !== null) return matchValue(opts.secFetchSite ?? "same-origin", fetchSite, ctx);
|
|
3300
|
+
const origin = ctx.request.headers.get("Origin");
|
|
3301
|
+
if (origin !== null) {
|
|
3302
|
+
if (opts.origin) return matchValue(opts.origin, origin, ctx);
|
|
3303
|
+
return origin === new URL(ctx.request.url).origin;
|
|
3304
|
+
}
|
|
3305
|
+
const referer = ctx.request.headers.get("Referer");
|
|
3306
|
+
if (referer === null || opts.referer === false) return;
|
|
3307
|
+
if (typeof opts.referer === "function") return opts.referer(referer, ctx);
|
|
3308
|
+
if (opts.origin) {
|
|
3309
|
+
const refererOrigin = getOriginFromUrl(referer);
|
|
3310
|
+
return refererOrigin !== void 0 && matchValue(opts.origin, refererOrigin, ctx);
|
|
3311
|
+
}
|
|
3312
|
+
return isRefererSameOrigin(referer, new URL(ctx.request.url).origin);
|
|
3313
|
+
}
|
|
3314
|
+
async function matchValue(matcher, value, ctx) {
|
|
3315
|
+
if (typeof matcher === "function") return matcher(value, ctx);
|
|
3316
|
+
if (Array.isArray(matcher)) return matcher.includes(value);
|
|
3317
|
+
return value === matcher;
|
|
3318
|
+
}
|
|
3319
|
+
function getOriginFromUrl(url) {
|
|
3320
|
+
try {
|
|
3321
|
+
return new URL(url).origin;
|
|
3322
|
+
} catch {
|
|
3323
|
+
return;
|
|
3324
|
+
}
|
|
3325
|
+
}
|
|
3326
|
+
function isRefererSameOrigin(referer, requestOrigin) {
|
|
3327
|
+
if (referer === requestOrigin) return true;
|
|
3328
|
+
if (!referer.startsWith(requestOrigin)) return false;
|
|
3329
|
+
if (referer.length === requestOrigin.length) return true;
|
|
3330
|
+
const code = referer.charCodeAt(requestOrigin.length);
|
|
3331
|
+
return code === 47 || code === 63 || code === 35;
|
|
3332
|
+
}
|
|
3333
|
+
async function getFailureResponse(opts, ctx) {
|
|
3334
|
+
if (typeof opts.failureResponse === "function") return opts.failureResponse(ctx);
|
|
3335
|
+
return opts.failureResponse?.clone() ?? new Response("Forbidden", {
|
|
3336
|
+
status: 403
|
|
3337
|
+
});
|
|
3338
|
+
}
|
|
3339
|
+
function getDefaultSerovalPlugins() {
|
|
3340
|
+
return [...getStartOptions()?.serializationAdapters?.map(makeSerovalPlugin) ?? [], ...defaultSerovalPlugins];
|
|
3341
|
+
}
|
|
3342
|
+
var textEncoder = new TextEncoder();
|
|
3343
|
+
var EMPTY_PAYLOAD = new Uint8Array(0);
|
|
3344
|
+
function encodeFrame(type, streamId, payload) {
|
|
3345
|
+
const frame = new Uint8Array(FRAME_HEADER_SIZE + payload.length);
|
|
3346
|
+
frame[0] = type;
|
|
3347
|
+
frame[1] = streamId >>> 24 & 255;
|
|
3348
|
+
frame[2] = streamId >>> 16 & 255;
|
|
3349
|
+
frame[3] = streamId >>> 8 & 255;
|
|
3350
|
+
frame[4] = streamId & 255;
|
|
3351
|
+
frame[5] = payload.length >>> 24 & 255;
|
|
3352
|
+
frame[6] = payload.length >>> 16 & 255;
|
|
3353
|
+
frame[7] = payload.length >>> 8 & 255;
|
|
3354
|
+
frame[8] = payload.length & 255;
|
|
3355
|
+
frame.set(payload, FRAME_HEADER_SIZE);
|
|
3356
|
+
return frame;
|
|
3357
|
+
}
|
|
3358
|
+
function encodeJSONFrame(json) {
|
|
3359
|
+
return encodeFrame(FrameType.JSON, 0, textEncoder.encode(json));
|
|
3360
|
+
}
|
|
3361
|
+
function encodeChunkFrame(streamId, chunk) {
|
|
3362
|
+
return encodeFrame(FrameType.CHUNK, streamId, chunk);
|
|
3363
|
+
}
|
|
3364
|
+
function encodeEndFrame(streamId) {
|
|
3365
|
+
return encodeFrame(FrameType.END, streamId, EMPTY_PAYLOAD);
|
|
3366
|
+
}
|
|
3367
|
+
function encodeErrorFrame(streamId, error) {
|
|
3368
|
+
const message = error instanceof Error ? error.message : String(error ?? "Unknown error");
|
|
3369
|
+
return encodeFrame(FrameType.ERROR, streamId, textEncoder.encode(message));
|
|
3370
|
+
}
|
|
3371
|
+
function createMultiplexedStream(jsonStream, rawStreams, lateStreamSource) {
|
|
3372
|
+
let controller;
|
|
3373
|
+
let cancelled = false;
|
|
3374
|
+
const readers = [];
|
|
3375
|
+
const enqueue = (frame) => {
|
|
3376
|
+
if (cancelled) return false;
|
|
3377
|
+
try {
|
|
3378
|
+
controller.enqueue(frame);
|
|
3379
|
+
return true;
|
|
3380
|
+
} catch {
|
|
3381
|
+
return false;
|
|
3382
|
+
}
|
|
3383
|
+
};
|
|
3384
|
+
const errorOutput = (error) => {
|
|
3385
|
+
if (cancelled) return;
|
|
3386
|
+
cancelled = true;
|
|
3387
|
+
try {
|
|
3388
|
+
controller.error(error);
|
|
3389
|
+
} catch {
|
|
3390
|
+
}
|
|
3391
|
+
for (const reader of readers) reader.cancel().catch(() => {
|
|
3392
|
+
});
|
|
3393
|
+
};
|
|
3394
|
+
async function pumpRawStream(streamId, stream) {
|
|
3395
|
+
const reader = stream.getReader();
|
|
3396
|
+
readers.push(reader);
|
|
3397
|
+
try {
|
|
3398
|
+
while (!cancelled) {
|
|
3399
|
+
const { done, value } = await reader.read();
|
|
3400
|
+
if (done) {
|
|
3401
|
+
enqueue(encodeEndFrame(streamId));
|
|
3402
|
+
return;
|
|
3403
|
+
}
|
|
3404
|
+
if (!enqueue(encodeChunkFrame(streamId, value))) return;
|
|
3405
|
+
}
|
|
3406
|
+
} catch (error) {
|
|
3407
|
+
enqueue(encodeErrorFrame(streamId, error));
|
|
3408
|
+
} finally {
|
|
3409
|
+
reader.releaseLock();
|
|
3410
|
+
}
|
|
3411
|
+
}
|
|
3412
|
+
async function pumpJSON() {
|
|
3413
|
+
const reader = jsonStream.getReader();
|
|
3414
|
+
readers.push(reader);
|
|
3415
|
+
try {
|
|
3416
|
+
while (!cancelled) {
|
|
3417
|
+
const { done, value } = await reader.read();
|
|
3418
|
+
if (done) return;
|
|
3419
|
+
if (!enqueue(encodeJSONFrame(value))) return;
|
|
3420
|
+
}
|
|
3421
|
+
} catch (error) {
|
|
3422
|
+
errorOutput(error);
|
|
3423
|
+
throw error;
|
|
3424
|
+
} finally {
|
|
3425
|
+
reader.releaseLock();
|
|
3426
|
+
}
|
|
3427
|
+
}
|
|
3428
|
+
async function pumpLateStreams() {
|
|
3429
|
+
if (!lateStreamSource) return [];
|
|
3430
|
+
const lateStreamPumps = [];
|
|
3431
|
+
const reader = lateStreamSource.getReader();
|
|
3432
|
+
readers.push(reader);
|
|
3433
|
+
try {
|
|
3434
|
+
while (!cancelled) {
|
|
3435
|
+
const { done, value } = await reader.read();
|
|
3436
|
+
if (done) break;
|
|
3437
|
+
lateStreamPumps.push(pumpRawStream(value.id, value.stream));
|
|
3438
|
+
}
|
|
3439
|
+
} finally {
|
|
3440
|
+
reader.releaseLock();
|
|
3441
|
+
}
|
|
3442
|
+
return lateStreamPumps;
|
|
3443
|
+
}
|
|
3444
|
+
return new ReadableStream({
|
|
3445
|
+
async start(ctrl) {
|
|
3446
|
+
controller = ctrl;
|
|
3447
|
+
const pumps = [pumpJSON()];
|
|
3448
|
+
for (const [streamId, stream] of rawStreams) pumps.push(pumpRawStream(streamId, stream));
|
|
3449
|
+
if (lateStreamSource) pumps.push(pumpLateStreams());
|
|
3450
|
+
try {
|
|
3451
|
+
const latePumps = (await Promise.all(pumps)).find(Array.isArray);
|
|
3452
|
+
if (latePumps && latePumps.length > 0) await Promise.all(latePumps);
|
|
3453
|
+
if (!cancelled) try {
|
|
3454
|
+
controller.close();
|
|
3455
|
+
} catch {
|
|
3456
|
+
}
|
|
3457
|
+
} catch {
|
|
3458
|
+
}
|
|
3459
|
+
},
|
|
3460
|
+
cancel() {
|
|
3461
|
+
cancelled = true;
|
|
3462
|
+
for (const reader of readers) reader.cancel().catch(() => {
|
|
3463
|
+
});
|
|
3464
|
+
readers.length = 0;
|
|
3465
|
+
}
|
|
3466
|
+
});
|
|
3467
|
+
}
|
|
3468
|
+
var serovalPlugins = void 0;
|
|
3469
|
+
var FORM_DATA_CONTENT_TYPES = ["multipart/form-data", "application/x-www-form-urlencoded"];
|
|
3470
|
+
var MAX_PAYLOAD_SIZE = 1e6;
|
|
3471
|
+
var handleServerAction = async ({ request, context, serverFnId }) => {
|
|
3472
|
+
const methodUpper = request.method.toUpperCase();
|
|
3473
|
+
const url = new URL(request.url);
|
|
3474
|
+
const action = await getServerFnById(serverFnId);
|
|
3475
|
+
if (action.method && methodUpper !== action.method) return new Response(`expected ${action.method} method. Got ${methodUpper}`, {
|
|
3476
|
+
status: 405,
|
|
3477
|
+
headers: { Allow: action.method }
|
|
3478
|
+
});
|
|
3479
|
+
const isServerFn = request.headers.get("x-tsr-serverFn") === "true";
|
|
3480
|
+
if (!serovalPlugins) serovalPlugins = getDefaultSerovalPlugins();
|
|
3481
|
+
const contentType = request.headers.get("Content-Type");
|
|
3482
|
+
function parsePayload(payload) {
|
|
3483
|
+
return Pu(payload, { plugins: serovalPlugins });
|
|
3484
|
+
}
|
|
3485
|
+
return await (async () => {
|
|
3486
|
+
try {
|
|
3487
|
+
let serializeResult = function(res2) {
|
|
3488
|
+
let nonStreamingBody = void 0;
|
|
3489
|
+
const alsResponse = getResponse();
|
|
3490
|
+
if (res2 !== void 0) {
|
|
3491
|
+
const rawStreams = /* @__PURE__ */ new Map();
|
|
3492
|
+
let initialPhase = true;
|
|
3493
|
+
let lateStreamWriter;
|
|
3494
|
+
let lateStreamReadable = void 0;
|
|
3495
|
+
const pendingLateStreams = [];
|
|
3496
|
+
const plugins = [/* @__PURE__ */ createRawStreamRPCPlugin((id, stream) => {
|
|
3497
|
+
if (initialPhase) {
|
|
3498
|
+
rawStreams.set(id, stream);
|
|
3499
|
+
return;
|
|
3500
|
+
}
|
|
3501
|
+
if (lateStreamWriter) {
|
|
3502
|
+
lateStreamWriter.write({
|
|
3503
|
+
id,
|
|
3504
|
+
stream
|
|
3505
|
+
}).catch(() => {
|
|
3506
|
+
});
|
|
3507
|
+
return;
|
|
3508
|
+
}
|
|
3509
|
+
pendingLateStreams.push({
|
|
3510
|
+
id,
|
|
3511
|
+
stream
|
|
3512
|
+
});
|
|
3513
|
+
}), ...serovalPlugins || []];
|
|
3514
|
+
let done = false;
|
|
3515
|
+
const callbacks = {
|
|
3516
|
+
onParse: (value) => {
|
|
3517
|
+
nonStreamingBody = value;
|
|
3518
|
+
},
|
|
3519
|
+
onDone: () => {
|
|
3520
|
+
done = true;
|
|
3521
|
+
},
|
|
3522
|
+
onError: (error) => {
|
|
3523
|
+
throw error;
|
|
3524
|
+
}
|
|
3525
|
+
};
|
|
3526
|
+
iu(res2, {
|
|
3527
|
+
refs: /* @__PURE__ */ new Map(),
|
|
3528
|
+
plugins,
|
|
3529
|
+
onParse(value) {
|
|
3530
|
+
callbacks.onParse(value);
|
|
3531
|
+
},
|
|
3532
|
+
onDone() {
|
|
3533
|
+
callbacks.onDone();
|
|
3534
|
+
},
|
|
3535
|
+
onError: (error) => {
|
|
3536
|
+
callbacks.onError(error);
|
|
3537
|
+
}
|
|
3538
|
+
});
|
|
3539
|
+
initialPhase = false;
|
|
3540
|
+
if (done && rawStreams.size === 0) return new Response(nonStreamingBody ? JSON.stringify(nonStreamingBody) : void 0, {
|
|
3541
|
+
status: alsResponse.status,
|
|
3542
|
+
statusText: alsResponse.statusText,
|
|
3543
|
+
headers: {
|
|
3544
|
+
"Content-Type": "application/json",
|
|
3545
|
+
[X_TSS_SERIALIZED]: "true"
|
|
3546
|
+
}
|
|
3547
|
+
});
|
|
3548
|
+
const { readable, writable } = new TransformStream();
|
|
3549
|
+
lateStreamReadable = readable;
|
|
3550
|
+
lateStreamWriter = writable.getWriter();
|
|
3551
|
+
for (const registration of pendingLateStreams) lateStreamWriter.write(registration).catch(() => {
|
|
3552
|
+
});
|
|
3553
|
+
pendingLateStreams.length = 0;
|
|
3554
|
+
const multiplexedStream = createMultiplexedStream(new ReadableStream({
|
|
3555
|
+
start(controller) {
|
|
3556
|
+
callbacks.onParse = (value) => {
|
|
3557
|
+
controller.enqueue(JSON.stringify(value) + "\n");
|
|
3558
|
+
};
|
|
3559
|
+
callbacks.onDone = () => {
|
|
3560
|
+
try {
|
|
3561
|
+
controller.close();
|
|
3562
|
+
} catch {
|
|
3563
|
+
}
|
|
3564
|
+
lateStreamWriter?.close().catch(() => {
|
|
3565
|
+
}).finally(() => {
|
|
3566
|
+
lateStreamWriter = void 0;
|
|
3567
|
+
});
|
|
3568
|
+
};
|
|
3569
|
+
callbacks.onError = (error) => {
|
|
3570
|
+
controller.error(error);
|
|
3571
|
+
lateStreamWriter?.abort(error).catch(() => {
|
|
3572
|
+
}).finally(() => {
|
|
3573
|
+
lateStreamWriter = void 0;
|
|
3574
|
+
});
|
|
3575
|
+
};
|
|
3576
|
+
if (nonStreamingBody !== void 0) callbacks.onParse(nonStreamingBody);
|
|
3577
|
+
if (done) callbacks.onDone();
|
|
3578
|
+
},
|
|
3579
|
+
cancel() {
|
|
3580
|
+
lateStreamWriter?.abort().catch(() => {
|
|
3581
|
+
});
|
|
3582
|
+
lateStreamWriter = void 0;
|
|
3583
|
+
}
|
|
3584
|
+
}), rawStreams, lateStreamReadable);
|
|
3585
|
+
return new Response(multiplexedStream, {
|
|
3586
|
+
status: alsResponse.status,
|
|
3587
|
+
statusText: alsResponse.statusText,
|
|
3588
|
+
headers: {
|
|
3589
|
+
"Content-Type": TSS_CONTENT_TYPE_FRAMED_VERSIONED,
|
|
3590
|
+
[X_TSS_SERIALIZED]: "true"
|
|
3591
|
+
}
|
|
3592
|
+
});
|
|
3593
|
+
}
|
|
3594
|
+
return new Response(void 0, {
|
|
3595
|
+
status: alsResponse.status,
|
|
3596
|
+
statusText: alsResponse.statusText
|
|
3597
|
+
});
|
|
3598
|
+
};
|
|
3599
|
+
let res = await (async () => {
|
|
3600
|
+
if (FORM_DATA_CONTENT_TYPES.some((type) => contentType && contentType.includes(type))) {
|
|
3601
|
+
if (methodUpper === "GET") {
|
|
3602
|
+
if (false) ;
|
|
3603
|
+
invariant();
|
|
3604
|
+
}
|
|
3605
|
+
const formData = await request.formData();
|
|
3606
|
+
const serializedContext = formData.get(TSS_FORMDATA_CONTEXT);
|
|
3607
|
+
formData.delete(TSS_FORMDATA_CONTEXT);
|
|
3608
|
+
const params = {
|
|
3609
|
+
context,
|
|
3610
|
+
data: formData,
|
|
3611
|
+
method: methodUpper
|
|
3612
|
+
};
|
|
3613
|
+
if (typeof serializedContext === "string") try {
|
|
3614
|
+
const deserializedContext = Pu(JSON.parse(serializedContext), { plugins: serovalPlugins });
|
|
3615
|
+
if (typeof deserializedContext === "object" && deserializedContext) params.context = safeObjectMerge(deserializedContext, context);
|
|
3616
|
+
} catch (e) {
|
|
3617
|
+
if (false) ;
|
|
3618
|
+
}
|
|
3619
|
+
return await action(params);
|
|
3620
|
+
}
|
|
3621
|
+
if (methodUpper === "GET") {
|
|
3622
|
+
const payloadParam = url.searchParams.get("payload");
|
|
3623
|
+
if (payloadParam && payloadParam.length > MAX_PAYLOAD_SIZE) throw new Error("Payload too large");
|
|
3624
|
+
const payload2 = payloadParam ? parsePayload(JSON.parse(payloadParam)) : {};
|
|
3625
|
+
payload2.context = safeObjectMerge(payload2.context, context);
|
|
3626
|
+
payload2.method = methodUpper;
|
|
3627
|
+
return await action(payload2);
|
|
3628
|
+
}
|
|
3629
|
+
let jsonPayload;
|
|
3630
|
+
if (contentType?.includes("application/json")) jsonPayload = await request.json();
|
|
3631
|
+
const payload = jsonPayload ? parsePayload(jsonPayload) : {};
|
|
3632
|
+
payload.context = safeObjectMerge(payload.context, context);
|
|
3633
|
+
payload.method = methodUpper;
|
|
3634
|
+
return await action(payload);
|
|
3635
|
+
})();
|
|
3636
|
+
const unwrapped = res.result || res.error;
|
|
3637
|
+
if (isNotFound(res)) res = isNotFoundResponse(res);
|
|
3638
|
+
if (!isServerFn) return unwrapped;
|
|
3639
|
+
if (unwrapped instanceof Response) {
|
|
3640
|
+
if (isRedirect(unwrapped)) return unwrapped;
|
|
3641
|
+
unwrapped.headers.set(X_TSS_RAW_RESPONSE, "true");
|
|
3642
|
+
return unwrapped;
|
|
3643
|
+
}
|
|
3644
|
+
return serializeResult(res);
|
|
3645
|
+
} catch (error) {
|
|
3646
|
+
if (error instanceof Response) return error;
|
|
3647
|
+
if (isNotFound(error)) return isNotFoundResponse(error);
|
|
3648
|
+
console.info();
|
|
3649
|
+
console.info("Server Fn Error!");
|
|
3650
|
+
console.info();
|
|
3651
|
+
console.error(error);
|
|
3652
|
+
console.info();
|
|
3653
|
+
const serializedError = JSON.stringify(await Promise.resolve(su(error, {
|
|
3654
|
+
refs: /* @__PURE__ */ new Map(),
|
|
3655
|
+
plugins: serovalPlugins
|
|
3656
|
+
})));
|
|
3657
|
+
const response = getResponse();
|
|
3658
|
+
return new Response(serializedError, {
|
|
3659
|
+
status: response.status ?? 500,
|
|
3660
|
+
statusText: response.statusText,
|
|
3661
|
+
headers: {
|
|
3662
|
+
"Content-Type": "application/json",
|
|
3663
|
+
[X_TSS_SERIALIZED]: "true"
|
|
3664
|
+
}
|
|
3665
|
+
});
|
|
3666
|
+
}
|
|
3667
|
+
})();
|
|
3668
|
+
};
|
|
3669
|
+
function isNotFoundResponse(error) {
|
|
3670
|
+
const { headers, ...rest } = error;
|
|
3671
|
+
return new Response(JSON.stringify(rest), {
|
|
3672
|
+
status: 404,
|
|
3673
|
+
headers: {
|
|
3674
|
+
"Content-Type": "application/json",
|
|
3675
|
+
...headers || {}
|
|
3676
|
+
}
|
|
3677
|
+
});
|
|
3678
|
+
}
|
|
3679
|
+
var LINK_PARAM_TOKEN_RE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
3680
|
+
var PRELOAD_AS_VALUES = /* @__PURE__ */ new Set([
|
|
3681
|
+
"fetch",
|
|
3682
|
+
"font",
|
|
3683
|
+
"image",
|
|
3684
|
+
"script",
|
|
3685
|
+
"style",
|
|
3686
|
+
"track"
|
|
3687
|
+
]);
|
|
3688
|
+
function buildLinkParam(name, value) {
|
|
3689
|
+
if (value === void 0) return name;
|
|
3690
|
+
if (LINK_PARAM_TOKEN_RE.test(value)) return `${name}=${value}`;
|
|
3691
|
+
return `${name}=${JSON.stringify(value)}`;
|
|
3692
|
+
}
|
|
3693
|
+
function serializeEarlyHint(hint) {
|
|
3694
|
+
const parts = [`<${hint.href}>`, buildLinkParam("rel", hint.rel)];
|
|
3695
|
+
if (hint.as) parts.push(buildLinkParam("as", hint.as));
|
|
3696
|
+
if (hint.crossOrigin !== void 0) parts.push(buildLinkParam("crossorigin", hint.crossOrigin || void 0));
|
|
3697
|
+
if (hint.type) parts.push(buildLinkParam("type", hint.type));
|
|
3698
|
+
if (hint.integrity) parts.push(buildLinkParam("integrity", hint.integrity));
|
|
3699
|
+
if (hint.referrerPolicy) parts.push(buildLinkParam("referrerpolicy", hint.referrerPolicy));
|
|
3700
|
+
if (hint.fetchPriority) parts.push(buildLinkParam("fetchpriority", hint.fetchPriority));
|
|
3701
|
+
return parts.join("; ");
|
|
3702
|
+
}
|
|
3703
|
+
function getStringAttr(attrs, name, fallbackName) {
|
|
3704
|
+
const value = attrs?.[name] ?? (fallbackName ? attrs?.[fallbackName] : void 0);
|
|
3705
|
+
return typeof value === "string" ? value : void 0;
|
|
3706
|
+
}
|
|
3707
|
+
function getPreloadAs(attrs) {
|
|
3708
|
+
const as = getStringAttr(attrs, "as");
|
|
3709
|
+
return as && PRELOAD_AS_VALUES.has(as) ? as : void 0;
|
|
3710
|
+
}
|
|
3711
|
+
function addEarlyHintFetchAttrs(hint, attrs) {
|
|
3712
|
+
const crossOrigin = getStringAttr(attrs, "crossOrigin", "crossorigin");
|
|
3713
|
+
const type = getStringAttr(attrs, "type");
|
|
3714
|
+
const integrity = getStringAttr(attrs, "integrity");
|
|
3715
|
+
const referrerPolicy = getStringAttr(attrs, "referrerPolicy", "referrerpolicy");
|
|
3716
|
+
const fetchPriority = getStringAttr(attrs, "fetchPriority", "fetchpriority");
|
|
3717
|
+
if (crossOrigin !== void 0) hint.crossOrigin = crossOrigin;
|
|
3718
|
+
if (type) hint.type = type;
|
|
3719
|
+
if (integrity) hint.integrity = integrity;
|
|
3720
|
+
if (referrerPolicy) hint.referrerPolicy = referrerPolicy;
|
|
3721
|
+
if (fetchPriority) hint.fetchPriority = fetchPriority;
|
|
3722
|
+
}
|
|
3723
|
+
function linkAttrsToEarlyHint(attrs) {
|
|
3724
|
+
const href = getStringAttr(attrs, "href");
|
|
3725
|
+
const rel = getStringAttr(attrs, "rel");
|
|
3726
|
+
if (!href || !rel) return void 0;
|
|
3727
|
+
const relTokens = rel.split(/\s+/);
|
|
3728
|
+
let hintRel;
|
|
3729
|
+
let hintAs;
|
|
3730
|
+
if (relTokens.includes("modulepreload")) {
|
|
3731
|
+
hintRel = "modulepreload";
|
|
3732
|
+
hintAs = "script";
|
|
3733
|
+
} else if (relTokens.includes("stylesheet")) {
|
|
3734
|
+
hintRel = "preload";
|
|
3735
|
+
hintAs = "style";
|
|
3736
|
+
} else if (relTokens.includes("preload")) {
|
|
3737
|
+
hintAs = getPreloadAs(attrs);
|
|
3738
|
+
if (!hintAs) return void 0;
|
|
3739
|
+
hintRel = "preload";
|
|
3740
|
+
} else if (relTokens.includes("preconnect")) {
|
|
3741
|
+
hintRel = "preconnect";
|
|
3742
|
+
hintAs = void 0;
|
|
3743
|
+
} else if (relTokens.includes("dns-prefetch")) {
|
|
3744
|
+
hintRel = "dns-prefetch";
|
|
3745
|
+
hintAs = void 0;
|
|
3746
|
+
}
|
|
3747
|
+
if (!hintRel) return void 0;
|
|
3748
|
+
const hint = {
|
|
3749
|
+
href,
|
|
3750
|
+
rel: hintRel
|
|
3751
|
+
};
|
|
3752
|
+
if (hintAs) hint.as = hintAs;
|
|
3753
|
+
addEarlyHintFetchAttrs(hint, attrs);
|
|
3754
|
+
return hint;
|
|
3755
|
+
}
|
|
3756
|
+
function collectStaticHintsFromManifest(manifest2, matchedRoutes) {
|
|
3757
|
+
const hints = [];
|
|
3758
|
+
for (const route of matchedRoutes) {
|
|
3759
|
+
const routeManifest = manifest2.routes[route.id];
|
|
3760
|
+
if (!routeManifest) continue;
|
|
3761
|
+
for (const link of routeManifest.preloads ?? []) {
|
|
3762
|
+
const { href, crossOrigin } = resolveManifestAssetLink(link);
|
|
3763
|
+
const hint = {
|
|
3764
|
+
href,
|
|
3765
|
+
rel: "modulepreload",
|
|
3766
|
+
as: "script"
|
|
3767
|
+
};
|
|
3768
|
+
if (crossOrigin !== void 0) hint.crossOrigin = crossOrigin;
|
|
3769
|
+
hints.push(hint);
|
|
3770
|
+
}
|
|
3771
|
+
for (const asset of routeManifest.assets ?? []) {
|
|
3772
|
+
if (asset.tag !== "link") continue;
|
|
3773
|
+
const stylesheetHref = getStylesheetHref(asset);
|
|
3774
|
+
if (stylesheetHref) {
|
|
3775
|
+
if (manifest2.inlineCss?.styles[stylesheetHref] !== void 0) continue;
|
|
3776
|
+
const hint2 = {
|
|
3777
|
+
href: stylesheetHref,
|
|
3778
|
+
rel: "preload",
|
|
3779
|
+
as: "style"
|
|
3780
|
+
};
|
|
3781
|
+
addEarlyHintFetchAttrs(hint2, asset.attrs);
|
|
3782
|
+
hints.push(hint2);
|
|
3783
|
+
continue;
|
|
3784
|
+
}
|
|
3785
|
+
const hint = linkAttrsToEarlyHint(asset.attrs);
|
|
3786
|
+
if (hint) hints.push(hint);
|
|
3787
|
+
}
|
|
3788
|
+
}
|
|
3789
|
+
return hints;
|
|
3790
|
+
}
|
|
3791
|
+
function collectDynamicHintsFromMatches(matches) {
|
|
3792
|
+
const hints = [];
|
|
3793
|
+
for (const match of matches) {
|
|
3794
|
+
const links = match.links;
|
|
3795
|
+
if (!Array.isArray(links)) continue;
|
|
3796
|
+
for (const link of links) {
|
|
3797
|
+
const hint = linkAttrsToEarlyHint(link);
|
|
3798
|
+
if (hint) hints.push(hint);
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
return hints;
|
|
3802
|
+
}
|
|
3803
|
+
function createEarlyHintsEvent(opts) {
|
|
3804
|
+
const nextHints = [];
|
|
3805
|
+
const nextLinks = [];
|
|
3806
|
+
for (const hint of opts.hints) {
|
|
3807
|
+
const link = serializeEarlyHint(hint);
|
|
3808
|
+
if (opts.sentLinks.has(link)) continue;
|
|
3809
|
+
opts.sentLinks.add(link);
|
|
3810
|
+
opts.sentHints.push(hint);
|
|
3811
|
+
nextHints.push(hint);
|
|
3812
|
+
nextLinks.push(link);
|
|
3813
|
+
}
|
|
3814
|
+
if (!nextHints.length && opts.phase !== "dynamic") return void 0;
|
|
3815
|
+
return {
|
|
3816
|
+
phase: opts.phase,
|
|
3817
|
+
hints: nextHints,
|
|
3818
|
+
links: nextLinks,
|
|
3819
|
+
allHints: opts.sentHints.slice(),
|
|
3820
|
+
allLinks: Array.from(opts.sentLinks)
|
|
3821
|
+
};
|
|
3822
|
+
}
|
|
3823
|
+
function createResponseLinkHeaderEntries(opts) {
|
|
3824
|
+
for (const hint of opts.hints) {
|
|
3825
|
+
const link = serializeEarlyHint(hint);
|
|
3826
|
+
if (opts.sentLinks.has(link)) continue;
|
|
3827
|
+
opts.sentLinks.add(link);
|
|
3828
|
+
opts.entries.push({
|
|
3829
|
+
phase: opts.phase,
|
|
3830
|
+
hint,
|
|
3831
|
+
link
|
|
3832
|
+
});
|
|
3833
|
+
}
|
|
3834
|
+
}
|
|
3835
|
+
function getResponseLinkHeaderEntries(opts) {
|
|
3836
|
+
if (!opts.filter) return opts.entries.map((entry) => entry.link);
|
|
3837
|
+
try {
|
|
3838
|
+
const links = [];
|
|
3839
|
+
for (const entry of opts.entries) if (opts.filter(entry)) links.push(entry.link);
|
|
3840
|
+
return links;
|
|
3841
|
+
} catch (err) {
|
|
3842
|
+
console.error("Error filtering response Link headers:", err);
|
|
3843
|
+
return [];
|
|
3844
|
+
}
|
|
3845
|
+
}
|
|
3846
|
+
function notifyEarlyHints(phase, event, onEarlyHints) {
|
|
3847
|
+
try {
|
|
3848
|
+
const result = onEarlyHints(event);
|
|
3849
|
+
if (result) Promise.resolve(result).catch((err) => {
|
|
3850
|
+
console.error(`Error sending ${phase} early hints:`, err);
|
|
3851
|
+
});
|
|
3852
|
+
} catch (err) {
|
|
3853
|
+
console.error(`Error sending ${phase} early hints:`, err);
|
|
3854
|
+
}
|
|
3855
|
+
}
|
|
3856
|
+
function getResponseLinkHeaderFilter(responseLinkHeader) {
|
|
3857
|
+
if (typeof responseLinkHeader !== "object") return;
|
|
3858
|
+
return responseLinkHeader.filter;
|
|
3859
|
+
}
|
|
3860
|
+
function appendResponseLinkHeaders(opts) {
|
|
3861
|
+
for (const link of getResponseLinkHeaderEntries(opts)) opts.responseHeaders.append("Link", link);
|
|
3862
|
+
}
|
|
3863
|
+
function collectResponseLinkHeaderEntries(opts) {
|
|
3864
|
+
for (let index = 0; index < opts.event.hints.length; index++) opts.entries.push({
|
|
3865
|
+
phase: opts.phase,
|
|
3866
|
+
hint: opts.event.hints[index],
|
|
3867
|
+
link: opts.event.links[index]
|
|
3868
|
+
});
|
|
3869
|
+
}
|
|
3870
|
+
function collectEarlyHintsPhase(opts) {
|
|
3871
|
+
const event = opts.onEarlyHints ? createEarlyHintsEvent({
|
|
3872
|
+
phase: opts.phase,
|
|
3873
|
+
hints: opts.hints,
|
|
3874
|
+
sentLinks: opts.sentLinks,
|
|
3875
|
+
sentHints: opts.sentHints
|
|
3876
|
+
}) : void 0;
|
|
3877
|
+
if (event) notifyEarlyHints(opts.phase, event, opts.onEarlyHints);
|
|
3878
|
+
if (!opts.responseLinkHeaderEntries) return;
|
|
3879
|
+
if (event) {
|
|
3880
|
+
collectResponseLinkHeaderEntries({
|
|
3881
|
+
phase: opts.phase,
|
|
3882
|
+
event,
|
|
3883
|
+
entries: opts.responseLinkHeaderEntries
|
|
3884
|
+
});
|
|
3885
|
+
return;
|
|
3886
|
+
}
|
|
3887
|
+
createResponseLinkHeaderEntries({
|
|
3888
|
+
phase: opts.phase,
|
|
3889
|
+
hints: opts.hints,
|
|
3890
|
+
sentLinks: opts.sentLinks,
|
|
3891
|
+
entries: opts.responseLinkHeaderEntries
|
|
3892
|
+
});
|
|
3893
|
+
}
|
|
3894
|
+
function createEarlyHintsCollector(opts) {
|
|
3895
|
+
if (!opts?.onEarlyHints && !opts?.responseLinkHeader) return;
|
|
3896
|
+
const sentLinks = /* @__PURE__ */ new Set();
|
|
3897
|
+
const sentHints = opts.onEarlyHints ? new Array() : void 0;
|
|
3898
|
+
const responseLinkHeaderEntries = opts.responseLinkHeader ? new Array() : void 0;
|
|
3899
|
+
const responseLinkHeaderFilter = getResponseLinkHeaderFilter(opts.responseLinkHeader);
|
|
3900
|
+
return {
|
|
3901
|
+
collectStatic: ({ manifest: manifest2, matchedRoutes }) => {
|
|
3902
|
+
if (!matchedRoutes?.length) return;
|
|
3903
|
+
collectEarlyHintsPhase({
|
|
3904
|
+
phase: "static",
|
|
3905
|
+
hints: collectStaticHintsFromManifest(manifest2, matchedRoutes),
|
|
3906
|
+
sentLinks,
|
|
3907
|
+
sentHints,
|
|
3908
|
+
onEarlyHints: opts.onEarlyHints,
|
|
3909
|
+
responseLinkHeaderEntries
|
|
3910
|
+
});
|
|
3911
|
+
},
|
|
3912
|
+
collectDynamic: (matches) => {
|
|
3913
|
+
collectEarlyHintsPhase({
|
|
3914
|
+
phase: "dynamic",
|
|
3915
|
+
hints: collectDynamicHintsFromMatches(matches),
|
|
3916
|
+
sentLinks,
|
|
3917
|
+
sentHints,
|
|
3918
|
+
onEarlyHints: opts.onEarlyHints,
|
|
3919
|
+
responseLinkHeaderEntries
|
|
3920
|
+
});
|
|
3921
|
+
},
|
|
3922
|
+
appendResponseHeaders: (headers) => {
|
|
3923
|
+
if (!responseLinkHeaderEntries?.length) return;
|
|
3924
|
+
appendResponseLinkHeaders({
|
|
3925
|
+
responseHeaders: headers,
|
|
3926
|
+
entries: responseLinkHeaderEntries,
|
|
3927
|
+
filter: responseLinkHeaderFilter
|
|
3928
|
+
});
|
|
3929
|
+
}
|
|
3930
|
+
};
|
|
3931
|
+
}
|
|
3932
|
+
function normalizeTransformAssetResult(result) {
|
|
3933
|
+
if (typeof result === "string") return { href: result };
|
|
3934
|
+
return result;
|
|
3935
|
+
}
|
|
3936
|
+
function escapeCssString(value) {
|
|
3937
|
+
return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\a ").replace(/\r/g, "\\d ").replace(/\f/g, "\\c ");
|
|
3938
|
+
}
|
|
3939
|
+
async function transformInlineCssTemplate(options) {
|
|
3940
|
+
const { strings, urls } = options.template;
|
|
3941
|
+
if (strings.length !== urls.length + 1) throw new Error(`TanStack Start inlineCss template for ${options.stylesheetHref} is invalid`);
|
|
3942
|
+
let css = strings[0];
|
|
3943
|
+
for (let index = 0; index < urls.length; index++) {
|
|
3944
|
+
const transformed = normalizeTransformAssetResult(await options.transformFn({
|
|
3945
|
+
kind: "css-url",
|
|
3946
|
+
url: urls[index],
|
|
3947
|
+
stylesheetHref: options.stylesheetHref
|
|
3948
|
+
}));
|
|
3949
|
+
css += escapeCssString(transformed.href) + strings[index + 1];
|
|
3950
|
+
}
|
|
3951
|
+
return css;
|
|
3952
|
+
}
|
|
3953
|
+
async function transformInlineCssStyles(inlineCss, transformFn) {
|
|
3954
|
+
const transformedStyles = {};
|
|
3955
|
+
const transformedEntries = await Promise.all(Object.entries(inlineCss.styles).map(async ([stylesheetHref, css]) => {
|
|
3956
|
+
const template = inlineCss.templates?.[stylesheetHref];
|
|
3957
|
+
return [stylesheetHref, template ? await transformInlineCssTemplate({
|
|
3958
|
+
stylesheetHref,
|
|
3959
|
+
template,
|
|
3960
|
+
transformFn
|
|
3961
|
+
}) : css];
|
|
3962
|
+
}));
|
|
3963
|
+
for (const [stylesheetHref, css] of transformedEntries) transformedStyles[stylesheetHref] = css;
|
|
3964
|
+
return {
|
|
3965
|
+
styles: transformedStyles,
|
|
3966
|
+
...inlineCss.templates ? { templates: inlineCss.templates } : {}
|
|
3967
|
+
};
|
|
3968
|
+
}
|
|
3969
|
+
function resolveTransformAssetsCrossOrigin(config, kind) {
|
|
3970
|
+
if (!config) return void 0;
|
|
3971
|
+
if (typeof config === "string") return config;
|
|
3972
|
+
return config[kind];
|
|
3973
|
+
}
|
|
3974
|
+
function isObjectShorthand(transform) {
|
|
3975
|
+
return "prefix" in transform;
|
|
3976
|
+
}
|
|
3977
|
+
function resolveTransformAssetsConfig(transform) {
|
|
3978
|
+
if (typeof transform === "string") {
|
|
3979
|
+
const prefix = transform;
|
|
3980
|
+
return {
|
|
3981
|
+
type: "transform",
|
|
3982
|
+
transformFn: ({ url }) => ({ href: `${prefix}${url}` }),
|
|
3983
|
+
cache: true
|
|
3984
|
+
};
|
|
3985
|
+
}
|
|
3986
|
+
if (typeof transform === "function") return {
|
|
3987
|
+
type: "transform",
|
|
3988
|
+
transformFn: transform,
|
|
3989
|
+
cache: true
|
|
3990
|
+
};
|
|
3991
|
+
if (isObjectShorthand(transform)) {
|
|
3992
|
+
const { prefix, crossOrigin } = transform;
|
|
3993
|
+
return {
|
|
3994
|
+
type: "transform",
|
|
3995
|
+
transformFn: ({ url, kind }) => {
|
|
3996
|
+
const href = `${prefix}${url}`;
|
|
3997
|
+
if (kind === "clientEntry" || kind === "css-url") return { href };
|
|
3998
|
+
const co2 = resolveTransformAssetsCrossOrigin(crossOrigin, kind);
|
|
3999
|
+
return co2 ? {
|
|
4000
|
+
href,
|
|
4001
|
+
crossOrigin: co2
|
|
4002
|
+
} : { href };
|
|
4003
|
+
},
|
|
4004
|
+
cache: true
|
|
4005
|
+
};
|
|
4006
|
+
}
|
|
4007
|
+
if ("createTransform" in transform && transform.createTransform) return {
|
|
4008
|
+
type: "createTransform",
|
|
4009
|
+
createTransform: transform.createTransform,
|
|
4010
|
+
cache: transform.cache !== false
|
|
4011
|
+
};
|
|
4012
|
+
return {
|
|
4013
|
+
type: "transform",
|
|
4014
|
+
transformFn: typeof transform.transform === "string" ? (({ url }) => ({ href: `${transform.transform}${url}` })) : transform.transform,
|
|
4015
|
+
cache: transform.cache !== false
|
|
4016
|
+
};
|
|
4017
|
+
}
|
|
4018
|
+
function buildClientEntryScriptTag(clientEntry, injectedHeadScripts) {
|
|
4019
|
+
let script = `import(${JSON.stringify(clientEntry)})`;
|
|
4020
|
+
if (injectedHeadScripts) script = `${injectedHeadScripts};${script}`;
|
|
4021
|
+
return {
|
|
4022
|
+
tag: "script",
|
|
4023
|
+
attrs: {
|
|
4024
|
+
type: "module",
|
|
4025
|
+
async: true
|
|
4026
|
+
},
|
|
4027
|
+
children: script
|
|
4028
|
+
};
|
|
4029
|
+
}
|
|
4030
|
+
function assignManifestAssetLink(link, next) {
|
|
4031
|
+
if (typeof link === "string") return next.crossOrigin ? next : next.href;
|
|
4032
|
+
return next.crossOrigin ? next : { href: next.href };
|
|
4033
|
+
}
|
|
4034
|
+
async function transformManifestAssets(source, transformFn, _opts) {
|
|
4035
|
+
const manifest2 = structuredClone(source.manifest);
|
|
4036
|
+
if (!(_opts?.inlineCss !== false)) delete manifest2.inlineCss;
|
|
4037
|
+
else if (manifest2.inlineCss) manifest2.inlineCss = await transformInlineCssStyles(manifest2.inlineCss, transformFn);
|
|
4038
|
+
for (const route of Object.values(manifest2.routes)) {
|
|
4039
|
+
if (route.preloads) route.preloads = await Promise.all(route.preloads.map(async (link) => {
|
|
4040
|
+
const result = normalizeTransformAssetResult(await transformFn({
|
|
4041
|
+
url: resolveManifestAssetLink(link).href,
|
|
4042
|
+
kind: "modulepreload"
|
|
4043
|
+
}));
|
|
4044
|
+
return assignManifestAssetLink(link, {
|
|
4045
|
+
href: result.href,
|
|
4046
|
+
crossOrigin: result.crossOrigin
|
|
4047
|
+
});
|
|
4048
|
+
}));
|
|
4049
|
+
if (route.assets && !manifest2.inlineCss) {
|
|
4050
|
+
for (const asset of route.assets) if (asset.tag === "link" && asset.attrs?.href) {
|
|
4051
|
+
const rel = asset.attrs.rel;
|
|
4052
|
+
if (!(typeof rel === "string" ? rel.split(/\s+/) : []).includes("stylesheet")) continue;
|
|
4053
|
+
const result = normalizeTransformAssetResult(await transformFn({
|
|
4054
|
+
url: asset.attrs.href,
|
|
4055
|
+
kind: "stylesheet"
|
|
4056
|
+
}));
|
|
4057
|
+
asset.attrs.href = result.href;
|
|
4058
|
+
if (result.crossOrigin) asset.attrs.crossOrigin = result.crossOrigin;
|
|
4059
|
+
else delete asset.attrs.crossOrigin;
|
|
4060
|
+
}
|
|
4061
|
+
}
|
|
4062
|
+
}
|
|
4063
|
+
const transformedClientEntry = normalizeTransformAssetResult(await transformFn({
|
|
4064
|
+
url: source.clientEntry,
|
|
4065
|
+
kind: "clientEntry"
|
|
4066
|
+
}));
|
|
4067
|
+
const rootRoute = manifest2.routes[rootRouteId] = manifest2.routes[rootRouteId] || {};
|
|
4068
|
+
rootRoute.assets = rootRoute.assets || [];
|
|
4069
|
+
rootRoute.assets.push(buildClientEntryScriptTag(transformedClientEntry.href, source.injectedHeadScripts));
|
|
4070
|
+
return manifest2;
|
|
4071
|
+
}
|
|
4072
|
+
function buildManifestWithClientEntry(source, opts) {
|
|
4073
|
+
const scriptTag = buildClientEntryScriptTag(source.clientEntry, source.injectedHeadScripts);
|
|
4074
|
+
const baseRootRoute = source.manifest.routes[rootRouteId];
|
|
4075
|
+
const routes = {
|
|
4076
|
+
...source.manifest.routes,
|
|
4077
|
+
[rootRouteId]: {
|
|
4078
|
+
...baseRootRoute,
|
|
4079
|
+
assets: [...baseRootRoute?.assets || [], scriptTag]
|
|
4080
|
+
}
|
|
4081
|
+
};
|
|
4082
|
+
return {
|
|
4083
|
+
...opts?.inlineCss === false ? {} : { inlineCss: structuredClone(source.manifest.inlineCss) },
|
|
4084
|
+
routes
|
|
4085
|
+
};
|
|
4086
|
+
}
|
|
4087
|
+
function getStaticHandlerInlineCssDefault(handlerInlineCss) {
|
|
4088
|
+
if (typeof handlerInlineCss === "function") return;
|
|
4089
|
+
return handlerInlineCss ?? true;
|
|
4090
|
+
}
|
|
4091
|
+
async function resolveInlineCssForRequest(opts) {
|
|
4092
|
+
if (opts.requestInlineCss !== void 0) return opts.requestInlineCss;
|
|
4093
|
+
if (typeof opts.handlerInlineCss === "function") return await opts.handlerInlineCss({ request: opts.request });
|
|
4094
|
+
return opts.handlerInlineCss ?? true;
|
|
4095
|
+
}
|
|
4096
|
+
function createCachedBaseManifestLoader(loadBaseManifest) {
|
|
4097
|
+
let baseManifestPromise;
|
|
4098
|
+
return () => {
|
|
4099
|
+
if (!baseManifestPromise) baseManifestPromise = loadBaseManifest().catch((error) => {
|
|
4100
|
+
baseManifestPromise = void 0;
|
|
4101
|
+
throw error;
|
|
4102
|
+
});
|
|
4103
|
+
return baseManifestPromise;
|
|
4104
|
+
};
|
|
4105
|
+
}
|
|
4106
|
+
function createFinalManifestTransformResolver(transformAssets, opts) {
|
|
4107
|
+
const transformConfig = transformAssets !== void 0 ? resolveTransformAssetsConfig(transformAssets) : void 0;
|
|
4108
|
+
const cache = transformConfig ? transformConfig.cache : true;
|
|
4109
|
+
const warmup = !!transformAssets && typeof transformAssets === "object" && "warmup" in transformAssets && transformAssets.warmup === true;
|
|
4110
|
+
let cachedCreateTransformPromise;
|
|
4111
|
+
const clearCachedCreateTransform = () => {
|
|
4112
|
+
cachedCreateTransformPromise = void 0;
|
|
4113
|
+
};
|
|
4114
|
+
return {
|
|
4115
|
+
cache,
|
|
4116
|
+
warmup,
|
|
4117
|
+
clearCachedCreateTransform,
|
|
4118
|
+
getTransformFn: async (ctx) => {
|
|
4119
|
+
if (!transformConfig) return void 0;
|
|
4120
|
+
if (transformConfig.type !== "createTransform") return transformConfig.transformFn;
|
|
4121
|
+
if (!cache || false) return transformConfig.createTransform(ctx);
|
|
4122
|
+
if (!cachedCreateTransformPromise) cachedCreateTransformPromise = Promise.resolve(transformConfig.createTransform(ctx)).catch((error) => {
|
|
4123
|
+
clearCachedCreateTransform();
|
|
4124
|
+
throw error;
|
|
4125
|
+
});
|
|
4126
|
+
return cachedCreateTransformPromise;
|
|
4127
|
+
}
|
|
4128
|
+
};
|
|
4129
|
+
}
|
|
4130
|
+
function createFinalManifestResolver(opts) {
|
|
4131
|
+
const finalManifestCache = /* @__PURE__ */ new Map();
|
|
4132
|
+
const transformResolver = createFinalManifestTransformResolver(opts.transformAssets);
|
|
4133
|
+
const handlerDefaultInlineCss = getStaticHandlerInlineCssDefault(opts.inlineCss);
|
|
4134
|
+
const getRequestManifestOptions = async (requestOpts) => {
|
|
4135
|
+
const transformFn = await transformResolver.getTransformFn({
|
|
4136
|
+
warmup: false,
|
|
4137
|
+
request: requestOpts.request
|
|
4138
|
+
});
|
|
4139
|
+
const inlineCss = await resolveInlineCssForRequest({
|
|
4140
|
+
request: requestOpts.request,
|
|
4141
|
+
handlerInlineCss: opts.inlineCss,
|
|
4142
|
+
requestInlineCss: requestOpts.requestInlineCss
|
|
4143
|
+
});
|
|
4144
|
+
return {
|
|
4145
|
+
getBaseManifest: requestOpts.getBaseManifest,
|
|
4146
|
+
transformFn,
|
|
4147
|
+
cache: transformResolver.cache,
|
|
4148
|
+
inlineCss
|
|
4149
|
+
};
|
|
4150
|
+
};
|
|
4151
|
+
const resolveRequest = async (requestOpts, cache) => {
|
|
4152
|
+
return resolveFinalManifest({
|
|
4153
|
+
...await getRequestManifestOptions(requestOpts),
|
|
4154
|
+
finalManifestCache: cache
|
|
4155
|
+
});
|
|
4156
|
+
};
|
|
4157
|
+
return {
|
|
4158
|
+
warmup: ({ getBaseManifest: getBaseManifest2 }) => warmupFinalManifest({
|
|
4159
|
+
enabled: transformResolver.warmup,
|
|
4160
|
+
handlerDefaultInlineCss,
|
|
4161
|
+
cache: transformResolver.cache,
|
|
4162
|
+
finalManifestCache,
|
|
4163
|
+
getBaseManifest: getBaseManifest2,
|
|
4164
|
+
getTransformFn: () => transformResolver.getTransformFn({ warmup: true }),
|
|
4165
|
+
onError: transformResolver.clearCachedCreateTransform
|
|
4166
|
+
}),
|
|
4167
|
+
resolveCached: (requestOpts) => resolveRequest(requestOpts, finalManifestCache),
|
|
4168
|
+
resolveUncached: (requestOpts) => resolveRequest(requestOpts, void 0)
|
|
4169
|
+
};
|
|
4170
|
+
}
|
|
4171
|
+
function getFinalManifestCacheKey(inlineCss) {
|
|
4172
|
+
return inlineCss ? "inline-css" : "linked-css";
|
|
4173
|
+
}
|
|
4174
|
+
function cacheFinalManifestPromise(cachedFinalManifestPromises, cacheKey, promise) {
|
|
4175
|
+
const cachedFinalManifestPromise = promise.catch((error) => {
|
|
4176
|
+
if (cachedFinalManifestPromises.get(cacheKey) === cachedFinalManifestPromise) cachedFinalManifestPromises.delete(cacheKey);
|
|
4177
|
+
throw error;
|
|
4178
|
+
});
|
|
4179
|
+
cachedFinalManifestPromises.set(cacheKey, cachedFinalManifestPromise);
|
|
4180
|
+
return cachedFinalManifestPromise;
|
|
4181
|
+
}
|
|
4182
|
+
function getOrCreateCachedFinalManifestPromise(cachedFinalManifestPromises, cacheKey, computeFinalManifest) {
|
|
4183
|
+
const cachedFinalManifestPromise = cachedFinalManifestPromises.get(cacheKey);
|
|
4184
|
+
if (cachedFinalManifestPromise) return cachedFinalManifestPromise;
|
|
4185
|
+
return cacheFinalManifestPromise(cachedFinalManifestPromises, cacheKey, Promise.resolve().then(computeFinalManifest));
|
|
4186
|
+
}
|
|
4187
|
+
async function buildFinalManifest(opts) {
|
|
4188
|
+
return opts.transformFn ? await transformManifestAssets(opts.base, opts.transformFn, { inlineCss: opts.inlineCss }) : buildManifestWithClientEntry(opts.base, { inlineCss: opts.inlineCss });
|
|
4189
|
+
}
|
|
4190
|
+
async function resolveFinalManifest(opts) {
|
|
4191
|
+
const computeFinalManifest = async () => {
|
|
4192
|
+
return buildFinalManifest({
|
|
4193
|
+
base: await opts.getBaseManifest(),
|
|
4194
|
+
transformFn: opts.transformFn,
|
|
4195
|
+
inlineCss: opts.inlineCss
|
|
4196
|
+
});
|
|
4197
|
+
};
|
|
4198
|
+
if (opts.finalManifestCache && (!opts.transformFn || opts.cache)) return getOrCreateCachedFinalManifestPromise(opts.finalManifestCache, getFinalManifestCacheKey(opts.inlineCss), computeFinalManifest);
|
|
4199
|
+
return computeFinalManifest();
|
|
4200
|
+
}
|
|
4201
|
+
function warmupFinalManifest(opts) {
|
|
4202
|
+
if (!opts.enabled || opts.handlerDefaultInlineCss === void 0 || !opts.cache) return;
|
|
4203
|
+
const inlineCss = opts.handlerDefaultInlineCss;
|
|
4204
|
+
const warmupPromise = getOrCreateCachedFinalManifestPromise(opts.finalManifestCache, getFinalManifestCacheKey(inlineCss), async () => {
|
|
4205
|
+
const [base, transformFn] = await Promise.all([opts.getBaseManifest(), opts.getTransformFn()]);
|
|
4206
|
+
return buildFinalManifest({
|
|
4207
|
+
base,
|
|
4208
|
+
transformFn,
|
|
4209
|
+
inlineCss
|
|
4210
|
+
});
|
|
4211
|
+
});
|
|
4212
|
+
if (opts.onError) warmupPromise.catch(opts.onError);
|
|
4213
|
+
return warmupPromise;
|
|
4214
|
+
}
|
|
4215
|
+
var ServerFunctionSerializationAdapter = createSerializationAdapter({
|
|
4216
|
+
key: "$TSS/serverfn",
|
|
4217
|
+
test: (v2) => {
|
|
4218
|
+
if (typeof v2 !== "function") return false;
|
|
4219
|
+
if (!(TSS_SERVER_FUNCTION in v2)) return false;
|
|
4220
|
+
return !!v2[TSS_SERVER_FUNCTION];
|
|
4221
|
+
},
|
|
4222
|
+
toSerializable: ({ serverFnMeta }) => ({ functionId: serverFnMeta.id }),
|
|
4223
|
+
fromSerializable: ({ functionId }) => {
|
|
4224
|
+
const fn2 = async (opts, signal) => {
|
|
4225
|
+
return (await (await getServerFnById(functionId))(opts ?? {}, signal)).result;
|
|
4226
|
+
};
|
|
4227
|
+
return fn2;
|
|
4228
|
+
}
|
|
4229
|
+
});
|
|
4230
|
+
var tsrScript_default = "self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]}";
|
|
4231
|
+
const SCOPE_ID = "tsr";
|
|
4232
|
+
const TSR_PREFIX = GLOBAL_TSR + ".router=";
|
|
4233
|
+
const P_PREFIX = GLOBAL_TSR + ".p(()=>";
|
|
4234
|
+
const P_SUFFIX = ")";
|
|
4235
|
+
function dehydrateMatch(match) {
|
|
4236
|
+
const dehydratedMatch = {
|
|
4237
|
+
i: dehydrateSsrMatchId(match.id),
|
|
4238
|
+
u: match.updatedAt,
|
|
4239
|
+
s: match.status
|
|
4240
|
+
};
|
|
4241
|
+
for (const [key, shorthand] of [
|
|
4242
|
+
["__beforeLoadContext", "b"],
|
|
4243
|
+
["loaderData", "l"],
|
|
4244
|
+
["error", "e"],
|
|
4245
|
+
["ssr", "ssr"]
|
|
4246
|
+
]) if (match[key] !== void 0) dehydratedMatch[shorthand] = match[key];
|
|
4247
|
+
if (match.globalNotFound) dehydratedMatch.g = true;
|
|
4248
|
+
return dehydratedMatch;
|
|
4249
|
+
}
|
|
4250
|
+
const INITIAL_SCRIPTS = [dn(SCOPE_ID), tsrScript_default];
|
|
4251
|
+
var ScriptBuffer = class {
|
|
4252
|
+
constructor(router) {
|
|
4253
|
+
this._scriptBarrierLifted = false;
|
|
4254
|
+
this._cleanedUp = false;
|
|
4255
|
+
this._pendingMicrotask = false;
|
|
4256
|
+
this.router = router;
|
|
4257
|
+
this._queue = INITIAL_SCRIPTS.slice();
|
|
4258
|
+
}
|
|
4259
|
+
enqueue(script) {
|
|
4260
|
+
if (this._cleanedUp) return;
|
|
4261
|
+
this._queue.push(script);
|
|
4262
|
+
if (this._scriptBarrierLifted && !this._pendingMicrotask) {
|
|
4263
|
+
this._pendingMicrotask = true;
|
|
4264
|
+
queueMicrotask(() => {
|
|
4265
|
+
this._pendingMicrotask = false;
|
|
4266
|
+
this.injectBufferedScripts();
|
|
4267
|
+
});
|
|
4268
|
+
}
|
|
4269
|
+
}
|
|
4270
|
+
liftBarrier() {
|
|
4271
|
+
if (this._scriptBarrierLifted || this._cleanedUp) return;
|
|
4272
|
+
this._scriptBarrierLifted = true;
|
|
4273
|
+
if (this._queue.length > 0 && !this._pendingMicrotask) {
|
|
4274
|
+
this._pendingMicrotask = true;
|
|
4275
|
+
queueMicrotask(() => {
|
|
4276
|
+
this._pendingMicrotask = false;
|
|
4277
|
+
this.injectBufferedScripts();
|
|
4278
|
+
});
|
|
4279
|
+
}
|
|
4280
|
+
}
|
|
4281
|
+
/**
|
|
4282
|
+
* Flushes any pending scripts synchronously.
|
|
4283
|
+
* Call this before emitting onSerializationFinished to ensure all scripts are injected.
|
|
4284
|
+
*
|
|
4285
|
+
* IMPORTANT: Only injects if the barrier has been lifted. Before the barrier is lifted,
|
|
4286
|
+
* scripts should remain in the queue so takeBufferedScripts() can retrieve them
|
|
4287
|
+
*/
|
|
4288
|
+
flush() {
|
|
4289
|
+
if (!this._scriptBarrierLifted) return;
|
|
4290
|
+
if (this._cleanedUp) return;
|
|
4291
|
+
this._pendingMicrotask = false;
|
|
4292
|
+
const scriptsToInject = this.takeAll();
|
|
4293
|
+
if (scriptsToInject && this.router?.serverSsr) this.router.serverSsr.injectScript(scriptsToInject);
|
|
4294
|
+
}
|
|
4295
|
+
takeAll() {
|
|
4296
|
+
const bufferedScripts = this._queue;
|
|
4297
|
+
this._queue = [];
|
|
4298
|
+
if (bufferedScripts.length === 0) return;
|
|
4299
|
+
if (bufferedScripts.length === 1) return bufferedScripts[0] + ";document.currentScript.remove()";
|
|
4300
|
+
return bufferedScripts.join(";") + ";document.currentScript.remove()";
|
|
4301
|
+
}
|
|
4302
|
+
injectBufferedScripts() {
|
|
4303
|
+
if (this._cleanedUp) return;
|
|
4304
|
+
if (this._queue.length === 0) return;
|
|
4305
|
+
const scriptsToInject = this.takeAll();
|
|
4306
|
+
if (scriptsToInject && this.router?.serverSsr) this.router.serverSsr.injectScript(scriptsToInject);
|
|
4307
|
+
}
|
|
4308
|
+
cleanup() {
|
|
4309
|
+
this._cleanedUp = true;
|
|
4310
|
+
this._queue = [];
|
|
4311
|
+
this.router = void 0;
|
|
4312
|
+
}
|
|
4313
|
+
};
|
|
4314
|
+
const MANIFEST_CACHE_SIZE = 100;
|
|
4315
|
+
const manifestCaches = /* @__PURE__ */ new WeakMap();
|
|
4316
|
+
const inlineCssCaches = /* @__PURE__ */ new WeakMap();
|
|
4317
|
+
function getManifestCache(manifest2) {
|
|
4318
|
+
const cache = manifestCaches.get(manifest2);
|
|
4319
|
+
if (cache) return cache;
|
|
4320
|
+
const newCache = createLRUCache(MANIFEST_CACHE_SIZE);
|
|
4321
|
+
manifestCaches.set(manifest2, newCache);
|
|
4322
|
+
return newCache;
|
|
4323
|
+
}
|
|
4324
|
+
function getInlineCssCache(manifest2) {
|
|
4325
|
+
const cache = inlineCssCaches.get(manifest2);
|
|
4326
|
+
if (cache) return cache;
|
|
4327
|
+
const newCache = createLRUCache(MANIFEST_CACHE_SIZE);
|
|
4328
|
+
inlineCssCaches.set(manifest2, newCache);
|
|
4329
|
+
return newCache;
|
|
4330
|
+
}
|
|
4331
|
+
function getInlineCssHrefsForMatches(manifest2, matches) {
|
|
4332
|
+
const styles = manifest2?.inlineCss?.styles;
|
|
4333
|
+
if (!styles) return [];
|
|
4334
|
+
const seen = /* @__PURE__ */ new Set();
|
|
4335
|
+
const hrefs = [];
|
|
4336
|
+
for (const match of matches) {
|
|
4337
|
+
const assets = manifest2?.routes[match.routeId]?.assets ?? [];
|
|
4338
|
+
for (const asset of assets) {
|
|
4339
|
+
const href = getStylesheetHref(asset);
|
|
4340
|
+
if (!href || seen.has(href) || styles[href] === void 0) continue;
|
|
4341
|
+
seen.add(href);
|
|
4342
|
+
hrefs.push(href);
|
|
4343
|
+
}
|
|
4344
|
+
}
|
|
4345
|
+
return hrefs;
|
|
4346
|
+
}
|
|
4347
|
+
function getInlineCssForHrefs(manifest2, hrefs) {
|
|
4348
|
+
const styles = manifest2.inlineCss?.styles;
|
|
4349
|
+
if (!styles || hrefs.length === 0) return void 0;
|
|
4350
|
+
const cacheKey = hrefs.join("\0");
|
|
4351
|
+
{
|
|
4352
|
+
const cached = getInlineCssCache(manifest2).get(cacheKey);
|
|
4353
|
+
if (cached !== void 0) return cached;
|
|
4354
|
+
}
|
|
4355
|
+
const css = hrefs.map((href) => styles[href]).join("");
|
|
4356
|
+
getInlineCssCache(manifest2).set(cacheKey, css);
|
|
4357
|
+
return css;
|
|
4358
|
+
}
|
|
4359
|
+
function getInlineCssAssetForMatches(manifest2, matches) {
|
|
4360
|
+
if (!manifest2?.inlineCss) return void 0;
|
|
4361
|
+
const css = getInlineCssForHrefs(manifest2, getInlineCssHrefsForMatches(manifest2, matches));
|
|
4362
|
+
return css === void 0 ? void 0 : createInlineCssStyleAsset(css);
|
|
4363
|
+
}
|
|
4364
|
+
function stripInlinedStylesheetAssets(manifest2, routes, matches) {
|
|
4365
|
+
if (!manifest2.inlineCss) return routes;
|
|
4366
|
+
const nextRoutes = {};
|
|
4367
|
+
for (const [routeId, route] of Object.entries(routes)) {
|
|
4368
|
+
const assets = route.assets?.filter((asset) => !isInlinableStylesheet(manifest2, asset));
|
|
4369
|
+
const nextRoute = { ...route };
|
|
4370
|
+
if (assets) if (assets.length > 0) nextRoute.assets = assets;
|
|
4371
|
+
else delete nextRoute.assets;
|
|
4372
|
+
nextRoutes[routeId] = nextRoute;
|
|
4373
|
+
}
|
|
4374
|
+
if (getInlineCssAssetForMatches(manifest2, matches)) {
|
|
4375
|
+
const rootRoute = nextRoutes["__root__"] ?? {};
|
|
4376
|
+
nextRoutes[rootRouteId] = {
|
|
4377
|
+
...rootRoute,
|
|
4378
|
+
assets: [createInlineCssPlaceholderAsset(), ...rootRoute.assets ?? []]
|
|
4379
|
+
};
|
|
4380
|
+
}
|
|
4381
|
+
return nextRoutes;
|
|
4382
|
+
}
|
|
4383
|
+
function attachRouterServerSsrUtils({ router, manifest: manifest2, getRequestAssets, includeUnmatchedRouteAssets = true }) {
|
|
4384
|
+
router.ssr = { get manifest() {
|
|
4385
|
+
const requestAssets = getRequestAssets?.();
|
|
4386
|
+
const inlineCssAsset = getInlineCssAssetForMatches(manifest2, router.stores.matches.get());
|
|
4387
|
+
if (!requestAssets?.length && !inlineCssAsset) return manifest2;
|
|
4388
|
+
return {
|
|
4389
|
+
...manifest2,
|
|
4390
|
+
routes: {
|
|
4391
|
+
...manifest2?.routes,
|
|
4392
|
+
[rootRouteId]: {
|
|
4393
|
+
...manifest2?.routes?.[rootRouteId],
|
|
4394
|
+
assets: [
|
|
4395
|
+
...requestAssets ?? [],
|
|
4396
|
+
...inlineCssAsset ? [inlineCssAsset] : [],
|
|
4397
|
+
...manifest2?.routes?.["__root__"]?.assets ?? []
|
|
4398
|
+
]
|
|
4399
|
+
}
|
|
4400
|
+
}
|
|
4401
|
+
};
|
|
4402
|
+
} };
|
|
4403
|
+
let _dehydrated = false;
|
|
4404
|
+
let _serializationFinished = false;
|
|
4405
|
+
const renderFinishedListeners = [];
|
|
4406
|
+
const serializationFinishedListeners = [];
|
|
4407
|
+
const scriptBuffer = new ScriptBuffer(router);
|
|
4408
|
+
let injectedHtmlBuffer = "";
|
|
4409
|
+
router.serverSsr = {
|
|
4410
|
+
injectHtml: (html) => {
|
|
4411
|
+
if (!html) return;
|
|
4412
|
+
injectedHtmlBuffer += html;
|
|
4413
|
+
router.emit({ type: "onInjectedHtml" });
|
|
4414
|
+
},
|
|
4415
|
+
injectScript: (script) => {
|
|
4416
|
+
if (!script) return;
|
|
4417
|
+
const html = `<script${router.options.ssr?.nonce ? ` nonce='${router.options.ssr.nonce}'` : ""}>${script}<\/script>`;
|
|
4418
|
+
router.serverSsr.injectHtml(html);
|
|
4419
|
+
},
|
|
4420
|
+
dehydrate: async (opts) => {
|
|
4421
|
+
if (_dehydrated) {
|
|
4422
|
+
invariant();
|
|
4423
|
+
}
|
|
4424
|
+
let matchesToDehydrate = router.stores.matches.get();
|
|
4425
|
+
if (router.isShell()) matchesToDehydrate = matchesToDehydrate.slice(0, 1);
|
|
4426
|
+
const matches = matchesToDehydrate.map(dehydrateMatch);
|
|
4427
|
+
let manifestToDehydrate = void 0;
|
|
4428
|
+
if (manifest2) {
|
|
4429
|
+
const currentRouteIdsList = matchesToDehydrate.map((m2) => m2.routeId);
|
|
4430
|
+
const manifestCacheKey = `${currentRouteIdsList.join("\0")}\0includeUnmatchedRouteAssets=${includeUnmatchedRouteAssets}`;
|
|
4431
|
+
let filteredRoutes;
|
|
4432
|
+
filteredRoutes = getManifestCache(manifest2).get(manifestCacheKey);
|
|
4433
|
+
if (!filteredRoutes) {
|
|
4434
|
+
const currentRouteIds = new Set(currentRouteIdsList);
|
|
4435
|
+
const nextFilteredRoutes = {};
|
|
4436
|
+
for (const routeId in manifest2.routes) {
|
|
4437
|
+
const routeManifest = manifest2.routes[routeId];
|
|
4438
|
+
if (currentRouteIds.has(routeId)) nextFilteredRoutes[routeId] = routeManifest;
|
|
4439
|
+
else if (includeUnmatchedRouteAssets && routeManifest.assets && routeManifest.assets.length > 0) nextFilteredRoutes[routeId] = { assets: routeManifest.assets };
|
|
4440
|
+
}
|
|
4441
|
+
filteredRoutes = stripInlinedStylesheetAssets(manifest2, nextFilteredRoutes, matchesToDehydrate);
|
|
4442
|
+
getManifestCache(manifest2).set(manifestCacheKey, filteredRoutes);
|
|
4443
|
+
}
|
|
4444
|
+
manifestToDehydrate = { routes: { ...filteredRoutes } };
|
|
4445
|
+
if (opts?.requestAssets?.length) {
|
|
4446
|
+
const existingRoot = manifestToDehydrate.routes[rootRouteId];
|
|
4447
|
+
manifestToDehydrate.routes[rootRouteId] = {
|
|
4448
|
+
...existingRoot,
|
|
4449
|
+
assets: [...opts.requestAssets, ...existingRoot?.assets ?? []]
|
|
4450
|
+
};
|
|
4451
|
+
}
|
|
4452
|
+
}
|
|
4453
|
+
const dehydratedRouter = {
|
|
4454
|
+
manifest: manifestToDehydrate,
|
|
4455
|
+
matches
|
|
4456
|
+
};
|
|
4457
|
+
const lastMatchId = matchesToDehydrate[matchesToDehydrate.length - 1]?.id;
|
|
4458
|
+
if (lastMatchId) dehydratedRouter.lastMatchId = dehydrateSsrMatchId(lastMatchId);
|
|
4459
|
+
const dehydratedData = await router.options.dehydrate?.();
|
|
4460
|
+
if (dehydratedData) dehydratedRouter.dehydratedData = dehydratedData;
|
|
4461
|
+
_dehydrated = true;
|
|
4462
|
+
const trackPlugins = { didRun: false };
|
|
4463
|
+
const serializationAdapters = router.options.serializationAdapters;
|
|
4464
|
+
const plugins = serializationAdapters ? serializationAdapters.map((t) => /* @__PURE__ */ makeSsrSerovalPlugin(t, trackPlugins)).concat(defaultSerovalPlugins) : defaultSerovalPlugins;
|
|
4465
|
+
const signalSerializationComplete = () => {
|
|
4466
|
+
_serializationFinished = true;
|
|
4467
|
+
try {
|
|
4468
|
+
serializationFinishedListeners.forEach((l) => l());
|
|
4469
|
+
router.emit({ type: "onSerializationFinished" });
|
|
4470
|
+
} catch (err) {
|
|
4471
|
+
console.error("Serialization listener error:", err);
|
|
4472
|
+
} finally {
|
|
4473
|
+
serializationFinishedListeners.length = 0;
|
|
4474
|
+
renderFinishedListeners.length = 0;
|
|
4475
|
+
}
|
|
4476
|
+
};
|
|
4477
|
+
Sn(dehydratedRouter, {
|
|
4478
|
+
refs: /* @__PURE__ */ new Map(),
|
|
4479
|
+
plugins,
|
|
4480
|
+
onSerialize: (data, initial) => {
|
|
4481
|
+
let serialized = initial ? TSR_PREFIX + data : data;
|
|
4482
|
+
if (trackPlugins.didRun) serialized = P_PREFIX + serialized + P_SUFFIX;
|
|
4483
|
+
scriptBuffer.enqueue(serialized);
|
|
4484
|
+
},
|
|
4485
|
+
onError: (err) => {
|
|
4486
|
+
console.error("Serialization error:", err);
|
|
4487
|
+
if (err && err.stack) console.error(err.stack);
|
|
4488
|
+
signalSerializationComplete();
|
|
4489
|
+
},
|
|
4490
|
+
scopeId: SCOPE_ID,
|
|
4491
|
+
onDone: () => {
|
|
4492
|
+
scriptBuffer.enqueue(GLOBAL_TSR + ".e()");
|
|
4493
|
+
scriptBuffer.flush();
|
|
4494
|
+
signalSerializationComplete();
|
|
4495
|
+
}
|
|
4496
|
+
});
|
|
4497
|
+
},
|
|
4498
|
+
isDehydrated() {
|
|
4499
|
+
return _dehydrated;
|
|
4500
|
+
},
|
|
4501
|
+
isSerializationFinished() {
|
|
4502
|
+
return _serializationFinished;
|
|
4503
|
+
},
|
|
4504
|
+
onRenderFinished: (listener) => renderFinishedListeners.push(listener),
|
|
4505
|
+
onSerializationFinished: (listener) => serializationFinishedListeners.push(listener),
|
|
4506
|
+
setRenderFinished: () => {
|
|
4507
|
+
try {
|
|
4508
|
+
renderFinishedListeners.forEach((l) => l());
|
|
4509
|
+
} catch (err) {
|
|
4510
|
+
console.error("Error in render finished listener:", err);
|
|
4511
|
+
} finally {
|
|
4512
|
+
renderFinishedListeners.length = 0;
|
|
4513
|
+
}
|
|
4514
|
+
scriptBuffer.liftBarrier();
|
|
4515
|
+
},
|
|
4516
|
+
takeBufferedScripts() {
|
|
4517
|
+
const scripts = scriptBuffer.takeAll();
|
|
4518
|
+
return {
|
|
4519
|
+
tag: "script",
|
|
4520
|
+
attrs: {
|
|
4521
|
+
nonce: router.options.ssr?.nonce,
|
|
4522
|
+
className: "$tsr",
|
|
4523
|
+
id: TSR_SCRIPT_BARRIER_ID
|
|
4524
|
+
},
|
|
4525
|
+
children: scripts
|
|
4526
|
+
};
|
|
4527
|
+
},
|
|
4528
|
+
liftScriptBarrier() {
|
|
4529
|
+
scriptBuffer.liftBarrier();
|
|
4530
|
+
},
|
|
4531
|
+
takeBufferedHtml() {
|
|
4532
|
+
if (!injectedHtmlBuffer) return;
|
|
4533
|
+
const buffered = injectedHtmlBuffer;
|
|
4534
|
+
injectedHtmlBuffer = "";
|
|
4535
|
+
return buffered;
|
|
4536
|
+
},
|
|
4537
|
+
cleanup() {
|
|
4538
|
+
if (!router.serverSsr) return;
|
|
4539
|
+
renderFinishedListeners.length = 0;
|
|
4540
|
+
serializationFinishedListeners.length = 0;
|
|
4541
|
+
injectedHtmlBuffer = "";
|
|
4542
|
+
scriptBuffer.cleanup();
|
|
4543
|
+
router.serverSsr = void 0;
|
|
4544
|
+
}
|
|
4545
|
+
};
|
|
4546
|
+
}
|
|
4547
|
+
function getOrigin(request) {
|
|
4548
|
+
try {
|
|
4549
|
+
return new URL(request.url).origin;
|
|
4550
|
+
} catch {
|
|
4551
|
+
}
|
|
4552
|
+
return "http://localhost";
|
|
4553
|
+
}
|
|
4554
|
+
function getNormalizedURL(url, base) {
|
|
4555
|
+
if (typeof url === "string") url = url.replace("\\", "%5C");
|
|
4556
|
+
const rawUrl = new URL(url, base);
|
|
4557
|
+
const { path: decodedPathname, handledProtocolRelativeURL } = decodePath(rawUrl.pathname);
|
|
4558
|
+
const searchParams = new URLSearchParams(rawUrl.search);
|
|
4559
|
+
const normalizedHref = decodedPathname + (searchParams.size > 0 ? "?" : "") + searchParams.toString() + rawUrl.hash;
|
|
4560
|
+
return {
|
|
4561
|
+
url: new URL(normalizedHref, rawUrl.origin),
|
|
4562
|
+
handledProtocolRelativeURL
|
|
4563
|
+
};
|
|
4564
|
+
}
|
|
4565
|
+
function getStartResponseHeaders(opts) {
|
|
4566
|
+
return mergeHeaders({ "Content-Type": "text/html; charset=utf-8" }, ...opts.router.stores.matches.get().map((match) => {
|
|
4567
|
+
return match.headers;
|
|
4568
|
+
}));
|
|
4569
|
+
}
|
|
4570
|
+
var entriesPromise;
|
|
4571
|
+
var defaultCsrfMiddleware = createCsrfMiddleware({ filter: (ctx) => ctx.handlerType === "serverFn" });
|
|
4572
|
+
var getCachedBaseManifest = createCachedBaseManifestLoader(() => getStartManifest());
|
|
4573
|
+
var getProdBaseManifest = () => getCachedBaseManifest();
|
|
4574
|
+
var getBaseManifest = getProdBaseManifest;
|
|
4575
|
+
var createEarlyHintsForRequest = createEarlyHintsCollector;
|
|
4576
|
+
async function loadEntries() {
|
|
4577
|
+
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
4578
|
+
import("./router-CUAfx91O.mjs").then((n2) => n2.b),
|
|
4579
|
+
Promise.resolve().then(() => start),
|
|
4580
|
+
import("../__23tanstack-start-plugin-adapters-Cwee5PKy.mjs")
|
|
4581
|
+
]);
|
|
4582
|
+
return {
|
|
4583
|
+
routerEntry,
|
|
4584
|
+
startEntry,
|
|
4585
|
+
pluginAdapters
|
|
4586
|
+
};
|
|
4587
|
+
}
|
|
4588
|
+
function getEntries() {
|
|
4589
|
+
if (!entriesPromise) entriesPromise = loadEntries();
|
|
4590
|
+
return entriesPromise;
|
|
4591
|
+
}
|
|
4592
|
+
var ROUTER_BASEPATH = "/";
|
|
4593
|
+
var SERVER_FN_BASE = "/_serverFn/";
|
|
4594
|
+
var IS_PRERENDERING = process.env.TSS_PRERENDERING === "true";
|
|
4595
|
+
var IS_SHELL_ENV = process.env.TSS_SHELL === "true";
|
|
4596
|
+
var ERR_NO_RESPONSE = "Internal Server Error";
|
|
4597
|
+
var ERR_NO_DEFER = "Internal Server Error";
|
|
4598
|
+
function throwRouteHandlerError() {
|
|
4599
|
+
throw new Error(ERR_NO_RESPONSE);
|
|
4600
|
+
}
|
|
4601
|
+
function throwIfMayNotDefer() {
|
|
4602
|
+
throw new Error(ERR_NO_DEFER);
|
|
4603
|
+
}
|
|
4604
|
+
function isSpecialResponse(value) {
|
|
4605
|
+
return value instanceof Response || isRedirect(value);
|
|
4606
|
+
}
|
|
4607
|
+
function handleCtxResult(result) {
|
|
4608
|
+
if (isSpecialResponse(result)) return { response: result };
|
|
4609
|
+
return result;
|
|
4610
|
+
}
|
|
4611
|
+
function executeMiddleware(middlewares, ctx) {
|
|
4612
|
+
let index = -1;
|
|
4613
|
+
const next = async (nextCtx) => {
|
|
4614
|
+
if (nextCtx) {
|
|
4615
|
+
if (nextCtx.context) ctx.context = safeObjectMerge(ctx.context, nextCtx.context);
|
|
4616
|
+
for (const key of Object.keys(nextCtx)) if (key !== "context") ctx[key] = nextCtx[key];
|
|
4617
|
+
}
|
|
4618
|
+
index++;
|
|
4619
|
+
const middleware = middlewares[index];
|
|
4620
|
+
if (!middleware) return ctx;
|
|
4621
|
+
let result;
|
|
4622
|
+
try {
|
|
4623
|
+
result = await middleware({
|
|
4624
|
+
...ctx,
|
|
4625
|
+
next
|
|
4626
|
+
});
|
|
4627
|
+
} catch (err) {
|
|
4628
|
+
if (isSpecialResponse(err)) {
|
|
4629
|
+
ctx.response = err;
|
|
4630
|
+
return ctx;
|
|
4631
|
+
}
|
|
4632
|
+
throw err;
|
|
4633
|
+
}
|
|
4634
|
+
const normalized = handleCtxResult(result);
|
|
4635
|
+
if (normalized) {
|
|
4636
|
+
if (normalized.response !== void 0) ctx.response = normalized.response;
|
|
4637
|
+
if (normalized.context) ctx.context = safeObjectMerge(ctx.context, normalized.context);
|
|
4638
|
+
}
|
|
4639
|
+
return ctx;
|
|
4640
|
+
};
|
|
4641
|
+
return next();
|
|
4642
|
+
}
|
|
4643
|
+
function handlerToMiddleware(handler, mayDefer = false) {
|
|
4644
|
+
if (mayDefer) return handler;
|
|
4645
|
+
return async (ctx) => {
|
|
4646
|
+
const response = await handler({
|
|
4647
|
+
...ctx,
|
|
4648
|
+
next: throwIfMayNotDefer
|
|
4649
|
+
});
|
|
4650
|
+
if (!response) throwRouteHandlerError();
|
|
4651
|
+
return response;
|
|
4652
|
+
};
|
|
4653
|
+
}
|
|
4654
|
+
function createStartHandler(cbOrOptions) {
|
|
4655
|
+
const handlerOptions = typeof cbOrOptions === "function" ? {} : cbOrOptions;
|
|
4656
|
+
const cb = typeof cbOrOptions === "function" ? cbOrOptions : cbOrOptions.handler;
|
|
4657
|
+
const finalManifestResolver = createFinalManifestResolver({
|
|
4658
|
+
...handlerOptions
|
|
4659
|
+
});
|
|
4660
|
+
const resolveManifestForRequest = finalManifestResolver.resolveCached;
|
|
4661
|
+
finalManifestResolver.warmup({ getBaseManifest: () => getBaseManifest() });
|
|
4662
|
+
const startRequestResolver = async (request, requestOpts) => {
|
|
4663
|
+
let router = null;
|
|
4664
|
+
let cbWillCleanup = false;
|
|
4665
|
+
try {
|
|
4666
|
+
const { url, handledProtocolRelativeURL } = getNormalizedURL(request.url);
|
|
4667
|
+
const href = url.pathname + url.search + url.hash;
|
|
4668
|
+
const origin = getOrigin(request);
|
|
4669
|
+
if (handledProtocolRelativeURL) return Response.redirect(url, 308);
|
|
4670
|
+
const entries = await getEntries();
|
|
4671
|
+
const hasStartInstance = !!entries.startEntry.startInstance;
|
|
4672
|
+
const startOptions = await entries.startEntry.startInstance?.getOptions() || {};
|
|
4673
|
+
const { hasPluginAdapters, pluginSerializationAdapters } = entries.pluginAdapters;
|
|
4674
|
+
const serializationAdapters = [
|
|
4675
|
+
...startOptions.serializationAdapters || [],
|
|
4676
|
+
...hasPluginAdapters ? pluginSerializationAdapters : [],
|
|
4677
|
+
ServerFunctionSerializationAdapter
|
|
4678
|
+
];
|
|
4679
|
+
const requestStartOptions = {
|
|
4680
|
+
...startOptions,
|
|
4681
|
+
requestMiddleware: hasStartInstance ? startOptions.requestMiddleware : [defaultCsrfMiddleware],
|
|
4682
|
+
serializationAdapters
|
|
4683
|
+
};
|
|
4684
|
+
const flattenedRequestMiddlewares = requestStartOptions.requestMiddleware ? flattenMiddlewares(requestStartOptions.requestMiddleware) : [];
|
|
4685
|
+
const executedRequestMiddlewares = new Set(flattenedRequestMiddlewares);
|
|
4686
|
+
const getRouter = async () => {
|
|
4687
|
+
if (router) return router;
|
|
4688
|
+
router = await entries.routerEntry.getRouter();
|
|
4689
|
+
let isShell = IS_SHELL_ENV;
|
|
4690
|
+
if (IS_PRERENDERING && !isShell) isShell = request.headers.get(HEADERS.TSS_SHELL) === "true";
|
|
4691
|
+
const history = createMemoryHistory({ initialEntries: [href] });
|
|
4692
|
+
router.update({
|
|
4693
|
+
history,
|
|
4694
|
+
isShell,
|
|
4695
|
+
isPrerendering: IS_PRERENDERING,
|
|
4696
|
+
origin: router.options.origin ?? origin,
|
|
4697
|
+
defaultSsr: requestStartOptions.defaultSsr,
|
|
4698
|
+
serializationAdapters: [...requestStartOptions.serializationAdapters, ...router.options.serializationAdapters || []],
|
|
4699
|
+
basepath: ROUTER_BASEPATH
|
|
4700
|
+
});
|
|
4701
|
+
return router;
|
|
4702
|
+
};
|
|
4703
|
+
if (SERVER_FN_BASE && url.pathname.startsWith(SERVER_FN_BASE)) {
|
|
4704
|
+
if (false) ;
|
|
4705
|
+
const serverFnId = url.pathname.slice(SERVER_FN_BASE.length).split("/")[0];
|
|
4706
|
+
if (!serverFnId) throw new Error("Invalid server action param for serverFnId");
|
|
4707
|
+
const serverFnHandler = async ({ context }) => {
|
|
4708
|
+
return runWithStartContext({
|
|
4709
|
+
getRouter,
|
|
4710
|
+
startOptions: requestStartOptions,
|
|
4711
|
+
contextAfterGlobalMiddlewares: context,
|
|
4712
|
+
request,
|
|
4713
|
+
executedRequestMiddlewares,
|
|
4714
|
+
handlerType: "serverFn"
|
|
4715
|
+
}, () => handleServerAction({
|
|
4716
|
+
request,
|
|
4717
|
+
context: requestOpts?.context,
|
|
4718
|
+
serverFnId
|
|
4719
|
+
}));
|
|
4720
|
+
};
|
|
4721
|
+
return handleRedirectResponse((await executeMiddleware([...flattenedRequestMiddlewares.map((d) => d.options.server), serverFnHandler], {
|
|
4722
|
+
request,
|
|
4723
|
+
pathname: url.pathname,
|
|
4724
|
+
handlerType: "serverFn",
|
|
4725
|
+
context: createNullProtoObject(requestOpts?.context)
|
|
4726
|
+
})).response, request, getRouter);
|
|
4727
|
+
}
|
|
4728
|
+
const executeRouter = async (serverContext, matchedRoutes) => {
|
|
4729
|
+
const acceptParts = (request.headers.get("Accept") || "*/*").split(",");
|
|
4730
|
+
if (!["*/*", "text/html"].some((mimeType) => acceptParts.some((part) => part.trim().startsWith(mimeType)))) return Response.json({ error: "Only HTML requests are supported here" }, { status: 500 });
|
|
4731
|
+
const manifest2 = await resolveManifestForRequest({
|
|
4732
|
+
request,
|
|
4733
|
+
requestInlineCss: requestOpts?.inlineCss,
|
|
4734
|
+
getBaseManifest: () => getBaseManifest(matchedRoutes)
|
|
4735
|
+
});
|
|
4736
|
+
const earlyHints = createEarlyHintsForRequest({
|
|
4737
|
+
onEarlyHints: requestOpts?.onEarlyHints,
|
|
4738
|
+
responseLinkHeader: requestOpts?.responseLinkHeader
|
|
4739
|
+
});
|
|
4740
|
+
earlyHints?.collectStatic({
|
|
4741
|
+
manifest: manifest2,
|
|
4742
|
+
matchedRoutes
|
|
4743
|
+
});
|
|
4744
|
+
const routerInstance = await getRouter();
|
|
4745
|
+
attachRouterServerSsrUtils({
|
|
4746
|
+
router: routerInstance,
|
|
4747
|
+
manifest: manifest2,
|
|
4748
|
+
getRequestAssets: () => getStartContext({ throwIfNotFound: false })?.requestAssets,
|
|
4749
|
+
includeUnmatchedRouteAssets: false
|
|
4750
|
+
});
|
|
4751
|
+
routerInstance.update({ additionalContext: { serverContext } });
|
|
4752
|
+
await routerInstance.load();
|
|
4753
|
+
if (routerInstance.state.redirect) return routerInstance.state.redirect;
|
|
4754
|
+
earlyHints?.collectDynamic(routerInstance.stores.matches.get());
|
|
4755
|
+
const ctx = getStartContext({ throwIfNotFound: false });
|
|
4756
|
+
await routerInstance.serverSsr.dehydrate({ requestAssets: ctx?.requestAssets });
|
|
4757
|
+
const responseHeaders = getStartResponseHeaders({ router: routerInstance });
|
|
4758
|
+
earlyHints?.appendResponseHeaders(responseHeaders);
|
|
4759
|
+
cbWillCleanup = true;
|
|
4760
|
+
return cb({
|
|
4761
|
+
request,
|
|
4762
|
+
router: routerInstance,
|
|
4763
|
+
responseHeaders
|
|
4764
|
+
});
|
|
4765
|
+
};
|
|
4766
|
+
const requestHandlerMiddleware = async ({ context }) => {
|
|
4767
|
+
return runWithStartContext({
|
|
4768
|
+
getRouter,
|
|
4769
|
+
startOptions: requestStartOptions,
|
|
4770
|
+
contextAfterGlobalMiddlewares: context,
|
|
4771
|
+
request,
|
|
4772
|
+
executedRequestMiddlewares,
|
|
4773
|
+
handlerType: "router"
|
|
4774
|
+
}, async () => {
|
|
4775
|
+
try {
|
|
4776
|
+
return await handleServerRoutes({
|
|
4777
|
+
getRouter,
|
|
4778
|
+
request,
|
|
4779
|
+
url,
|
|
4780
|
+
executeRouter,
|
|
4781
|
+
context,
|
|
4782
|
+
executedRequestMiddlewares
|
|
4783
|
+
});
|
|
4784
|
+
} catch (err) {
|
|
4785
|
+
if (err instanceof Response) return err;
|
|
4786
|
+
throw err;
|
|
4787
|
+
}
|
|
4788
|
+
});
|
|
4789
|
+
};
|
|
4790
|
+
return handleRedirectResponse((await executeMiddleware([...flattenedRequestMiddlewares.map((d) => d.options.server), requestHandlerMiddleware], {
|
|
4791
|
+
request,
|
|
4792
|
+
pathname: url.pathname,
|
|
4793
|
+
handlerType: "router",
|
|
4794
|
+
context: createNullProtoObject(requestOpts?.context)
|
|
4795
|
+
})).response, request, getRouter);
|
|
4796
|
+
} finally {
|
|
4797
|
+
if (router && !cbWillCleanup) router.serverSsr?.cleanup();
|
|
4798
|
+
router = null;
|
|
4799
|
+
}
|
|
4800
|
+
};
|
|
4801
|
+
return requestHandler(startRequestResolver);
|
|
4802
|
+
}
|
|
4803
|
+
async function handleRedirectResponse(response, request, getRouter) {
|
|
4804
|
+
if (!isRedirect(response)) return response;
|
|
4805
|
+
if (isResolvedRedirect(response)) {
|
|
4806
|
+
if (request.headers.get("x-tsr-serverFn") === "true") return Response.json({
|
|
4807
|
+
...response.options,
|
|
4808
|
+
isSerializedRedirect: true
|
|
4809
|
+
}, { headers: response.headers });
|
|
4810
|
+
return response;
|
|
4811
|
+
}
|
|
4812
|
+
const opts = response.options;
|
|
4813
|
+
if (opts.to && typeof opts.to === "string" && !opts.to.startsWith("/")) throw new Error(`Server side redirects must use absolute paths via the 'href' or 'to' options. The redirect() method's "to" property accepts an internal path only. Use the "href" property to provide an external URL. Received: ${JSON.stringify(opts)}`);
|
|
4814
|
+
if ([
|
|
4815
|
+
"params",
|
|
4816
|
+
"search",
|
|
4817
|
+
"hash"
|
|
4818
|
+
].some((d) => typeof opts[d] === "function")) throw new Error(`Server side redirects must use static search, params, and hash values and do not support functional values. Received functional values for: ${Object.keys(opts).filter((d) => typeof opts[d] === "function").map((d) => `"${d}"`).join(", ")}`);
|
|
4819
|
+
const redirect = (await getRouter()).resolveRedirect(response);
|
|
4820
|
+
if (request.headers.get("x-tsr-serverFn") === "true") return Response.json({
|
|
4821
|
+
...response.options,
|
|
4822
|
+
isSerializedRedirect: true
|
|
4823
|
+
}, { headers: response.headers });
|
|
4824
|
+
return redirect;
|
|
4825
|
+
}
|
|
4826
|
+
async function handleServerRoutes({ getRouter, request, url, executeRouter, context, executedRequestMiddlewares }) {
|
|
4827
|
+
const router = await getRouter();
|
|
4828
|
+
const pathname = executeRewriteInput(router.rewrite, url).pathname;
|
|
4829
|
+
const { matchedRoutes, foundRoute, routeParams } = router.getMatchedRoutes(pathname);
|
|
4830
|
+
const isExactMatch = foundRoute && routeParams["**"] === void 0;
|
|
4831
|
+
const routeMiddlewares = [];
|
|
4832
|
+
for (const route of matchedRoutes) {
|
|
4833
|
+
const serverMiddleware = route.options.server?.middleware;
|
|
4834
|
+
if (serverMiddleware) {
|
|
4835
|
+
const flattened = flattenMiddlewares(serverMiddleware);
|
|
4836
|
+
for (const m2 of flattened) if (!executedRequestMiddlewares.has(m2)) routeMiddlewares.push(m2.options.server);
|
|
4837
|
+
}
|
|
4838
|
+
}
|
|
4839
|
+
const server2 = foundRoute?.options.server;
|
|
4840
|
+
let isHeadFallback = false;
|
|
4841
|
+
if (server2?.handlers && isExactMatch) {
|
|
4842
|
+
const handlers = typeof server2.handlers === "function" ? server2.handlers({ createHandlers: (d) => d }) : server2.handlers;
|
|
4843
|
+
const requestMethod = request.method.toUpperCase();
|
|
4844
|
+
const handler = requestMethod === "HEAD" ? handlers["HEAD"] ?? handlers["GET"] ?? handlers["ANY"] : handlers[requestMethod] ?? handlers["ANY"];
|
|
4845
|
+
isHeadFallback = requestMethod === "HEAD" && handler !== void 0 && !handlers["HEAD"];
|
|
4846
|
+
if (handler) {
|
|
4847
|
+
const mayDefer = !!foundRoute.options.component;
|
|
4848
|
+
if (typeof handler === "function") routeMiddlewares.push(handlerToMiddleware(handler, mayDefer));
|
|
4849
|
+
else {
|
|
4850
|
+
if (handler.middleware?.length) {
|
|
4851
|
+
const handlerMiddlewares = flattenMiddlewares(handler.middleware);
|
|
4852
|
+
for (const m2 of handlerMiddlewares) routeMiddlewares.push(m2.options.server);
|
|
4853
|
+
}
|
|
4854
|
+
if (handler.handler) routeMiddlewares.push(handlerToMiddleware(handler.handler, mayDefer));
|
|
4855
|
+
}
|
|
4856
|
+
}
|
|
4857
|
+
}
|
|
4858
|
+
routeMiddlewares.push((ctx2) => executeRouter(ctx2.context, matchedRoutes));
|
|
4859
|
+
const ctx = await executeMiddleware(routeMiddlewares, {
|
|
4860
|
+
request,
|
|
4861
|
+
context,
|
|
4862
|
+
params: routeParams,
|
|
4863
|
+
pathname,
|
|
4864
|
+
handlerType: "router"
|
|
4865
|
+
});
|
|
4866
|
+
if (isHeadFallback) {
|
|
4867
|
+
if (!ctx.response) throwRouteHandlerError();
|
|
4868
|
+
const resolved = await handleRedirectResponse(ctx.response, request, getRouter);
|
|
4869
|
+
return new Response(null, resolved);
|
|
4870
|
+
}
|
|
4871
|
+
return ctx.response;
|
|
4872
|
+
}
|
|
4873
|
+
const fetch$1 = createStartHandler(defaultStreamHandler);
|
|
4874
|
+
function createServerEntry(entry) {
|
|
4875
|
+
return {
|
|
4876
|
+
async fetch(...args) {
|
|
4877
|
+
return await entry.fetch(...args);
|
|
4878
|
+
}
|
|
4879
|
+
};
|
|
4880
|
+
}
|
|
4881
|
+
const server = createServerEntry({ fetch: fetch$1 });
|
|
4882
|
+
const startInstance = void 0;
|
|
4883
|
+
const start = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4884
|
+
__proto__: null,
|
|
4885
|
+
startInstance
|
|
4886
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
4887
|
+
export {
|
|
4888
|
+
createServerEntry,
|
|
4889
|
+
server as default
|
|
4890
|
+
};
|