hono 4.13.13 → 5.0.0-rc.0

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 (444) hide show
  1. package/README.md +2 -2
  2. package/dist/{types/compose.d.ts → compose.d.ts} +1 -0
  3. package/dist/compose.js +10 -5
  4. package/dist/{types/context.d.ts → context.d.ts} +15 -15
  5. package/dist/context.js +79 -47
  6. package/dist/helper/factory/define-handler.d.ts +150 -0
  7. package/dist/helper/factory/define-handler.js +165 -0
  8. package/dist/{types/helper → helper}/factory/index.d.ts +30 -1
  9. package/dist/helper/factory/index.js +31 -3
  10. package/dist/{types/helper → helper}/ssg/middleware.d.ts +0 -6
  11. package/dist/helper/ssg/middleware.js +1 -16
  12. package/dist/{types/helper → helper}/ssg/ssg.d.ts +0 -12
  13. package/dist/helper/ssg/ssg.js +0 -3
  14. package/dist/{types/hono-base.d.ts → hono-base.d.ts} +3 -60
  15. package/dist/hono-base.js +6 -97
  16. package/dist/{types/hono.d.ts → hono.d.ts} +1 -1
  17. package/dist/{types/middleware → middleware}/basic-auth/index.d.ts +4 -3
  18. package/dist/middleware/basic-auth/index.js +1 -1
  19. package/dist/{types/middleware → middleware}/bearer-auth/index.d.ts +4 -27
  20. package/dist/middleware/bearer-auth/index.js +4 -4
  21. package/dist/middleware/language/language.js +1 -1
  22. package/dist/middleware/logger/index.js +6 -8
  23. package/dist/{types/middleware → middleware}/serve-static/index.d.ts +0 -4
  24. package/dist/{types/preset → preset}/quick.d.ts +1 -1
  25. package/dist/{types/preset → preset}/tiny.d.ts +1 -1
  26. package/dist/{types/request.d.ts → request.d.ts} +3 -48
  27. package/dist/request.js +0 -49
  28. package/dist/router/linear-router/router.js +4 -6
  29. package/dist/router/pattern-router/router.js +2 -2
  30. package/dist/router/reg-exp-router/node.js +1 -1
  31. package/dist/router/trie-router/node.js +3 -3
  32. package/dist/utils/buffer.d.ts +11 -0
  33. package/dist/utils/buffer.js +1 -8
  34. package/dist/utils/color.d.ts +16 -0
  35. package/dist/utils/color.js +7 -23
  36. package/dist/{types/utils → utils}/http-status.d.ts +1 -9
  37. package/dist/{types/utils → utils}/url.d.ts +0 -5
  38. package/dist/utils/url.js +1 -11
  39. package/dist/{types/validator → validator}/validator.d.ts +5 -0
  40. package/dist/validator/validator.js +46 -49
  41. package/package.json +209 -350
  42. package/dist/adapter/aws-lambda/conninfo.js +0 -43
  43. package/dist/adapter/aws-lambda/handler.js +0 -342
  44. package/dist/adapter/aws-lambda/index.js +0 -3
  45. package/dist/adapter/aws-lambda/types.js +0 -1
  46. package/dist/adapter/bun/conninfo.js +0 -22
  47. package/dist/adapter/bun/index.js +0 -6
  48. package/dist/adapter/bun/serve-static.js +0 -30
  49. package/dist/adapter/bun/server.js +0 -11
  50. package/dist/adapter/bun/ssg.js +0 -27
  51. package/dist/adapter/bun/websocket.js +0 -66
  52. package/dist/adapter/cloudflare-pages/conninfo.js +0 -24
  53. package/dist/adapter/cloudflare-pages/handler.js +0 -64
  54. package/dist/adapter/cloudflare-pages/index.js +0 -3
  55. package/dist/adapter/cloudflare-workers/conninfo.js +0 -7
  56. package/dist/adapter/cloudflare-workers/index.js +0 -4
  57. package/dist/adapter/cloudflare-workers/serve-static-module.js +0 -7
  58. package/dist/adapter/cloudflare-workers/serve-static.js +0 -28
  59. package/dist/adapter/cloudflare-workers/utils.js +0 -22
  60. package/dist/adapter/cloudflare-workers/websocket.js +0 -33
  61. package/dist/adapter/deno/conninfo.js +0 -17
  62. package/dist/adapter/deno/deno.d.js +0 -1
  63. package/dist/adapter/deno/index.js +0 -5
  64. package/dist/adapter/deno/serve-static.js +0 -35
  65. package/dist/adapter/deno/ssg.js +0 -29
  66. package/dist/adapter/deno/websocket.js +0 -32
  67. package/dist/adapter/lambda-edge/conninfo.js +0 -7
  68. package/dist/adapter/lambda-edge/handler.js +0 -111
  69. package/dist/adapter/lambda-edge/index.js +0 -3
  70. package/dist/adapter/netlify/conninfo.js +0 -24
  71. package/dist/adapter/netlify/handler.js +0 -11
  72. package/dist/adapter/netlify/index.js +0 -3
  73. package/dist/adapter/netlify/mod.js +0 -3
  74. package/dist/adapter/service-worker/handler.js +0 -16
  75. package/dist/adapter/service-worker/index.js +0 -25
  76. package/dist/adapter/service-worker/types.js +0 -1
  77. package/dist/adapter/vercel/conninfo.js +0 -7
  78. package/dist/adapter/vercel/handler.js +0 -9
  79. package/dist/adapter/vercel/index.js +0 -3
  80. package/dist/cjs/_virtual/_rolldown/runtime.js +0 -33
  81. package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -44
  82. package/dist/cjs/adapter/aws-lambda/handler.js +0 -352
  83. package/dist/cjs/adapter/aws-lambda/index.js +0 -7
  84. package/dist/cjs/adapter/aws-lambda/types.js +0 -0
  85. package/dist/cjs/adapter/bun/conninfo.js +0 -23
  86. package/dist/cjs/adapter/bun/index.js +0 -14
  87. package/dist/cjs/adapter/bun/serve-static.js +0 -31
  88. package/dist/cjs/adapter/bun/server.js +0 -12
  89. package/dist/cjs/adapter/bun/ssg.js +0 -29
  90. package/dist/cjs/adapter/bun/websocket.js +0 -70
  91. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -25
  92. package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -67
  93. package/dist/cjs/adapter/cloudflare-pages/index.js +0 -7
  94. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -8
  95. package/dist/cjs/adapter/cloudflare-workers/index.js +0 -7
  96. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -8
  97. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -29
  98. package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -23
  99. package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -34
  100. package/dist/cjs/adapter/deno/conninfo.js +0 -18
  101. package/dist/cjs/adapter/deno/deno.d.js +0 -0
  102. package/dist/cjs/adapter/deno/index.js +0 -10
  103. package/dist/cjs/adapter/deno/serve-static.js +0 -36
  104. package/dist/cjs/adapter/deno/ssg.js +0 -31
  105. package/dist/cjs/adapter/deno/websocket.js +0 -33
  106. package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -8
  107. package/dist/cjs/adapter/lambda-edge/handler.js +0 -116
  108. package/dist/cjs/adapter/lambda-edge/index.js +0 -5
  109. package/dist/cjs/adapter/netlify/conninfo.js +0 -25
  110. package/dist/cjs/adapter/netlify/handler.js +0 -12
  111. package/dist/cjs/adapter/netlify/index.js +0 -5
  112. package/dist/cjs/adapter/netlify/mod.js +0 -5
  113. package/dist/cjs/adapter/service-worker/handler.js +0 -17
  114. package/dist/cjs/adapter/service-worker/index.js +0 -27
  115. package/dist/cjs/adapter/service-worker/types.js +0 -0
  116. package/dist/cjs/adapter/vercel/conninfo.js +0 -8
  117. package/dist/cjs/adapter/vercel/handler.js +0 -10
  118. package/dist/cjs/adapter/vercel/index.js +0 -5
  119. package/dist/cjs/client/client.js +0 -145
  120. package/dist/cjs/client/fetch-result-please.js +0 -67
  121. package/dist/cjs/client/index.js +0 -7
  122. package/dist/cjs/client/types.js +0 -0
  123. package/dist/cjs/client/utils.js +0 -70
  124. package/dist/cjs/compose.js +0 -51
  125. package/dist/cjs/context.js +0 -383
  126. package/dist/cjs/helper/accepts/accepts.js +0 -54
  127. package/dist/cjs/helper/accepts/index.js +0 -3
  128. package/dist/cjs/helper/adapter/index.js +0 -41
  129. package/dist/cjs/helper/conninfo/index.js +0 -0
  130. package/dist/cjs/helper/conninfo/types.js +0 -0
  131. package/dist/cjs/helper/cookie/index.js +0 -89
  132. package/dist/cjs/helper/css/common.js +0 -194
  133. package/dist/cjs/helper/css/index.js +0 -142
  134. package/dist/cjs/helper/dev/index.js +0 -53
  135. package/dist/cjs/helper/factory/index.js +0 -33
  136. package/dist/cjs/helper/html/index.js +0 -34
  137. package/dist/cjs/helper/proxy/index.js +0 -122
  138. package/dist/cjs/helper/route/index.js +0 -128
  139. package/dist/cjs/helper/ssg/index.js +0 -19
  140. package/dist/cjs/helper/ssg/middleware.js +0 -65
  141. package/dist/cjs/helper/ssg/plugins.js +0 -68
  142. package/dist/cjs/helper/ssg/ssg.js +0 -220
  143. package/dist/cjs/helper/ssg/utils.js +0 -70
  144. package/dist/cjs/helper/streaming/index.js +0 -8
  145. package/dist/cjs/helper/streaming/sse.js +0 -59
  146. package/dist/cjs/helper/streaming/stream.js +0 -26
  147. package/dist/cjs/helper/streaming/text.js +0 -12
  148. package/dist/cjs/helper/streaming/utils.js +0 -16
  149. package/dist/cjs/helper/testing/index.js +0 -18
  150. package/dist/cjs/helper/websocket/index.js +0 -56
  151. package/dist/cjs/hono-base.js +0 -351
  152. package/dist/cjs/hono.js +0 -29
  153. package/dist/cjs/http-exception.js +0 -56
  154. package/dist/cjs/index.js +0 -22
  155. package/dist/cjs/jsx/base.js +0 -266
  156. package/dist/cjs/jsx/children.js +0 -19
  157. package/dist/cjs/jsx/components.js +0 -147
  158. package/dist/cjs/jsx/constants.js +0 -15
  159. package/dist/cjs/jsx/context.js +0 -170
  160. package/dist/cjs/jsx/dom/client.js +0 -56
  161. package/dist/cjs/jsx/dom/components.js +0 -26
  162. package/dist/cjs/jsx/dom/context.js +0 -43
  163. package/dist/cjs/jsx/dom/css.js +0 -153
  164. package/dist/cjs/jsx/dom/hooks/index.js +0 -65
  165. package/dist/cjs/jsx/dom/index.js +0 -122
  166. package/dist/cjs/jsx/dom/intrinsic-element/components.js +0 -306
  167. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -17
  168. package/dist/cjs/jsx/dom/jsx-runtime.js +0 -5
  169. package/dist/cjs/jsx/dom/render.js +0 -525
  170. package/dist/cjs/jsx/dom/server.js +0 -44
  171. package/dist/cjs/jsx/dom/utils.js +0 -9
  172. package/dist/cjs/jsx/hooks/index.js +0 -280
  173. package/dist/cjs/jsx/index.js +0 -89
  174. package/dist/cjs/jsx/intrinsic-element/common.js +0 -27
  175. package/dist/cjs/jsx/intrinsic-element/components.js +0 -138
  176. package/dist/cjs/jsx/intrinsic-elements.js +0 -0
  177. package/dist/cjs/jsx/jsx-dev-runtime.js +0 -16
  178. package/dist/cjs/jsx/jsx-runtime.js +0 -37
  179. package/dist/cjs/jsx/streaming.js +0 -135
  180. package/dist/cjs/jsx/types.js +0 -0
  181. package/dist/cjs/jsx/utils.js +0 -116
  182. package/dist/cjs/middleware/basic-auth/index.js +0 -100
  183. package/dist/cjs/middleware/bearer-auth/index.js +0 -97
  184. package/dist/cjs/middleware/body-limit/index.js +0 -69
  185. package/dist/cjs/middleware/cache/index.js +0 -173
  186. package/dist/cjs/middleware/combine/index.js +0 -141
  187. package/dist/cjs/middleware/compress/index.js +0 -82
  188. package/dist/cjs/middleware/context-storage/index.js +0 -55
  189. package/dist/cjs/middleware/cors/index.js +0 -109
  190. package/dist/cjs/middleware/csrf/index.js +0 -106
  191. package/dist/cjs/middleware/etag/digest.js +0 -62
  192. package/dist/cjs/middleware/etag/index.js +0 -79
  193. package/dist/cjs/middleware/ip-restriction/index.js +0 -168
  194. package/dist/cjs/middleware/jsx-renderer/index.js +0 -104
  195. package/dist/cjs/middleware/jwk/index.js +0 -3
  196. package/dist/cjs/middleware/jwk/jwk.js +0 -122
  197. package/dist/cjs/middleware/jwt/index.js +0 -9
  198. package/dist/cjs/middleware/jwt/jwt.js +0 -124
  199. package/dist/cjs/middleware/language/index.js +0 -7
  200. package/dist/cjs/middleware/language/language.js +0 -208
  201. package/dist/cjs/middleware/logger/index.js +0 -51
  202. package/dist/cjs/middleware/method-not-allowed/index.js +0 -84
  203. package/dist/cjs/middleware/method-override/index.js +0 -105
  204. package/dist/cjs/middleware/mount/index.js +0 -71
  205. package/dist/cjs/middleware/powered-by/index.js +0 -25
  206. package/dist/cjs/middleware/pretty-json/index.js +0 -41
  207. package/dist/cjs/middleware/request-id/index.js +0 -3
  208. package/dist/cjs/middleware/request-id/request-id.js +0 -35
  209. package/dist/cjs/middleware/secure-headers/index.js +0 -4
  210. package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -0
  211. package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -166
  212. package/dist/cjs/middleware/serve-static/index.js +0 -62
  213. package/dist/cjs/middleware/serve-static/path.js +0 -17
  214. package/dist/cjs/middleware/timeout/index.js +0 -42
  215. package/dist/cjs/middleware/timing/index.js +0 -7
  216. package/dist/cjs/middleware/timing/timing.js +0 -189
  217. package/dist/cjs/middleware/trailing-slash/index.js +0 -89
  218. package/dist/cjs/package.json +0 -3
  219. package/dist/cjs/preset/quick.js +0 -19
  220. package/dist/cjs/preset/tiny.js +0 -16
  221. package/dist/cjs/request/constants.js +0 -5
  222. package/dist/cjs/request.js +0 -337
  223. package/dist/cjs/router/linear-router/index.js +0 -3
  224. package/dist/cjs/router/linear-router/router.js +0 -97
  225. package/dist/cjs/router/pattern-router/index.js +0 -3
  226. package/dist/cjs/router/pattern-router/router.js +0 -42
  227. package/dist/cjs/router/reg-exp-router/index.js +0 -7
  228. package/dist/cjs/router/reg-exp-router/matcher.js +0 -21
  229. package/dist/cjs/router/reg-exp-router/node.js +0 -96
  230. package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -97
  231. package/dist/cjs/router/reg-exp-router/router.js +0 -102
  232. package/dist/cjs/router/reg-exp-router/trie.js +0 -74
  233. package/dist/cjs/router/smart-router/index.js +0 -3
  234. package/dist/cjs/router/smart-router/router.js +0 -50
  235. package/dist/cjs/router/trie-router/index.js +0 -3
  236. package/dist/cjs/router/trie-router/node.js +0 -135
  237. package/dist/cjs/router/trie-router/router.js +0 -16
  238. package/dist/cjs/router/utils.js +0 -5
  239. package/dist/cjs/router.js +0 -40
  240. package/dist/cjs/types.js +0 -5
  241. package/dist/cjs/utils/accept.js +0 -194
  242. package/dist/cjs/utils/basic-auth.js +0 -21
  243. package/dist/cjs/utils/body.js +0 -97
  244. package/dist/cjs/utils/buffer.js +0 -55
  245. package/dist/cjs/utils/color.js +0 -39
  246. package/dist/cjs/utils/compress.js +0 -12
  247. package/dist/cjs/utils/concurrent.js +0 -31
  248. package/dist/cjs/utils/constants.js +0 -8
  249. package/dist/cjs/utils/cookie.js +0 -129
  250. package/dist/cjs/utils/crypto.js +0 -38
  251. package/dist/cjs/utils/encode.js +0 -37
  252. package/dist/cjs/utils/filepath.js +0 -27
  253. package/dist/cjs/utils/handler.js +0 -14
  254. package/dist/cjs/utils/headers.js +0 -0
  255. package/dist/cjs/utils/html.js +0 -109
  256. package/dist/cjs/utils/http-status.js +0 -0
  257. package/dist/cjs/utils/ipaddr.js +0 -247
  258. package/dist/cjs/utils/jwt/index.js +0 -15
  259. package/dist/cjs/utils/jwt/jwa.js +0 -25
  260. package/dist/cjs/utils/jwt/jws.js +0 -135
  261. package/dist/cjs/utils/jwt/jwt.js +0 -136
  262. package/dist/cjs/utils/jwt/types.js +0 -124
  263. package/dist/cjs/utils/jwt/utf8.js +0 -11
  264. package/dist/cjs/utils/mime.js +0 -80
  265. package/dist/cjs/utils/stream.js +0 -89
  266. package/dist/cjs/utils/types.js +0 -0
  267. package/dist/cjs/utils/url.js +0 -215
  268. package/dist/cjs/validator/index.js +0 -3
  269. package/dist/cjs/validator/utils.js +0 -0
  270. package/dist/cjs/validator/validator.js +0 -65
  271. package/dist/types/adapter/aws-lambda/conninfo.d.ts +0 -30
  272. package/dist/types/adapter/aws-lambda/handler.d.ts +0 -230
  273. package/dist/types/adapter/aws-lambda/index.d.ts +0 -4
  274. package/dist/types/adapter/aws-lambda/types.d.ts +0 -183
  275. package/dist/types/adapter/bun/conninfo.d.ts +0 -10
  276. package/dist/types/adapter/bun/index.d.ts +0 -6
  277. package/dist/types/adapter/bun/serve-static.d.ts +0 -8
  278. package/dist/types/adapter/bun/server.d.ts +0 -11
  279. package/dist/types/adapter/bun/ssg.d.ts +0 -17
  280. package/dist/types/adapter/bun/websocket.d.ts +0 -54
  281. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +0 -24
  282. package/dist/types/adapter/cloudflare-pages/handler.d.ts +0 -45
  283. package/dist/types/adapter/cloudflare-pages/index.d.ts +0 -3
  284. package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +0 -7
  285. package/dist/types/adapter/cloudflare-workers/index.d.ts +0 -4
  286. package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +0 -7
  287. package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +0 -21
  288. package/dist/types/adapter/cloudflare-workers/utils.d.ts +0 -13
  289. package/dist/types/adapter/cloudflare-workers/websocket.d.ts +0 -7
  290. package/dist/types/adapter/deno/conninfo.d.ts +0 -10
  291. package/dist/types/adapter/deno/deno.d.ts +0 -1
  292. package/dist/types/adapter/deno/index.d.ts +0 -5
  293. package/dist/types/adapter/deno/serve-static.d.ts +0 -8
  294. package/dist/types/adapter/deno/ssg.d.ts +0 -17
  295. package/dist/types/adapter/deno/websocket.d.ts +0 -7
  296. package/dist/types/adapter/lambda-edge/conninfo.d.ts +0 -7
  297. package/dist/types/adapter/lambda-edge/handler.d.ts +0 -113
  298. package/dist/types/adapter/lambda-edge/index.d.ts +0 -3
  299. package/dist/types/adapter/netlify/conninfo.d.ts +0 -24
  300. package/dist/types/adapter/netlify/handler.d.ts +0 -7
  301. package/dist/types/adapter/netlify/index.d.ts +0 -3
  302. package/dist/types/adapter/netlify/mod.d.ts +0 -3
  303. package/dist/types/adapter/service-worker/handler.d.ts +0 -18
  304. package/dist/types/adapter/service-worker/index.d.ts +0 -26
  305. package/dist/types/adapter/service-worker/types.d.ts +0 -17
  306. package/dist/types/adapter/vercel/conninfo.d.ts +0 -7
  307. package/dist/types/adapter/vercel/handler.d.ts +0 -7
  308. package/dist/types/adapter/vercel/index.d.ts +0 -3
  309. package/dist/types/package.json +0 -3
  310. package/dist/types/utils/buffer.d.ts +0 -19
  311. package/dist/types/utils/color.d.ts +0 -23
  312. package/dist/{types/client → client}/client.d.ts +0 -0
  313. package/dist/{types/client → client}/fetch-result-please.d.ts +0 -0
  314. package/dist/{types/client → client}/index.d.ts +0 -0
  315. package/dist/{types/client → client}/types.d.ts +1 -1
  316. package/dist/{types/client → client}/utils.d.ts +0 -0
  317. package/dist/{types/helper → helper}/accepts/accepts.d.ts +0 -0
  318. package/dist/{types/helper → helper}/accepts/index.d.ts +0 -0
  319. package/dist/{types/helper → helper}/adapter/index.d.ts +0 -0
  320. package/dist/{types/helper → helper}/conninfo/index.d.ts +0 -0
  321. package/dist/{types/helper → helper}/conninfo/types.d.ts +0 -0
  322. package/dist/{types/helper → helper}/cookie/index.d.ts +0 -0
  323. package/dist/{types/helper → helper}/css/common.d.ts +0 -0
  324. package/dist/{types/helper → helper}/css/index.d.ts +0 -0
  325. package/dist/{types/helper → helper}/dev/index.d.ts +0 -0
  326. package/dist/{types/helper → helper}/html/index.d.ts +0 -0
  327. package/dist/{types/helper → helper}/proxy/index.d.ts +0 -0
  328. package/dist/{types/helper → helper}/route/index.d.ts +0 -0
  329. package/dist/{types/helper → helper}/ssg/index.d.ts +0 -0
  330. package/dist/{types/helper → helper}/ssg/plugins.d.ts +0 -0
  331. package/dist/{types/helper → helper}/ssg/utils.d.ts +0 -0
  332. package/dist/{types/helper → helper}/streaming/index.d.ts +0 -0
  333. package/dist/{types/helper → helper}/streaming/sse.d.ts +0 -0
  334. package/dist/{types/helper → helper}/streaming/stream.d.ts +0 -0
  335. package/dist/{types/helper → helper}/streaming/text.d.ts +0 -0
  336. package/dist/{types/helper → helper}/streaming/utils.d.ts +0 -0
  337. package/dist/{types/helper → helper}/testing/index.d.ts +0 -0
  338. package/dist/{types/helper → helper}/websocket/index.d.ts +0 -0
  339. package/dist/{types/http-exception.d.ts → http-exception.d.ts} +0 -0
  340. package/dist/{types/index.d.ts → index.d.ts} +0 -0
  341. package/dist/{types/jsx → jsx}/base.d.ts +0 -0
  342. package/dist/{types/jsx → jsx}/children.d.ts +0 -0
  343. package/dist/{types/jsx → jsx}/components.d.ts +0 -0
  344. package/dist/{types/jsx → jsx}/constants.d.ts +0 -0
  345. package/dist/{types/jsx → jsx}/context.d.ts +0 -0
  346. package/dist/{types/jsx → jsx}/dom/client.d.ts +0 -0
  347. package/dist/{types/jsx → jsx}/dom/components.d.ts +0 -0
  348. package/dist/{types/jsx → jsx}/dom/context.d.ts +0 -0
  349. package/dist/{types/jsx → jsx}/dom/css.d.ts +0 -0
  350. package/dist/{types/jsx → jsx}/dom/hooks/index.d.ts +0 -0
  351. package/dist/{types/jsx → jsx}/dom/index.d.ts +0 -0
  352. package/dist/{types/jsx → jsx}/dom/intrinsic-element/components.d.ts +0 -0
  353. package/dist/{types/jsx → jsx}/dom/jsx-dev-runtime.d.ts +0 -0
  354. package/dist/{types/jsx → jsx}/dom/jsx-runtime.d.ts +0 -0
  355. package/dist/{types/jsx → jsx}/dom/render.d.ts +0 -0
  356. package/dist/{types/jsx → jsx}/dom/server.d.ts +0 -0
  357. package/dist/{types/jsx → jsx}/dom/utils.d.ts +0 -0
  358. package/dist/{types/jsx → jsx}/hooks/index.d.ts +0 -0
  359. package/dist/{types/jsx → jsx}/index.d.ts +0 -0
  360. package/dist/{types/jsx → jsx}/intrinsic-element/common.d.ts +0 -0
  361. package/dist/{types/jsx → jsx}/intrinsic-element/components.d.ts +0 -0
  362. package/dist/{types/jsx → jsx}/intrinsic-elements.d.ts +0 -0
  363. package/dist/{types/jsx → jsx}/jsx-dev-runtime.d.ts +0 -0
  364. package/dist/{types/jsx → jsx}/jsx-runtime.d.ts +0 -0
  365. package/dist/{types/jsx → jsx}/streaming.d.ts +0 -0
  366. package/dist/{types/jsx → jsx}/types.d.ts +0 -0
  367. package/dist/{types/jsx → jsx}/utils.d.ts +0 -0
  368. package/dist/{types/middleware → middleware}/body-limit/index.d.ts +0 -0
  369. package/dist/{types/middleware → middleware}/cache/index.d.ts +0 -0
  370. package/dist/{types/middleware → middleware}/combine/index.d.ts +0 -0
  371. package/dist/{types/middleware → middleware}/compress/index.d.ts +0 -0
  372. package/dist/{types/middleware → middleware}/context-storage/index.d.ts +0 -0
  373. package/dist/{types/middleware → middleware}/cors/index.d.ts +0 -0
  374. package/dist/{types/middleware → middleware}/csrf/index.d.ts +0 -0
  375. package/dist/{types/middleware → middleware}/etag/digest.d.ts +0 -0
  376. package/dist/{types/middleware → middleware}/etag/index.d.ts +0 -0
  377. package/dist/{types/middleware → middleware}/ip-restriction/index.d.ts +0 -0
  378. package/dist/{types/middleware → middleware}/jsx-renderer/index.d.ts +0 -0
  379. package/dist/{types/middleware → middleware}/jwk/index.d.ts +0 -0
  380. package/dist/{types/middleware → middleware}/jwk/jwk.d.ts +0 -0
  381. package/dist/{types/middleware → middleware}/jwt/index.d.ts +0 -0
  382. package/dist/{types/middleware → middleware}/jwt/jwt.d.ts +0 -0
  383. package/dist/{types/middleware → middleware}/language/index.d.ts +0 -0
  384. package/dist/{types/middleware → middleware}/language/language.d.ts +0 -0
  385. package/dist/{types/middleware → middleware}/logger/index.d.ts +0 -0
  386. package/dist/{types/middleware → middleware}/method-not-allowed/index.d.ts +0 -0
  387. package/dist/{types/middleware → middleware}/method-override/index.d.ts +0 -0
  388. package/dist/{types/middleware → middleware}/mount/index.d.ts +0 -0
  389. package/dist/{types/middleware → middleware}/powered-by/index.d.ts +0 -0
  390. package/dist/{types/middleware → middleware}/pretty-json/index.d.ts +0 -0
  391. package/dist/{types/middleware → middleware}/request-id/index.d.ts +0 -0
  392. package/dist/{types/middleware → middleware}/request-id/request-id.d.ts +0 -0
  393. package/dist/{types/middleware → middleware}/secure-headers/index.d.ts +0 -0
  394. package/dist/{types/middleware → middleware}/secure-headers/permissions-policy.d.ts +0 -0
  395. package/dist/{types/middleware → middleware}/secure-headers/secure-headers.d.ts +0 -0
  396. package/dist/{types/middleware → middleware}/serve-static/path.d.ts +0 -0
  397. package/dist/{types/middleware → middleware}/timeout/index.d.ts +0 -0
  398. package/dist/{types/middleware → middleware}/timing/index.d.ts +0 -0
  399. package/dist/{types/middleware → middleware}/timing/timing.d.ts +0 -0
  400. package/dist/{types/middleware → middleware}/trailing-slash/index.d.ts +0 -0
  401. package/dist/{types/request → request}/constants.d.ts +0 -0
  402. package/dist/{types/router → router}/linear-router/index.d.ts +0 -0
  403. package/dist/{types/router → router}/linear-router/router.d.ts +0 -0
  404. package/dist/{types/router → router}/pattern-router/index.d.ts +0 -0
  405. package/dist/{types/router → router}/pattern-router/router.d.ts +0 -0
  406. package/dist/{types/router → router}/reg-exp-router/index.d.ts +0 -0
  407. package/dist/{types/router → router}/reg-exp-router/matcher.d.ts +0 -0
  408. package/dist/{types/router → router}/reg-exp-router/node.d.ts +0 -0
  409. package/dist/{types/router → router}/reg-exp-router/prepared-router.d.ts +0 -0
  410. package/dist/{types/router → router}/reg-exp-router/router.d.ts +0 -0
  411. package/dist/{types/router → router}/reg-exp-router/trie.d.ts +0 -0
  412. package/dist/{types/router → router}/smart-router/index.d.ts +0 -0
  413. package/dist/{types/router → router}/smart-router/router.d.ts +0 -0
  414. package/dist/{types/router → router}/trie-router/index.d.ts +0 -0
  415. package/dist/{types/router → router}/trie-router/node.d.ts +0 -0
  416. package/dist/{types/router → router}/trie-router/router.d.ts +0 -0
  417. package/dist/{types/router → router}/utils.d.ts +0 -0
  418. package/dist/{types/router.d.ts → router.d.ts} +0 -0
  419. package/dist/{types/types.d.ts → types.d.ts} +1 -1
  420. /package/dist/{types/utils → utils}/accept.d.ts +0 -0
  421. /package/dist/{types/utils → utils}/basic-auth.d.ts +0 -0
  422. /package/dist/{types/utils → utils}/body.d.ts +0 -0
  423. /package/dist/{types/utils → utils}/compress.d.ts +0 -0
  424. /package/dist/{types/utils → utils}/concurrent.d.ts +0 -0
  425. /package/dist/{types/utils → utils}/constants.d.ts +0 -0
  426. /package/dist/{types/utils → utils}/cookie.d.ts +0 -0
  427. /package/dist/{types/utils → utils}/crypto.d.ts +0 -0
  428. /package/dist/{types/utils → utils}/encode.d.ts +0 -0
  429. /package/dist/{types/utils → utils}/filepath.d.ts +0 -0
  430. /package/dist/{types/utils → utils}/handler.d.ts +0 -0
  431. /package/dist/{types/utils → utils}/headers.d.ts +0 -0
  432. /package/dist/{types/utils → utils}/html.d.ts +0 -0
  433. /package/dist/{types/utils → utils}/ipaddr.d.ts +0 -0
  434. /package/dist/{types/utils → utils}/jwt/index.d.ts +0 -0
  435. /package/dist/{types/utils → utils}/jwt/jwa.d.ts +0 -0
  436. /package/dist/{types/utils → utils}/jwt/jws.d.ts +0 -0
  437. /package/dist/{types/utils → utils}/jwt/jwt.d.ts +0 -0
  438. /package/dist/{types/utils → utils}/jwt/types.d.ts +0 -0
  439. /package/dist/{types/utils → utils}/jwt/utf8.d.ts +0 -0
  440. /package/dist/{types/utils → utils}/mime.d.ts +0 -0
  441. /package/dist/{types/utils → utils}/stream.d.ts +0 -0
  442. /package/dist/{types/utils → utils}/types.d.ts +0 -0
  443. /package/dist/{types/validator → validator}/index.d.ts +0 -0
  444. /package/dist/{types/validator → validator}/utils.d.ts +0 -0
