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.
Files changed (203) hide show
  1. package/dist/adapter/aws-lambda/handler.js +2 -2
  2. package/dist/adapter/lambda-edge/handler.js +2 -1
  3. package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -1
  4. package/dist/cjs/adapter/aws-lambda/handler.js +2 -3
  5. package/dist/cjs/adapter/aws-lambda/index.js +0 -1
  6. package/dist/cjs/adapter/aws-lambda/types.js +0 -1
  7. package/dist/cjs/adapter/bun/conninfo.js +0 -1
  8. package/dist/cjs/adapter/bun/index.js +0 -1
  9. package/dist/cjs/adapter/bun/serve-static.js +0 -1
  10. package/dist/cjs/adapter/bun/server.js +0 -1
  11. package/dist/cjs/adapter/bun/ssg.js +0 -1
  12. package/dist/cjs/adapter/bun/websocket.js +0 -1
  13. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -1
  14. package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -1
  15. package/dist/cjs/adapter/cloudflare-pages/index.js +0 -1
  16. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -1
  17. package/dist/cjs/adapter/cloudflare-workers/index.js +0 -1
  18. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -1
  19. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -1
  20. package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -1
  21. package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -1
  22. package/dist/cjs/adapter/deno/conninfo.js +0 -1
  23. package/dist/cjs/adapter/deno/deno.d.js +0 -1
  24. package/dist/cjs/adapter/deno/index.js +0 -1
  25. package/dist/cjs/adapter/deno/serve-static.js +0 -1
  26. package/dist/cjs/adapter/deno/ssg.js +0 -1
  27. package/dist/cjs/adapter/deno/websocket.js +0 -1
  28. package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -1
  29. package/dist/cjs/adapter/lambda-edge/handler.js +2 -2
  30. package/dist/cjs/adapter/lambda-edge/index.js +0 -1
  31. package/dist/cjs/adapter/netlify/conninfo.js +0 -1
  32. package/dist/cjs/adapter/netlify/handler.js +0 -1
  33. package/dist/cjs/adapter/netlify/index.js +0 -1
  34. package/dist/cjs/adapter/netlify/mod.js +0 -1
  35. package/dist/cjs/adapter/service-worker/handler.js +0 -1
  36. package/dist/cjs/adapter/service-worker/index.js +0 -1
  37. package/dist/cjs/adapter/service-worker/types.js +0 -1
  38. package/dist/cjs/adapter/vercel/conninfo.js +0 -1
  39. package/dist/cjs/adapter/vercel/handler.js +0 -1
  40. package/dist/cjs/adapter/vercel/index.js +0 -1
  41. package/dist/cjs/client/client.js +0 -1
  42. package/dist/cjs/client/fetch-result-please.js +0 -1
  43. package/dist/cjs/client/index.js +0 -1
  44. package/dist/cjs/client/types.js +0 -1
  45. package/dist/cjs/client/utils.js +0 -1
  46. package/dist/cjs/compose.js +0 -1
  47. package/dist/cjs/context.js +0 -1
  48. package/dist/cjs/helper/accepts/accepts.js +0 -1
  49. package/dist/cjs/helper/accepts/index.js +0 -1
  50. package/dist/cjs/helper/adapter/index.js +0 -1
  51. package/dist/cjs/helper/conninfo/index.js +0 -1
  52. package/dist/cjs/helper/conninfo/types.js +0 -1
  53. package/dist/cjs/helper/cookie/index.js +0 -1
  54. package/dist/cjs/helper/css/common.js +0 -1
  55. package/dist/cjs/helper/css/index.js +0 -1
  56. package/dist/cjs/helper/dev/index.js +0 -1
  57. package/dist/cjs/helper/factory/index.js +0 -1
  58. package/dist/cjs/helper/html/index.js +0 -1
  59. package/dist/cjs/helper/proxy/index.js +0 -1
  60. package/dist/cjs/helper/route/index.js +0 -1
  61. package/dist/cjs/helper/ssg/index.js +0 -1
  62. package/dist/cjs/helper/ssg/middleware.js +0 -1
  63. package/dist/cjs/helper/ssg/plugins.js +0 -1
  64. package/dist/cjs/helper/ssg/ssg.js +0 -1
  65. package/dist/cjs/helper/ssg/utils.js +0 -1
  66. package/dist/cjs/helper/streaming/index.js +0 -1
  67. package/dist/cjs/helper/streaming/sse.js +0 -1
  68. package/dist/cjs/helper/streaming/stream.js +0 -1
  69. package/dist/cjs/helper/streaming/text.js +0 -1
  70. package/dist/cjs/helper/streaming/utils.js +0 -1
  71. package/dist/cjs/helper/testing/index.js +0 -1
  72. package/dist/cjs/helper/websocket/index.js +0 -1
  73. package/dist/cjs/hono-base.js +0 -1
  74. package/dist/cjs/hono.js +0 -1
  75. package/dist/cjs/http-exception.js +0 -1
  76. package/dist/cjs/index.js +0 -1
  77. package/dist/cjs/jsx/base.js +0 -1
  78. package/dist/cjs/jsx/children.js +0 -1
  79. package/dist/cjs/jsx/components.js +0 -1
  80. package/dist/cjs/jsx/constants.js +0 -1
  81. package/dist/cjs/jsx/context.js +0 -1
  82. package/dist/cjs/jsx/dom/client.js +0 -1
  83. package/dist/cjs/jsx/dom/components.js +0 -1
  84. package/dist/cjs/jsx/dom/context.js +0 -1
  85. package/dist/cjs/jsx/dom/css.js +0 -1
  86. package/dist/cjs/jsx/dom/hooks/index.js +0 -1
  87. package/dist/cjs/jsx/dom/index.js +0 -1
  88. package/dist/cjs/jsx/dom/intrinsic-element/components.js +40 -10
  89. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -1
  90. package/dist/cjs/jsx/dom/jsx-runtime.js +0 -1
  91. package/dist/cjs/jsx/dom/render.js +0 -1
  92. package/dist/cjs/jsx/dom/server.js +0 -1
  93. package/dist/cjs/jsx/dom/utils.js +0 -1
  94. package/dist/cjs/jsx/hooks/index.js +0 -1
  95. package/dist/cjs/jsx/index.js +0 -1
  96. package/dist/cjs/jsx/intrinsic-element/common.js +13 -3
  97. package/dist/cjs/jsx/intrinsic-element/components.js +18 -12
  98. package/dist/cjs/jsx/intrinsic-elements.js +0 -1
  99. package/dist/cjs/jsx/jsx-dev-runtime.js +0 -1
  100. package/dist/cjs/jsx/jsx-runtime.js +0 -1
  101. package/dist/cjs/jsx/streaming.js +13 -4
  102. package/dist/cjs/jsx/types.js +0 -1
  103. package/dist/cjs/jsx/utils.js +0 -1
  104. package/dist/cjs/middleware/basic-auth/index.js +0 -1
  105. package/dist/cjs/middleware/bearer-auth/index.js +0 -1
  106. package/dist/cjs/middleware/body-limit/index.js +0 -1
  107. package/dist/cjs/middleware/cache/index.js +0 -1
  108. package/dist/cjs/middleware/combine/index.js +0 -1
  109. package/dist/cjs/middleware/compress/index.js +0 -1
  110. package/dist/cjs/middleware/context-storage/index.js +0 -1
  111. package/dist/cjs/middleware/cors/index.js +0 -1
  112. package/dist/cjs/middleware/csrf/index.js +0 -1
  113. package/dist/cjs/middleware/etag/digest.js +0 -1
  114. package/dist/cjs/middleware/etag/index.js +0 -1
  115. package/dist/cjs/middleware/ip-restriction/index.js +0 -1
  116. package/dist/cjs/middleware/jsx-renderer/index.js +1 -1
  117. package/dist/cjs/middleware/jwk/index.js +0 -1
  118. package/dist/cjs/middleware/jwk/jwk.js +0 -1
  119. package/dist/cjs/middleware/jwt/index.js +0 -1
  120. package/dist/cjs/middleware/jwt/jwt.js +0 -1
  121. package/dist/cjs/middleware/language/index.js +0 -1
  122. package/dist/cjs/middleware/language/language.js +0 -1
  123. package/dist/cjs/middleware/logger/index.js +0 -1
  124. package/dist/cjs/middleware/method-override/index.js +0 -1
  125. package/dist/cjs/middleware/powered-by/index.js +0 -1
  126. package/dist/cjs/middleware/pretty-json/index.js +0 -1
  127. package/dist/cjs/middleware/request-id/index.js +0 -1
  128. package/dist/cjs/middleware/request-id/request-id.js +0 -1
  129. package/dist/cjs/middleware/secure-headers/index.js +0 -1
  130. package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -1
  131. package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -1
  132. package/dist/cjs/middleware/serve-static/index.js +0 -1
  133. package/dist/cjs/middleware/serve-static/path.js +0 -1
  134. package/dist/cjs/middleware/timeout/index.js +0 -1
  135. package/dist/cjs/middleware/timing/index.js +0 -1
  136. package/dist/cjs/middleware/timing/timing.js +0 -1
  137. package/dist/cjs/middleware/trailing-slash/index.js +0 -1
  138. package/dist/cjs/preset/quick.js +0 -1
  139. package/dist/cjs/preset/tiny.js +0 -1
  140. package/dist/cjs/request/constants.js +0 -1
  141. package/dist/cjs/request.js +0 -1
  142. package/dist/cjs/router/linear-router/index.js +0 -1
  143. package/dist/cjs/router/linear-router/router.js +0 -1
  144. package/dist/cjs/router/pattern-router/index.js +0 -1
  145. package/dist/cjs/router/pattern-router/router.js +0 -1
  146. package/dist/cjs/router/reg-exp-router/index.js +0 -1
  147. package/dist/cjs/router/reg-exp-router/matcher.js +0 -1
  148. package/dist/cjs/router/reg-exp-router/node.js +0 -1
  149. package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -1
  150. package/dist/cjs/router/reg-exp-router/router.js +0 -1
  151. package/dist/cjs/router/reg-exp-router/trie.js +0 -1
  152. package/dist/cjs/router/smart-router/index.js +0 -1
  153. package/dist/cjs/router/smart-router/router.js +0 -1
  154. package/dist/cjs/router/trie-router/index.js +0 -1
  155. package/dist/cjs/router/trie-router/node.js +0 -1
  156. package/dist/cjs/router/trie-router/router.js +0 -1
  157. package/dist/cjs/router.js +0 -1
  158. package/dist/cjs/types.js +0 -1
  159. package/dist/cjs/utils/accept.js +188 -29
  160. package/dist/cjs/utils/basic-auth.js +0 -1
  161. package/dist/cjs/utils/body.js +0 -1
  162. package/dist/cjs/utils/buffer.js +0 -1
  163. package/dist/cjs/utils/color.js +0 -1
  164. package/dist/cjs/utils/compress.js +0 -1
  165. package/dist/cjs/utils/concurrent.js +0 -1
  166. package/dist/cjs/utils/constants.js +0 -1
  167. package/dist/cjs/utils/cookie.js +0 -1
  168. package/dist/cjs/utils/crypto.js +0 -1
  169. package/dist/cjs/utils/encode.js +0 -1
  170. package/dist/cjs/utils/filepath.js +0 -1
  171. package/dist/cjs/utils/handler.js +0 -1
  172. package/dist/cjs/utils/headers.js +0 -1
  173. package/dist/cjs/utils/html.js +0 -1
  174. package/dist/cjs/utils/http-status.js +0 -1
  175. package/dist/cjs/utils/ipaddr.js +0 -1
  176. package/dist/cjs/utils/jwt/index.js +0 -1
  177. package/dist/cjs/utils/jwt/jwa.js +0 -1
  178. package/dist/cjs/utils/jwt/jws.js +0 -1
  179. package/dist/cjs/utils/jwt/jwt.js +11 -6
  180. package/dist/cjs/utils/jwt/types.js +0 -1
  181. package/dist/cjs/utils/jwt/utf8.js +0 -1
  182. package/dist/cjs/utils/mime.js +0 -1
  183. package/dist/cjs/utils/stream.js +0 -1
  184. package/dist/cjs/utils/types.js +0 -1
  185. package/dist/cjs/utils/url.js +0 -1
  186. package/dist/cjs/validator/index.js +0 -1
  187. package/dist/cjs/validator/utils.js +0 -1
  188. package/dist/cjs/validator/validator.js +0 -1
  189. package/dist/jsx/dom/intrinsic-element/components.js +47 -10
  190. package/dist/jsx/intrinsic-element/common.js +10 -1
  191. package/dist/jsx/intrinsic-element/components.js +24 -12
  192. package/dist/jsx/streaming.js +13 -3
  193. package/dist/middleware/jsx-renderer/index.js +1 -0
  194. package/dist/tsconfig.build.tsbuildinfo +1 -0
  195. package/dist/types/adapter/aws-lambda/handler.d.ts +2 -2
  196. package/dist/types/jsx/intrinsic-element/common.d.ts +3 -0
  197. package/dist/types/jsx/types.d.ts +1 -1
  198. package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
  199. package/dist/types/request.d.ts +1 -1
  200. package/dist/types/utils/accept.d.ts +0 -5
  201. package/dist/utils/accept.js +188 -28
  202. package/dist/utils/jwt/jwt.js +11 -5
  203. 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 (deDupeKeys.length > 0) {
85
+ if (deDupeByKey) {
85
86
  const tags = head.querySelectorAll(tag);
86
87
  LOOP: for (const e of tags) {
87
- for (const key of import_common.deDupeKeyMap[tag]) {
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
- if (props.rel) {
107
- e.setAttribute("rel", props.rel);
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 (deDupeKeys.length > 0) {
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, "precedence" in props, true);
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);
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -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;
@@ -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;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -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;
@@ -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;
@@ -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;
@@ -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
- if (deDupeKeys.length > 0) {
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 (deDupeKeys.length > 0) {
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 (precedence === void 0) {
67
- insertTags = tags.map(([tag2]) => tag2);
68
- } else {
69
+ if (tagName === "link" || precedence !== void 0) {
69
70
  const precedences = [];
70
- insertTags = tags.map(([tag2, , precedence2]) => {
71
- let order = precedences.indexOf(precedence2);
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(precedence2);
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, "precedence" in 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;
@@ -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;
@@ -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;
@@ -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
- controller.enqueue(textEncoder.encode(resolved));
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
- controller.enqueue(textEncoder.encode(res));
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
- controller.close();
162
+ if (!cancelled) {
163
+ controller.close();
164
+ }
165
+ },
166
+ cancel() {
167
+ cancelled = true;
159
168
  }
160
169
  });
161
170
  return reader;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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),
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;