hono 4.12.4 → 4.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/aws-lambda/handler.js +2 -2
- package/dist/adapter/lambda-edge/handler.js +2 -1
- package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -1
- package/dist/cjs/adapter/aws-lambda/handler.js +2 -3
- package/dist/cjs/adapter/aws-lambda/index.js +0 -1
- package/dist/cjs/adapter/aws-lambda/types.js +0 -1
- package/dist/cjs/adapter/bun/conninfo.js +0 -1
- package/dist/cjs/adapter/bun/index.js +0 -1
- package/dist/cjs/adapter/bun/serve-static.js +0 -1
- package/dist/cjs/adapter/bun/server.js +0 -1
- package/dist/cjs/adapter/bun/ssg.js +0 -1
- package/dist/cjs/adapter/bun/websocket.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/index.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/index.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -1
- package/dist/cjs/adapter/deno/conninfo.js +0 -1
- package/dist/cjs/adapter/deno/deno.d.js +0 -1
- package/dist/cjs/adapter/deno/index.js +0 -1
- package/dist/cjs/adapter/deno/serve-static.js +0 -1
- package/dist/cjs/adapter/deno/ssg.js +0 -1
- package/dist/cjs/adapter/deno/websocket.js +0 -1
- package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -1
- package/dist/cjs/adapter/lambda-edge/handler.js +2 -2
- package/dist/cjs/adapter/lambda-edge/index.js +0 -1
- package/dist/cjs/adapter/netlify/conninfo.js +0 -1
- package/dist/cjs/adapter/netlify/handler.js +0 -1
- package/dist/cjs/adapter/netlify/index.js +0 -1
- package/dist/cjs/adapter/netlify/mod.js +0 -1
- package/dist/cjs/adapter/service-worker/handler.js +0 -1
- package/dist/cjs/adapter/service-worker/index.js +0 -1
- package/dist/cjs/adapter/service-worker/types.js +0 -1
- package/dist/cjs/adapter/vercel/conninfo.js +0 -1
- package/dist/cjs/adapter/vercel/handler.js +0 -1
- package/dist/cjs/adapter/vercel/index.js +0 -1
- package/dist/cjs/client/client.js +0 -1
- package/dist/cjs/client/fetch-result-please.js +0 -1
- package/dist/cjs/client/index.js +0 -1
- package/dist/cjs/client/types.js +0 -1
- package/dist/cjs/client/utils.js +0 -1
- package/dist/cjs/compose.js +0 -1
- package/dist/cjs/context.js +0 -1
- package/dist/cjs/helper/accepts/accepts.js +0 -1
- package/dist/cjs/helper/accepts/index.js +0 -1
- package/dist/cjs/helper/adapter/index.js +0 -1
- package/dist/cjs/helper/conninfo/index.js +0 -1
- package/dist/cjs/helper/conninfo/types.js +0 -1
- package/dist/cjs/helper/cookie/index.js +0 -1
- package/dist/cjs/helper/css/common.js +0 -1
- package/dist/cjs/helper/css/index.js +0 -1
- package/dist/cjs/helper/dev/index.js +0 -1
- package/dist/cjs/helper/factory/index.js +0 -1
- package/dist/cjs/helper/html/index.js +0 -1
- package/dist/cjs/helper/proxy/index.js +0 -1
- package/dist/cjs/helper/route/index.js +0 -1
- package/dist/cjs/helper/ssg/index.js +0 -1
- package/dist/cjs/helper/ssg/middleware.js +0 -1
- package/dist/cjs/helper/ssg/plugins.js +0 -1
- package/dist/cjs/helper/ssg/ssg.js +0 -1
- package/dist/cjs/helper/ssg/utils.js +0 -1
- package/dist/cjs/helper/streaming/index.js +0 -1
- package/dist/cjs/helper/streaming/sse.js +0 -1
- package/dist/cjs/helper/streaming/stream.js +0 -1
- package/dist/cjs/helper/streaming/text.js +0 -1
- package/dist/cjs/helper/streaming/utils.js +0 -1
- package/dist/cjs/helper/testing/index.js +0 -1
- package/dist/cjs/helper/websocket/index.js +0 -1
- package/dist/cjs/hono-base.js +0 -1
- package/dist/cjs/hono.js +0 -1
- package/dist/cjs/http-exception.js +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/jsx/base.js +0 -1
- package/dist/cjs/jsx/children.js +0 -1
- package/dist/cjs/jsx/components.js +0 -1
- package/dist/cjs/jsx/constants.js +0 -1
- package/dist/cjs/jsx/context.js +0 -1
- package/dist/cjs/jsx/dom/client.js +0 -1
- package/dist/cjs/jsx/dom/components.js +0 -1
- package/dist/cjs/jsx/dom/context.js +0 -1
- package/dist/cjs/jsx/dom/css.js +0 -1
- package/dist/cjs/jsx/dom/hooks/index.js +0 -1
- package/dist/cjs/jsx/dom/index.js +0 -1
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +40 -10
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/dom/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/dom/render.js +0 -1
- package/dist/cjs/jsx/dom/server.js +0 -1
- package/dist/cjs/jsx/dom/utils.js +0 -1
- package/dist/cjs/jsx/hooks/index.js +0 -1
- package/dist/cjs/jsx/index.js +0 -1
- package/dist/cjs/jsx/intrinsic-element/common.js +13 -3
- package/dist/cjs/jsx/intrinsic-element/components.js +18 -12
- package/dist/cjs/jsx/intrinsic-elements.js +0 -1
- package/dist/cjs/jsx/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/streaming.js +13 -4
- package/dist/cjs/jsx/types.js +0 -1
- package/dist/cjs/jsx/utils.js +0 -1
- package/dist/cjs/middleware/basic-auth/index.js +0 -1
- package/dist/cjs/middleware/bearer-auth/index.js +0 -1
- package/dist/cjs/middleware/body-limit/index.js +0 -1
- package/dist/cjs/middleware/cache/index.js +0 -1
- package/dist/cjs/middleware/combine/index.js +0 -1
- package/dist/cjs/middleware/compress/index.js +0 -1
- package/dist/cjs/middleware/context-storage/index.js +0 -1
- package/dist/cjs/middleware/cors/index.js +0 -1
- package/dist/cjs/middleware/csrf/index.js +0 -1
- package/dist/cjs/middleware/etag/digest.js +0 -1
- package/dist/cjs/middleware/etag/index.js +0 -1
- package/dist/cjs/middleware/ip-restriction/index.js +0 -1
- package/dist/cjs/middleware/jsx-renderer/index.js +1 -1
- package/dist/cjs/middleware/jwk/index.js +0 -1
- package/dist/cjs/middleware/jwk/jwk.js +0 -1
- package/dist/cjs/middleware/jwt/index.js +0 -1
- package/dist/cjs/middleware/jwt/jwt.js +0 -1
- package/dist/cjs/middleware/language/index.js +0 -1
- package/dist/cjs/middleware/language/language.js +0 -1
- package/dist/cjs/middleware/logger/index.js +0 -1
- package/dist/cjs/middleware/method-override/index.js +0 -1
- package/dist/cjs/middleware/powered-by/index.js +0 -1
- package/dist/cjs/middleware/pretty-json/index.js +0 -1
- package/dist/cjs/middleware/request-id/index.js +0 -1
- package/dist/cjs/middleware/request-id/request-id.js +0 -1
- package/dist/cjs/middleware/secure-headers/index.js +0 -1
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -1
- package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -1
- package/dist/cjs/middleware/serve-static/index.js +0 -1
- package/dist/cjs/middleware/serve-static/path.js +0 -1
- package/dist/cjs/middleware/timeout/index.js +0 -1
- package/dist/cjs/middleware/timing/index.js +0 -1
- package/dist/cjs/middleware/timing/timing.js +0 -1
- package/dist/cjs/middleware/trailing-slash/index.js +0 -1
- package/dist/cjs/preset/quick.js +0 -1
- package/dist/cjs/preset/tiny.js +0 -1
- package/dist/cjs/request/constants.js +0 -1
- package/dist/cjs/request.js +0 -1
- package/dist/cjs/router/linear-router/index.js +0 -1
- package/dist/cjs/router/linear-router/router.js +0 -1
- package/dist/cjs/router/pattern-router/index.js +0 -1
- package/dist/cjs/router/pattern-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/index.js +0 -1
- package/dist/cjs/router/reg-exp-router/matcher.js +0 -1
- package/dist/cjs/router/reg-exp-router/node.js +0 -1
- package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -1
- package/dist/cjs/router/reg-exp-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/trie.js +0 -1
- package/dist/cjs/router/smart-router/index.js +0 -1
- package/dist/cjs/router/smart-router/router.js +0 -1
- package/dist/cjs/router/trie-router/index.js +0 -1
- package/dist/cjs/router/trie-router/node.js +0 -1
- package/dist/cjs/router/trie-router/router.js +0 -1
- package/dist/cjs/router.js +0 -1
- package/dist/cjs/types.js +0 -1
- package/dist/cjs/utils/accept.js +188 -29
- package/dist/cjs/utils/basic-auth.js +0 -1
- package/dist/cjs/utils/body.js +0 -1
- package/dist/cjs/utils/buffer.js +0 -1
- package/dist/cjs/utils/color.js +0 -1
- package/dist/cjs/utils/compress.js +0 -1
- package/dist/cjs/utils/concurrent.js +0 -1
- package/dist/cjs/utils/constants.js +0 -1
- package/dist/cjs/utils/cookie.js +0 -1
- package/dist/cjs/utils/crypto.js +0 -1
- package/dist/cjs/utils/encode.js +0 -1
- package/dist/cjs/utils/filepath.js +0 -1
- package/dist/cjs/utils/handler.js +0 -1
- package/dist/cjs/utils/headers.js +0 -1
- package/dist/cjs/utils/html.js +0 -1
- package/dist/cjs/utils/http-status.js +0 -1
- package/dist/cjs/utils/ipaddr.js +0 -1
- package/dist/cjs/utils/jwt/index.js +0 -1
- package/dist/cjs/utils/jwt/jwa.js +0 -1
- package/dist/cjs/utils/jwt/jws.js +0 -1
- package/dist/cjs/utils/jwt/jwt.js +11 -6
- package/dist/cjs/utils/jwt/types.js +0 -1
- package/dist/cjs/utils/jwt/utf8.js +0 -1
- package/dist/cjs/utils/mime.js +0 -1
- package/dist/cjs/utils/stream.js +0 -1
- package/dist/cjs/utils/types.js +0 -1
- package/dist/cjs/utils/url.js +0 -1
- package/dist/cjs/validator/index.js +0 -1
- package/dist/cjs/validator/utils.js +0 -1
- package/dist/cjs/validator/validator.js +0 -1
- package/dist/jsx/dom/intrinsic-element/components.js +47 -10
- package/dist/jsx/intrinsic-element/common.js +10 -1
- package/dist/jsx/intrinsic-element/components.js +24 -12
- package/dist/jsx/streaming.js +13 -3
- package/dist/middleware/jsx-renderer/index.js +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/adapter/aws-lambda/handler.d.ts +2 -2
- package/dist/types/jsx/intrinsic-element/common.d.ts +3 -0
- package/dist/types/jsx/types.d.ts +1 -1
- package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
- package/dist/types/request.d.ts +1 -1
- package/dist/types/utils/accept.d.ts +0 -5
- package/dist/utils/accept.js +188 -28
- package/dist/utils/jwt/jwt.js +11 -5
- package/package.json +4 -3
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -80,11 +79,16 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
80
79
|
let element = null;
|
|
81
80
|
let created = false;
|
|
82
81
|
const deDupeKeys = import_common.deDupeKeyMap[tag];
|
|
82
|
+
const deDupeByKey = (0, import_common.shouldDeDupeByKey)(tag, supportSort);
|
|
83
|
+
const isDeDupeCandidateLink = (e) => e.getAttribute("rel") === "stylesheet" && e.getAttribute(import_common.dataPrecedenceAttr) !== null;
|
|
83
84
|
let existingElements = void 0;
|
|
84
|
-
if (
|
|
85
|
+
if (deDupeByKey) {
|
|
85
86
|
const tags = head.querySelectorAll(tag);
|
|
86
87
|
LOOP: for (const e of tags) {
|
|
87
|
-
|
|
88
|
+
if (tag === "link" && !isDeDupeCandidateLink(e)) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
for (const key of deDupeKeys) {
|
|
88
92
|
if (e.getAttribute(key) === props[key]) {
|
|
89
93
|
element = e;
|
|
90
94
|
break LOOP;
|
|
@@ -103,9 +107,9 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
103
107
|
if (props[key] !== void 0) {
|
|
104
108
|
e.setAttribute(key, props[key]);
|
|
105
109
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
}
|
|
111
|
+
if (props.rel) {
|
|
112
|
+
e.setAttribute("rel", props.rel);
|
|
109
113
|
}
|
|
110
114
|
return e;
|
|
111
115
|
})();
|
|
@@ -119,7 +123,26 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
119
123
|
}
|
|
120
124
|
const insert = (0, import_hooks.useCallback)(
|
|
121
125
|
(e) => {
|
|
122
|
-
if (
|
|
126
|
+
if (deDupeByKey) {
|
|
127
|
+
if (tag === "link" && precedence !== void 0) {
|
|
128
|
+
let found2 = false;
|
|
129
|
+
for (const existingElement of head.querySelectorAll(tag)) {
|
|
130
|
+
const existingPrecedence = existingElement.getAttribute(import_common.dataPrecedenceAttr);
|
|
131
|
+
if (existingPrecedence === null) {
|
|
132
|
+
head.insertBefore(e, existingElement);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (found2 && existingPrecedence !== precedence) {
|
|
136
|
+
head.insertBefore(e, existingElement);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (existingPrecedence === precedence) {
|
|
140
|
+
found2 = true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
head.appendChild(e);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
123
146
|
let found = false;
|
|
124
147
|
for (const existingElement of head.querySelectorAll(tag)) {
|
|
125
148
|
if (found && existingElement.getAttribute(import_common.dataPrecedenceAttr) !== precedence) {
|
|
@@ -131,6 +154,10 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
131
154
|
}
|
|
132
155
|
}
|
|
133
156
|
head.appendChild(e);
|
|
157
|
+
} else if (tag === "link") {
|
|
158
|
+
if (!head.contains(e)) {
|
|
159
|
+
head.appendChild(e);
|
|
160
|
+
}
|
|
134
161
|
} else if (existingElements) {
|
|
135
162
|
let found = false;
|
|
136
163
|
for (const existingElement of existingElements) {
|
|
@@ -148,7 +175,7 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
148
175
|
existingElements = void 0;
|
|
149
176
|
}
|
|
150
177
|
},
|
|
151
|
-
[precedence]
|
|
178
|
+
[deDupeByKey, precedence, tag]
|
|
152
179
|
);
|
|
153
180
|
const ref = composeRef(props.ref, (e) => {
|
|
154
181
|
const key = deDupeKeys[0];
|
|
@@ -161,6 +188,9 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
161
188
|
if (!onError && !onLoad) {
|
|
162
189
|
return;
|
|
163
190
|
}
|
|
191
|
+
if (!key) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
164
194
|
let promise = blockingPromiseMap[e.getAttribute(key)] ||= new Promise(
|
|
165
195
|
(resolve, reject) => {
|
|
166
196
|
e.addEventListener("load", resolve);
|
|
@@ -178,7 +208,7 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
178
208
|
});
|
|
179
209
|
if (supportBlocking && blocking === "render") {
|
|
180
210
|
const key = import_common.deDupeKeyMap[tag][0];
|
|
181
|
-
if (props[key]) {
|
|
211
|
+
if (key && props[key]) {
|
|
182
212
|
const value = props[key];
|
|
183
213
|
const promise = blockingPromiseMap[value] ||= new Promise((resolve, reject) => {
|
|
184
214
|
insert(element);
|
|
@@ -254,7 +284,7 @@ const link = (props) => {
|
|
|
254
284
|
ref: props.ref
|
|
255
285
|
};
|
|
256
286
|
}
|
|
257
|
-
return documentMetadataTag("link", props, 1,
|
|
287
|
+
return documentMetadataTag("link", props, 1, (0, import_common.isStylesheetLinkWithPrecedence)(props), true);
|
|
258
288
|
};
|
|
259
289
|
const meta = (props) => {
|
|
260
290
|
return documentMetadataTag("meta", props, void 0, false, false);
|
package/dist/cjs/jsx/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -20,7 +19,9 @@ var common_exports = {};
|
|
|
20
19
|
__export(common_exports, {
|
|
21
20
|
dataPrecedenceAttr: () => dataPrecedenceAttr,
|
|
22
21
|
deDupeKeyMap: () => deDupeKeyMap,
|
|
23
|
-
domRenderers: () => domRenderers
|
|
22
|
+
domRenderers: () => domRenderers,
|
|
23
|
+
isStylesheetLinkWithPrecedence: () => isStylesheetLinkWithPrecedence,
|
|
24
|
+
shouldDeDupeByKey: () => shouldDeDupeByKey
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(common_exports);
|
|
26
27
|
const deDupeKeyMap = {
|
|
@@ -32,9 +33,18 @@ const deDupeKeyMap = {
|
|
|
32
33
|
};
|
|
33
34
|
const domRenderers = {};
|
|
34
35
|
const dataPrecedenceAttr = "data-precedence";
|
|
36
|
+
const isStylesheetLinkWithPrecedence = (props) => props.rel === "stylesheet" && "precedence" in props;
|
|
37
|
+
const shouldDeDupeByKey = (tagName, supportSort) => {
|
|
38
|
+
if (tagName === "link") {
|
|
39
|
+
return supportSort;
|
|
40
|
+
}
|
|
41
|
+
return deDupeKeyMap[tagName].length > 0;
|
|
42
|
+
};
|
|
35
43
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
44
|
0 && (module.exports = {
|
|
37
45
|
dataPrecedenceAttr,
|
|
38
46
|
deDupeKeyMap,
|
|
39
|
-
domRenderers
|
|
47
|
+
domRenderers,
|
|
48
|
+
isStylesheetLinkWithPrecedence,
|
|
49
|
+
shouldDeDupeByKey
|
|
40
50
|
});
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -44,8 +43,12 @@ const insertIntoHead = (tagName, tag, props, precedence) => ({ buffer, context }
|
|
|
44
43
|
const tags = map[tagName] ||= [];
|
|
45
44
|
let duped = false;
|
|
46
45
|
const deDupeKeys = import_common.deDupeKeyMap[tagName];
|
|
47
|
-
|
|
46
|
+
const deDupeByKey = (0, import_common.shouldDeDupeByKey)(tagName, precedence !== void 0);
|
|
47
|
+
if (deDupeByKey) {
|
|
48
48
|
LOOP: for (const [, tagProps] of tags) {
|
|
49
|
+
if (tagName === "link" && !(tagProps.rel === "stylesheet" && tagProps[import_common.dataPrecedenceAttr] !== void 0)) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
49
52
|
for (const key of deDupeKeys) {
|
|
50
53
|
if ((tagProps?.[key] ?? null) === props?.[key]) {
|
|
51
54
|
duped = true;
|
|
@@ -56,25 +59,28 @@ const insertIntoHead = (tagName, tag, props, precedence) => ({ buffer, context }
|
|
|
56
59
|
}
|
|
57
60
|
if (duped) {
|
|
58
61
|
buffer[0] = buffer[0].replaceAll(tag, "");
|
|
59
|
-
} else if (
|
|
62
|
+
} else if (deDupeByKey || tagName === "link") {
|
|
60
63
|
tags.push([tag, props, precedence]);
|
|
61
64
|
} else {
|
|
62
65
|
tags.unshift([tag, props, precedence]);
|
|
63
66
|
}
|
|
64
67
|
if (buffer[0].indexOf("</head>") !== -1) {
|
|
65
68
|
let insertTags;
|
|
66
|
-
if (
|
|
67
|
-
insertTags = tags.map(([tag2]) => tag2);
|
|
68
|
-
} else {
|
|
69
|
+
if (tagName === "link" || precedence !== void 0) {
|
|
69
70
|
const precedences = [];
|
|
70
|
-
insertTags = tags.map(([tag2, ,
|
|
71
|
-
|
|
71
|
+
insertTags = tags.map(([tag2, , tagPrecedence], index) => {
|
|
72
|
+
if (tagPrecedence === void 0) {
|
|
73
|
+
return [tag2, Number.MAX_SAFE_INTEGER, index];
|
|
74
|
+
}
|
|
75
|
+
let order = precedences.indexOf(tagPrecedence);
|
|
72
76
|
if (order === -1) {
|
|
73
|
-
precedences.push(
|
|
77
|
+
precedences.push(tagPrecedence);
|
|
74
78
|
order = precedences.length - 1;
|
|
75
79
|
}
|
|
76
|
-
return [tag2, order];
|
|
77
|
-
}).sort((a, b) => a[1] - b[1]).map(([tag2]) => tag2);
|
|
80
|
+
return [tag2, order, index];
|
|
81
|
+
}).sort((a, b) => a[1] - b[1] || a[2] - b[2]).map(([tag2]) => tag2);
|
|
82
|
+
} else {
|
|
83
|
+
insertTags = tags.map(([tag2]) => tag2);
|
|
78
84
|
}
|
|
79
85
|
insertTags.forEach((tag2) => {
|
|
80
86
|
buffer[0] = buffer[0].replaceAll(tag2, "");
|
|
@@ -143,7 +149,7 @@ const link = ({ children, ...props }) => {
|
|
|
143
149
|
if (["onLoad", "onError"].some((k) => k in props) || props.rel === "stylesheet" && (!("precedence" in props) || "disabled" in props)) {
|
|
144
150
|
return returnWithoutSpecialBehavior("link", children, props);
|
|
145
151
|
}
|
|
146
|
-
return documentMetadataTag("link", children, props,
|
|
152
|
+
return documentMetadataTag("link", children, props, (0, import_common.isStylesheetLinkWithPrecedence)(props));
|
|
147
153
|
};
|
|
148
154
|
const meta = ({ children, ...props }) => {
|
|
149
155
|
const nameSpaceContext = (0, import_base.getNameSpaceContext)();
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -113,6 +112,7 @@ d.replaceWith(c.content)
|
|
|
113
112
|
Suspense[import_constants.DOM_RENDERER] = import_components2.Suspense;
|
|
114
113
|
const textEncoder = new TextEncoder();
|
|
115
114
|
const renderToReadableStream = (content, onError = console.trace) => {
|
|
115
|
+
let cancelled = false;
|
|
116
116
|
const reader = new ReadableStream({
|
|
117
117
|
async start(controller) {
|
|
118
118
|
try {
|
|
@@ -126,7 +126,9 @@ const renderToReadableStream = (content, onError = console.trace) => {
|
|
|
126
126
|
true,
|
|
127
127
|
context
|
|
128
128
|
);
|
|
129
|
-
|
|
129
|
+
if (!cancelled) {
|
|
130
|
+
controller.enqueue(textEncoder.encode(resolved));
|
|
131
|
+
}
|
|
130
132
|
let resolvedCount = 0;
|
|
131
133
|
const callbacks = [];
|
|
132
134
|
const then = (promise) => {
|
|
@@ -144,7 +146,9 @@ const renderToReadableStream = (content, onError = console.trace) => {
|
|
|
144
146
|
);
|
|
145
147
|
res.callbacks?.map((c) => c({ phase: import_html2.HtmlEscapedCallbackPhase.Stream, context })).filter(Boolean).forEach(then);
|
|
146
148
|
resolvedCount++;
|
|
147
|
-
|
|
149
|
+
if (!cancelled) {
|
|
150
|
+
controller.enqueue(textEncoder.encode(res));
|
|
151
|
+
}
|
|
148
152
|
})
|
|
149
153
|
);
|
|
150
154
|
};
|
|
@@ -155,7 +159,12 @@ const renderToReadableStream = (content, onError = console.trace) => {
|
|
|
155
159
|
} catch (e) {
|
|
156
160
|
onError(e);
|
|
157
161
|
}
|
|
158
|
-
|
|
162
|
+
if (!cancelled) {
|
|
163
|
+
controller.close();
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
cancel() {
|
|
167
|
+
cancelled = true;
|
|
159
168
|
}
|
|
160
169
|
});
|
|
161
170
|
return reader;
|
package/dist/cjs/jsx/types.js
CHANGED
package/dist/cjs/jsx/utils.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -28,6 +27,7 @@ var import_jsx = require("../../jsx");
|
|
|
28
27
|
var import_streaming = require("../../jsx/streaming");
|
|
29
28
|
const RequestContext = (0, import_jsx.createContext)(null);
|
|
30
29
|
const createRenderer = (c, Layout, component, options) => (children, props) => {
|
|
30
|
+
options = typeof options === "function" ? options(c) : options;
|
|
31
31
|
const docType = typeof options?.docType === "string" ? options.docType : options?.docType === false ? "" : "<!DOCTYPE html>";
|
|
32
32
|
const currentLayout = component ? (0, import_jsx.jsx)(
|
|
33
33
|
(props2) => component(props2, c),
|
package/dist/cjs/preset/quick.js
CHANGED
package/dist/cjs/preset/tiny.js
CHANGED
package/dist/cjs/request.js
CHANGED