@@ -1,525 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_jsx_constants = require("../constants.js");
3
- const require_jsx_dom_context = require("./context.js");
4
- const require_jsx_context = require("../context.js");
5
- const require_jsx_children = require("../children.js");
6
- const require_jsx_utils = require("../utils.js");
7
- require("../hooks/index.js");
8
- //#region src/jsx/dom/render.ts
9
- const HONO_PORTAL_ELEMENT = "_hp";
10
- const eventAliasMap = {
11
- Change: "Input",
12
- DoubleClick: "DblClick"
13
- };
14
- const nameSpaceMap = {
15
- svg: "2000/svg",
16
- math: "1998/Math/MathML"
17
- };
18
- const buildDataStack = [];
19
- const refCleanupMap = /* @__PURE__ */ new WeakMap();
20
- let nameSpaceContext = void 0;
21
- const getNameSpaceContext = () => nameSpaceContext;
22
- const isNodeString = (node) => "t" in node;
23
- const eventCache = { onClick: ["click", false] };
24
- const getEventSpec = (key) => {
25
- if (!key.startsWith("on")) return;
26
- if (eventCache[key]) return eventCache[key];
27
- const match = key.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);
28
- if (match) {
29
- const [, eventName, capture] = match;
30
- return eventCache[key] = [(eventAliasMap[eventName] || eventName).toLowerCase(), !!capture];
31
- }
32
- };
33
- const toAttributeName = (element, key) => nameSpaceContext && element instanceof SVGElement && /[A-Z]/.test(key) && (key in element.style || key.match(/^(?:o|pai|str|u|ve)/)) ? key.replace(/([A-Z])/g, "-$1").toLowerCase() : key;
34
- const normalizeFormValue = (value) => value === null || value === void 0 || value === false ? null : value;
35
- const applySelectValue = (select, props) => {
36
- if (!("value" in props)) return;
37
- select.value = normalizeFormValue(props["value"]);
38
- if (!select.multiple && select.selectedIndex === -1) select.selectedIndex = 0;
39
- };
40
- const isIgnorableAttributeError = (error) => error instanceof DOMException && error.name === "InvalidCharacterError";
41
- const applyProps = (container, attributes, oldAttributes) => {
42
- attributes ||= {};
43
- for (let key in attributes) {
44
- const value = attributes[key];
45
- if (key !== "children" && (!oldAttributes || oldAttributes[key] !== value)) {
46
- key = require_jsx_utils.normalizeIntrinsicElementKey(key);
47
- const eventSpec = getEventSpec(key);
48
- if (eventSpec) {
49
- if (oldAttributes?.[key] !== value) {
50
- if (oldAttributes) container.removeEventListener(eventSpec[0], oldAttributes[key], eventSpec[1]);
51
- if (value != null) {
52
- if (typeof value !== "function") throw new Error(`Event handler for "${key}" is not a function`);
53
- container.addEventListener(eventSpec[0], value, eventSpec[1]);
54
- }
55
- }
56
- } else if (key === "dangerouslySetInnerHTML" && value) container.innerHTML = value.__html;
57
- else if (key === "ref") {
58
- refCleanupMap.get(container)?.();
59
- let cleanup;
60
- if (typeof value === "function") cleanup = value(container) || (() => value(null));
61
- else if (value && "current" in value) {
62
- value.current = container;
63
- cleanup = () => value.current = null;
64
- }
65
- refCleanupMap.set(container, cleanup);
66
- } else if (key === "style") {
67
- const style = container.style;
68
- if (typeof value === "string") style.cssText = value;
69
- else {
70
- style.cssText = "";
71
- if (value != null) require_jsx_utils.styleObjectForEach(value, style.setProperty.bind(style));
72
- }
73
- } else {
74
- if (key === "value") {
75
- const nodeName = container.nodeName;
76
- if (nodeName === "SELECT") continue;
77
- else if (nodeName === "INPUT" || nodeName === "TEXTAREA") {
78
- container.value = normalizeFormValue(value);
79
- if (nodeName === "TEXTAREA") {
80
- container.textContent = value;
81
- continue;
82
- }
83
- }
84
- } else if (key === "checked" && container.nodeName === "INPUT" || key === "selected" && container.nodeName === "OPTION") container[key] = value;
85
- const k = toAttributeName(container, key);
86
- try {
87
- if (value === null || value === void 0 || value === false) container.removeAttribute(k);
88
- else if (value === true) container.setAttribute(k, "");
89
- else if (typeof value === "string" || typeof value === "number") container.setAttribute(k, value);
90
- else container.setAttribute(k, value.toString());
91
- } catch (e) {
92
- if (!isIgnorableAttributeError(e)) throw e;
93
- }
94
- }
95
- }
96
- }
97
- if (oldAttributes) for (let key in oldAttributes) {
98
- const value = oldAttributes[key];
99
- if (key !== "children" && !(key in attributes)) {
100
- key = require_jsx_utils.normalizeIntrinsicElementKey(key);
101
- const eventSpec = getEventSpec(key);
102
- if (eventSpec) container.removeEventListener(eventSpec[0], value, eventSpec[1]);
103
- else if (key === "ref") {
104
- refCleanupMap.get(container)?.();
105
- refCleanupMap.delete(container);
106
- } else try {
107
- container.removeAttribute(toAttributeName(container, key));
108
- } catch (e) {
109
- if (!isIgnorableAttributeError(e)) throw e;
110
- }
111
- }
112
- }
113
- };
114
- const invokeTag = (context, node) => {
115
- node[require_jsx_constants.DOM_STASH][0] = 0;
116
- buildDataStack.push([context, node]);
117
- const func = node.tag[require_jsx_constants.DOM_RENDERER] || node.tag;
118
- const props = func.defaultProps ? {
119
- ...func.defaultProps,
120
- ...node.props
121
- } : node.props;
122
- try {
123
- return [func.call(null, props)];
124
- } finally {
125
- buildDataStack.pop();
126
- }
127
- };
128
- const getNextChildren = (node, container, nextChildren, childrenToRemove, callbacks) => {
129
- if (node.vR?.length) {
130
- childrenToRemove.push(...node.vR);
131
- delete node.vR;
132
- }
133
- if (typeof node.tag === "function") node[require_jsx_constants.DOM_STASH][1][1]?.forEach((data) => callbacks.push(data));
134
- node.vC.forEach((child) => {
135
- if (isNodeString(child)) nextChildren.push(child);
136
- else if (typeof child.tag === "function" || child.tag === "") {
137
- child.c = container;
138
- const currentNextChildrenIndex = nextChildren.length;
139
- getNextChildren(child, container, nextChildren, childrenToRemove, callbacks);
140
- if (child.s) {
141
- for (let i = currentNextChildrenIndex; i < nextChildren.length; i++) nextChildren[i].s = true;
142
- child.s = false;
143
- }
144
- } else {
145
- nextChildren.push(child);
146
- if (child.vR?.length) {
147
- childrenToRemove.push(...child.vR);
148
- delete child.vR;
149
- }
150
- }
151
- });
152
- };
153
- const findInsertBefore = (node) => {
154
- while (node && (node.tag === HONO_PORTAL_ELEMENT || !node.e)) node = node.tag === HONO_PORTAL_ELEMENT || !node.vC?.[0] ? node.nN : node.vC[0];
155
- return node?.e;
156
- };
157
- const removeNode = (node) => {
158
- if (!isNodeString(node)) {
159
- node[require_jsx_constants.DOM_STASH]?.[1][1]?.forEach((data) => data[2]?.());
160
- refCleanupMap.get(node.e)?.();
161
- if (node.p === 2) node.vC?.forEach((n) => n.p = 2);
162
- node.vC?.forEach(removeNode);
163
- }
164
- if (!node.p) {
165
- node.e?.remove();
166
- delete node.e;
167
- }
168
- if (typeof node.tag === "function") {
169
- updateMap.delete(node);
170
- fallbackUpdateFnArrayMap.delete(node);
171
- delete node[require_jsx_constants.DOM_STASH][3];
172
- node.a = true;
173
- }
174
- };
175
- const apply = (node, container, isNew) => {
176
- node.c = container;
177
- applyNodeObject(node, container, isNew);
178
- };
179
- const findChildNodeIndex = (childNodes, child) => {
180
- if (!child) return;
181
- for (let i = 0, len = childNodes.length; i < len; i++) if (childNodes[i] === child) return i;
182
- };
183
- const cancelBuild = Symbol();
184
- const applyNodeObject = (node, container, isNew) => {
185
- const next = [];
186
- const remove = [];
187
- const callbacks = [];
188
- getNextChildren(node, container, next, remove, callbacks);
189
- remove.forEach(removeNode);
190
- const childNodes = isNew ? void 0 : container.childNodes;
191
- let offset;
192
- let insertBeforeNode = null;
193
- if (isNew) offset = -1;
194
- else if (!childNodes.length) offset = 0;
195
- else {
196
- const offsetByNextNode = findChildNodeIndex(childNodes, findInsertBefore(node.nN));
197
- if (offsetByNextNode !== void 0) {
198
- insertBeforeNode = childNodes[offsetByNextNode];
199
- offset = offsetByNextNode;
200
- } else offset = findChildNodeIndex(childNodes, next.find((n) => n.tag !== HONO_PORTAL_ELEMENT && n.e)?.e) ?? -1;
201
- if (offset === -1) isNew = true;
202
- }
203
- for (let i = 0, len = next.length; i < len; i++, offset++) {
204
- const child = next[i];
205
- let el;
206
- if (child.s && child.e) {
207
- el = child.e;
208
- child.s = false;
209
- } else {
210
- const isNewLocal = isNew || !child.e;
211
- if (isNodeString(child)) {
212
- if (child.e && child.d) child.e.textContent = child.t;
213
- child.d = false;
214
- el = child.e ||= document.createTextNode(child.t);
215
- } else {
216
- el = child.e ||= child.n ? document.createElementNS(child.n, child.tag) : document.createElement(child.tag);
217
- applyProps(el, child.props, child.pP);
218
- applyNodeObject(child, el, isNewLocal);
219
- if (child.tag === "select") applySelectValue(el, child.props);
220
- }
221
- }
222
- if (child.tag === HONO_PORTAL_ELEMENT) offset--;
223
- else if (isNew) {
224
- if (!el.parentNode) container.appendChild(el);
225
- } else if (childNodes[offset] !== el && childNodes[offset - 1] !== el) {
226
- if (childNodes[offset + 1] === el) container.appendChild(childNodes[offset]);
227
- else container.insertBefore(el, insertBeforeNode || childNodes[offset] || null);
228
- }
229
- }
230
- if (node.pP) node.pP = void 0;
231
- if (callbacks.length) {
232
- const useLayoutEffectCbs = [];
233
- const useEffectCbs = [];
234
- callbacks.forEach(([, useLayoutEffectCb, , useEffectCb, useInsertionEffectCb]) => {
235
- if (useLayoutEffectCb) useLayoutEffectCbs.push(useLayoutEffectCb);
236
- if (useEffectCb) useEffectCbs.push(useEffectCb);
237
- useInsertionEffectCb?.();
238
- });
239
- useLayoutEffectCbs.forEach((cb) => cb());
240
- if (useEffectCbs.length) requestAnimationFrame(() => {
241
- useEffectCbs.forEach((cb) => cb());
242
- });
243
- }
244
- };
245
- const isSameContext = (oldContexts, newContexts) => !!(oldContexts && oldContexts.length === newContexts.length && oldContexts.every((ctx, i) => ctx[1] === newContexts[i][1]));
246
- const indexChildrenByKey = (children) => {
247
- const index = /* @__PURE__ */ new Map();
248
- for (const child of children) {
249
- const key = child.key;
250
- if (index.has(key)) return;
251
- index.set(key, child);
252
- }
253
- return index;
254
- };
255
- const fallbackUpdateFnArrayMap = /* @__PURE__ */ new WeakMap();
256
- const build = (context, node, children) => {
257
- const buildWithPreviousChildren = !children && node.pC;
258
- if (children) node.pC ||= node.vC;
259
- let foundErrorHandler;
260
- try {
261
- children ||= typeof node.tag == "function" ? invokeTag(context, node) : require_jsx_children.toArray(node.props.children);
262
- if (children[0]?.tag === "" && children[0][require_jsx_constants.DOM_ERROR_HANDLER]) {
263
- foundErrorHandler = children[0][require_jsx_constants.DOM_ERROR_HANDLER];
264
- context[5].push([
265
- context,
266
- foundErrorHandler,
267
- node
268
- ]);
269
- }
270
- let oldVChildren = buildWithPreviousChildren ? [...node.pC] : node.vC ? [...node.vC] : void 0;
271
- const vChildren = [];
272
- let prevNode;
273
- let scanBudget = (oldVChildren?.length || 0) * 2;
274
- let oldChildrenByKey;
275
- for (let i = 0; i < children.length; i++) {
276
- if (Array.isArray(children[i])) {
277
- children.splice(i, 1, ...children[i].flat(Infinity));
278
- i--;
279
- continue;
280
- }
281
- let child = buildNode(children[i]);
282
- if (child) {
283
- if (typeof child.tag === "function" && !child.tag[require_jsx_constants.DOM_INTERNAL_TAG]) {
284
- if (require_jsx_context.globalContexts.length > 0) child[require_jsx_constants.DOM_STASH][2] = require_jsx_context.globalContexts.map((c) => [c, c.values.at(-1)]);
285
- if (context[5]?.length) child[require_jsx_constants.DOM_STASH][3] = context[5].at(-1);
286
- }
287
- let oldChild;
288
- if (oldChildrenByKey && child.key === void 0 && !isNodeString(child)) {
289
- oldVChildren = [...oldChildrenByKey.values()];
290
- oldChildrenByKey = void 0;
291
- }
292
- if (oldChildrenByKey) {
293
- const key = child.key;
294
- const candidate = oldChildrenByKey.get(key);
295
- if (candidate && (isNodeString(child) ? isNodeString(candidate) : candidate.tag === child.tag && candidate.key === key)) {
296
- oldChild = candidate;
297
- oldChildrenByKey.delete(key);
298
- }
299
- } else if (oldVChildren && oldVChildren.length) {
300
- const first = oldVChildren[0];
301
- if (isNodeString(child) ? isNodeString(first) : !isNodeString(first) && (child.key !== void 0 ? first.key === child.key && first.tag === child.tag : first.tag === child.tag)) oldChild = oldVChildren.shift();
302
- else {
303
- const i = oldVChildren.findIndex(isNodeString(child) ? (c) => isNodeString(c) : child.key !== void 0 ? (c) => c.key === child.key && c.tag === child.tag : (c) => c.tag === child.tag);
304
- scanBudget -= i === -1 ? oldVChildren.length : i;
305
- if (i !== -1) {
306
- oldChild = oldVChildren[i];
307
- oldVChildren.splice(i, 1);
308
- }
309
- if (scanBudget < 0) {
310
- scanBudget = Infinity;
311
- oldChildrenByKey = indexChildrenByKey(oldVChildren);
312
- }
313
- }
314
- }
315
- if (oldChild) {
316
- if (isNodeString(child)) {
317
- if (oldChild.t !== child.t) {
318
- oldChild.t = child.t;
319
- oldChild.d = true;
320
- }
321
- child = oldChild;
322
- } else {
323
- const pP = oldChild.pP = oldChild.props;
324
- oldChild.props = child.props;
325
- oldChild.f ||= child.f || node.f;
326
- if (typeof child.tag === "function") {
327
- const oldContexts = oldChild[require_jsx_constants.DOM_STASH][2];
328
- oldChild[require_jsx_constants.DOM_STASH][2] = child[require_jsx_constants.DOM_STASH][2] || [];
329
- oldChild[require_jsx_constants.DOM_STASH][3] = child[require_jsx_constants.DOM_STASH][3];
330
- if (!oldChild.f && ((oldChild.o || oldChild) === child.o || oldChild.tag[require_jsx_constants.DOM_MEMO]?.(pP, oldChild.props)) && isSameContext(oldContexts, oldChild[require_jsx_constants.DOM_STASH][2])) oldChild.s = true;
331
- }
332
- child = oldChild;
333
- }
334
- } else if (!isNodeString(child) && nameSpaceContext) {
335
- const ns = require_jsx_context.useContext(nameSpaceContext);
336
- if (ns) child.n = ns;
337
- }
338
- if (!isNodeString(child) && !child.s) {
339
- build(context, child);
340
- delete child.f;
341
- }
342
- vChildren.push(child);
343
- if (prevNode && !prevNode.s && !child.s) for (let p = prevNode; p && !isNodeString(p); p = p.vC?.at(-1)) p.nN = child;
344
- prevNode = child;
345
- }
346
- }
347
- oldVChildren = oldChildrenByKey ? [...oldChildrenByKey.values()] : oldVChildren;
348
- node.vR = buildWithPreviousChildren ? [...node.vC, ...oldVChildren || []] : oldVChildren || [];
349
- node.vC = vChildren;
350
- if (buildWithPreviousChildren) delete node.pC;
351
- } catch (e) {
352
- node.f = true;
353
- if (e === cancelBuild) {
354
- if (foundErrorHandler) return;
355
- else throw e;
356
- }
357
- const [errorHandlerContext, errorHandler, errorHandlerNode] = node[require_jsx_constants.DOM_STASH]?.[3] || [];
358
- if (errorHandler) {
359
- const fallbackUpdateFn = () => update([
360
- 0,
361
- false,
362
- context[2]
363
- ], errorHandlerNode);
364
- const fallbackUpdateFnArray = fallbackUpdateFnArrayMap.get(errorHandlerNode) || [];
365
- fallbackUpdateFnArray.push(fallbackUpdateFn);
366
- fallbackUpdateFnArrayMap.set(errorHandlerNode, fallbackUpdateFnArray);
367
- const fallback = errorHandler(e, () => {
368
- const fnArray = fallbackUpdateFnArrayMap.get(errorHandlerNode);
369
- if (fnArray) {
370
- const i = fnArray.indexOf(fallbackUpdateFn);
371
- if (i !== -1) {
372
- fnArray.splice(i, 1);
373
- return fallbackUpdateFn();
374
- }
375
- }
376
- });
377
- if (fallback) {
378
- if (context[0] === 1) context[1] = true;
379
- else {
380
- build(context, errorHandlerNode, [fallback]);
381
- if ((errorHandler.length === 1 || context !== errorHandlerContext) && errorHandlerNode.c) {
382
- apply(errorHandlerNode, errorHandlerNode.c, false);
383
- return;
384
- }
385
- }
386
- throw cancelBuild;
387
- }
388
- }
389
- throw e;
390
- } finally {
391
- if (foundErrorHandler) context[5].pop();
392
- }
393
- };
394
- const buildNode = (node) => {
395
- if (node === void 0 || node === null || typeof node === "boolean") return;
396
- else if (typeof node === "string" || typeof node === "number") return {
397
- t: node.toString(),
398
- d: true
399
- };
400
- else {
401
- if ("vR" in node) node = {
402
- tag: node.tag,
403
- props: node.props,
404
- key: node.key,
405
- f: node.f,
406
- type: node.tag,
407
- ref: node.props.ref,
408
- o: node.o || node
409
- };
410
- if (typeof node.tag === "function") node[require_jsx_constants.DOM_STASH] = [0, []];
411
- else {
412
- const ns = nameSpaceMap[node.tag];
413
- if (ns) {
414
- nameSpaceContext ||= require_jsx_dom_context.createContext("");
415
- node.props.children = [{
416
- tag: nameSpaceContext,
417
- props: {
418
- value: node.n = `http://www.w3.org/${ns}`,
419
- children: node.props.children
420
- }
421
- }];
422
- }
423
- }
424
- return node;
425
- }
426
- };
427
- const replaceContainer = (node, from, to) => {
428
- if (node.c === from) {
429
- node.c = to;
430
- node.vC.forEach((child) => replaceContainer(child, from, to));
431
- }
432
- };
433
- const updateSync = (context, node) => {
434
- node[require_jsx_constants.DOM_STASH][2]?.forEach(([c, v]) => {
435
- c.values.push(v);
436
- });
437
- try {
438
- build(context, node, void 0);
439
- } catch {
440
- return;
441
- }
442
- if (node.a) {
443
- delete node.a;
444
- return;
445
- }
446
- node[require_jsx_constants.DOM_STASH][2]?.forEach(([c]) => {
447
- c.values.pop();
448
- });
449
- if (context[0] !== 1 || !context[1]) apply(node, node.c, false);
450
- };
451
- const updateMap = /* @__PURE__ */ new WeakMap();
452
- const currentUpdateSets = [];
453
- const update = async (context, node) => {
454
- context[5] ||= [];
455
- const existing = updateMap.get(node);
456
- if (existing) existing[0](void 0);
457
- let resolve;
458
- const promise = new Promise((r) => resolve = r);
459
- updateMap.set(node, [resolve, () => {
460
- if (context[2]) context[2](context, node, (context) => {
461
- updateSync(context, node);
462
- }).then(() => resolve(node));
463
- else {
464
- updateSync(context, node);
465
- resolve(node);
466
- }
467
- }]);
468
- if (currentUpdateSets.length) currentUpdateSets.at(-1).add(node);
469
- else {
470
- await Promise.resolve();
471
- const latest = updateMap.get(node);
472
- if (latest) {
473
- updateMap.delete(node);
474
- latest[1]();
475
- }
476
- }
477
- return promise;
478
- };
479
- const renderNode = (node, container) => {
480
- const context = [];
481
- context[5] = [];
482
- context[4] = true;
483
- build(context, node, void 0);
484
- context[4] = false;
485
- const fragment = document.createDocumentFragment();
486
- apply(node, fragment, true);
487
- replaceContainer(node, fragment, container);
488
- container.replaceChildren(fragment);
489
- };
490
- const render = (jsxNode, container) => {
491
- renderNode(buildNode({
492
- tag: "",
493
- props: { children: jsxNode }
494
- }), container);
495
- };
496
- const flushSync = (callback) => {
497
- const set = /* @__PURE__ */ new Set();
498
- currentUpdateSets.push(set);
499
- callback();
500
- set.forEach((node) => {
501
- const latest = updateMap.get(node);
502
- if (latest) {
503
- updateMap.delete(node);
504
- latest[1]();
505
- }
506
- });
507
- currentUpdateSets.pop();
508
- };
509
- const createPortal = (children, container, key) => ({
510
- tag: HONO_PORTAL_ELEMENT,
511
- props: { children },
512
- key,
513
- e: container,
514
- p: 1
515
- });
516
- //#endregion
517
- exports.build = build;
518
- exports.buildDataStack = buildDataStack;
519
- exports.buildNode = buildNode;
520
- exports.createPortal = createPortal;
521
- exports.flushSync = flushSync;
522
- exports.getNameSpaceContext = getNameSpaceContext;
523
- exports.render = render;
524
- exports.renderNode = renderNode;
525
- exports.update = update;
@@ -1,44 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_jsx_base = require("../base.js");
6
- const require_jsx_streaming = require("../streaming.js");
7
- const require_jsx_dom_index = require("./index.js");
8
- //#region src/jsx/dom/server.ts
9
- const prepareRoot = (element) => typeof element === "string" || Array.isArray(element) ? require_jsx_base.renderChildren([element]) : element;
10
- /**
11
- * Render JSX element to string.
12
- * @param element JSX element to render.
13
- * @param options Options for rendering.
14
- * @returns Rendered string.
15
- */
16
- const renderToString = (element, options = {}) => {
17
- if (Object.keys(options).length > 0) console.warn("options are not supported yet");
18
- element = prepareRoot(element);
19
- const res = element instanceof Promise ? element : element?.toString() ?? "";
20
- if (typeof res !== "string") throw new Error("Async component is not supported in renderToString");
21
- return res;
22
- };
23
- /**
24
- * Render JSX element to readable stream.
25
- * @param element JSX element to render.
26
- * @param options Options for rendering.
27
- * @returns Rendered readable stream.
28
- */
29
- const renderToReadableStream = async (element, options = {}) => {
30
- if (Object.keys(options).some((key) => key !== "onError")) console.warn("options are not supported yet, except onError");
31
- element = prepareRoot(element);
32
- if (!element || typeof element !== "object") element = element?.toString() ?? "";
33
- return require_jsx_streaming.renderToReadableStream(element, options.onError);
34
- };
35
- var server_default = {
36
- renderToString,
37
- renderToReadableStream,
38
- version: require_jsx_dom_index.default
39
- };
40
- //#endregion
41
- exports.default = server_default;
42
- exports.renderToReadableStream = renderToReadableStream;
43
- exports.renderToString = renderToString;
44
- exports.version = require_jsx_dom_index.default;
@@ -1,9 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_jsx_constants = require("../constants.js");
3
- //#region src/jsx/dom/utils.ts
4
- const setInternalTagFlag = (fn) => {
5
- fn[require_jsx_constants.DOM_INTERNAL_TAG] = true;
6
- return fn;
7
- };
8
- //#endregion
9
- exports.setInternalTagFlag = setInternalTagFlag;