hono 4.13.13 → 5.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/README.md +2 -2
  2. package/dist/client/fetch-result-please.js +0 -22
  3. package/dist/client/utils.js +0 -7
  4. package/dist/{types/compose.d.ts → compose.d.ts} +5 -3
  5. package/dist/compose.js +18 -31
  6. package/dist/context/constants.d.ts +3 -0
  7. package/dist/context/constants.js +4 -0
  8. package/dist/{types/context.d.ts → context.d.ts} +56 -15
  9. package/dist/context.js +83 -277
  10. package/dist/helper/accepts/accepts.js +0 -13
  11. package/dist/helper/css/common.js +0 -10
  12. package/dist/helper/css/index.js +0 -38
  13. package/dist/{types/helper → helper}/dev/index.d.ts +5 -2
  14. package/dist/helper/dev/index.js +3 -3
  15. package/dist/helper/factory/define-handler.d.ts +150 -0
  16. package/dist/helper/factory/define-handler.js +117 -0
  17. package/dist/{types/helper → helper}/factory/index.d.ts +30 -1
  18. package/dist/helper/factory/index.js +7 -7
  19. package/dist/helper/html/index.js +0 -4
  20. package/dist/helper/proxy/index.js +0 -49
  21. package/dist/helper/route/index.js +0 -90
  22. package/dist/{types/helper → helper}/ssg/middleware.d.ts +0 -6
  23. package/dist/helper/ssg/middleware.js +1 -34
  24. package/dist/helper/ssg/plugins.js +0 -24
  25. package/dist/{types/helper → helper}/ssg/ssg.d.ts +0 -12
  26. package/dist/helper/ssg/ssg.js +0 -18
  27. package/dist/helper/ssg/utils.js +0 -5
  28. package/dist/helper/testing/index.js +0 -4
  29. package/dist/helper/websocket/index.js +0 -6
  30. package/dist/{types/hono-base.d.ts → hono-base.d.ts} +47 -95
  31. package/dist/hono-base.js +63 -228
  32. package/dist/{types/hono.d.ts → hono.d.ts} +1 -1
  33. package/dist/hono.js +0 -13
  34. package/dist/http-exception.js +0 -36
  35. package/dist/index.js +0 -15
  36. package/dist/jsx/components.js +0 -5
  37. package/dist/jsx/context.js +0 -34
  38. package/dist/jsx/dom/client.js +0 -14
  39. package/dist/jsx/dom/css.js +0 -34
  40. package/dist/jsx/dom/hooks/index.js +0 -21
  41. package/dist/jsx/dom/index.js +0 -4
  42. package/dist/jsx/dom/server.js +0 -12
  43. package/dist/jsx/index.js +0 -4
  44. package/dist/jsx/streaming.js +0 -26
  45. package/dist/{types/middleware → middleware}/basic-auth/index.d.ts +4 -3
  46. package/dist/middleware/basic-auth/index.js +0 -49
  47. package/dist/{types/middleware → middleware}/bearer-auth/index.d.ts +4 -27
  48. package/dist/middleware/bearer-auth/index.js +3 -39
  49. package/dist/middleware/body-limit/index.js +0 -32
  50. package/dist/middleware/cache/index.js +0 -31
  51. package/dist/middleware/combine/index.js +0 -80
  52. package/dist/middleware/compress/index.js +0 -24
  53. package/dist/middleware/context-storage/index.js +0 -35
  54. package/dist/middleware/cors/index.js +0 -39
  55. package/dist/middleware/csrf/index.js +0 -62
  56. package/dist/middleware/etag/index.js +0 -29
  57. package/dist/middleware/ip-restriction/index.js +0 -41
  58. package/dist/middleware/jsx-renderer/index.js +0 -58
  59. package/dist/middleware/jwk/jwk.js +0 -31
  60. package/dist/middleware/jwt/jwt.js +0 -32
  61. package/dist/middleware/language/language.js +0 -60
  62. package/dist/middleware/logger/index.js +6 -24
  63. package/dist/middleware/method-not-allowed/index.js +1 -36
  64. package/dist/middleware/method-override/index.js +0 -25
  65. package/dist/middleware/mount/index.js +0 -32
  66. package/dist/middleware/powered-by/index.js +0 -15
  67. package/dist/middleware/pretty-json/index.js +0 -18
  68. package/dist/middleware/request-id/request-id.js +0 -22
  69. package/dist/middleware/secure-headers/secure-headers.js +0 -32
  70. package/dist/{types/middleware → middleware}/serve-static/index.d.ts +0 -4
  71. package/dist/middleware/serve-static/index.js +0 -3
  72. package/dist/middleware/serve-static/path.js +0 -4
  73. package/dist/middleware/timeout/index.js +0 -22
  74. package/dist/middleware/timing/timing.js +0 -95
  75. package/dist/middleware/trailing-slash/index.js +0 -50
  76. package/dist/{types/preset → preset}/quick.d.ts +1 -1
  77. package/dist/preset/quick.js +0 -4
  78. package/dist/{types/preset → preset}/tiny.d.ts +1 -1
  79. package/dist/preset/tiny.js +0 -4
  80. package/dist/{types/request.d.ts → request.d.ts} +3 -48
  81. package/dist/request.js +0 -205
  82. package/dist/router/linear-router/router.js +19 -13
  83. package/dist/router/pattern-router/router.js +3 -3
  84. package/dist/router/reg-exp-router/node.js +9 -11
  85. package/dist/router/reg-exp-router/trie.js +0 -5
  86. package/dist/router/trie-router/node.js +5 -5
  87. package/dist/router.js +0 -19
  88. package/dist/{types/types.d.ts → types.d.ts} +33 -2
  89. package/dist/utils/body.js +0 -30
  90. package/dist/utils/buffer.d.ts +11 -0
  91. package/dist/utils/buffer.js +1 -12
  92. package/dist/utils/color.d.ts +16 -0
  93. package/dist/utils/color.js +4 -33
  94. package/dist/utils/compress.js +0 -7
  95. package/dist/utils/concurrent.js +0 -4
  96. package/dist/utils/constants.js +0 -3
  97. package/dist/utils/cookie.js +0 -4
  98. package/dist/utils/encode.js +0 -4
  99. package/dist/utils/handler.js +0 -4
  100. package/dist/utils/html.js +0 -4
  101. package/dist/{types/utils → utils}/http-status.d.ts +1 -9
  102. package/dist/utils/ipaddr.js +0 -39
  103. package/dist/utils/jwt/index.js +0 -4
  104. package/dist/utils/jwt/jwa.js +0 -5
  105. package/dist/utils/jwt/jws.js +0 -5
  106. package/dist/utils/jwt/jwt.js +0 -5
  107. package/dist/utils/jwt/types.js +0 -4
  108. package/dist/utils/jwt/utf8.js +0 -4
  109. package/dist/utils/mime.js +0 -4
  110. package/dist/utils/stream.js +0 -14
  111. package/dist/{types/utils → utils}/url.d.ts +0 -5
  112. package/dist/utils/url.js +1 -30
  113. package/dist/{types/validator → validator}/validator.d.ts +5 -0
  114. package/dist/validator/validator.js +42 -49
  115. package/package.json +142 -488
  116. package/dist/adapter/aws-lambda/conninfo.js +0 -43
  117. package/dist/adapter/aws-lambda/handler.js +0 -342
  118. package/dist/adapter/aws-lambda/index.js +0 -3
  119. package/dist/adapter/aws-lambda/types.js +0 -1
  120. package/dist/adapter/bun/conninfo.js +0 -22
  121. package/dist/adapter/bun/index.js +0 -6
  122. package/dist/adapter/bun/serve-static.js +0 -30
  123. package/dist/adapter/bun/server.js +0 -11
  124. package/dist/adapter/bun/ssg.js +0 -27
  125. package/dist/adapter/bun/websocket.js +0 -66
  126. package/dist/adapter/cloudflare-pages/conninfo.js +0 -24
  127. package/dist/adapter/cloudflare-pages/handler.js +0 -64
  128. package/dist/adapter/cloudflare-pages/index.js +0 -3
  129. package/dist/adapter/cloudflare-workers/conninfo.js +0 -7
  130. package/dist/adapter/cloudflare-workers/index.js +0 -4
  131. package/dist/adapter/cloudflare-workers/serve-static-module.js +0 -7
  132. package/dist/adapter/cloudflare-workers/serve-static.js +0 -28
  133. package/dist/adapter/cloudflare-workers/utils.js +0 -22
  134. package/dist/adapter/cloudflare-workers/websocket.js +0 -33
  135. package/dist/adapter/deno/conninfo.js +0 -17
  136. package/dist/adapter/deno/deno.d.js +0 -1
  137. package/dist/adapter/deno/index.js +0 -5
  138. package/dist/adapter/deno/serve-static.js +0 -35
  139. package/dist/adapter/deno/ssg.js +0 -29
  140. package/dist/adapter/deno/websocket.js +0 -32
  141. package/dist/adapter/lambda-edge/conninfo.js +0 -7
  142. package/dist/adapter/lambda-edge/handler.js +0 -111
  143. package/dist/adapter/lambda-edge/index.js +0 -3
  144. package/dist/adapter/netlify/conninfo.js +0 -24
  145. package/dist/adapter/netlify/handler.js +0 -11
  146. package/dist/adapter/netlify/index.js +0 -3
  147. package/dist/adapter/netlify/mod.js +0 -3
  148. package/dist/adapter/service-worker/handler.js +0 -16
  149. package/dist/adapter/service-worker/index.js +0 -25
  150. package/dist/adapter/service-worker/types.js +0 -1
  151. package/dist/adapter/vercel/conninfo.js +0 -7
  152. package/dist/adapter/vercel/handler.js +0 -9
  153. package/dist/adapter/vercel/index.js +0 -3
  154. package/dist/cjs/_virtual/_rolldown/runtime.js +0 -33
  155. package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -44
  156. package/dist/cjs/adapter/aws-lambda/handler.js +0 -352
  157. package/dist/cjs/adapter/aws-lambda/index.js +0 -7
  158. package/dist/cjs/adapter/aws-lambda/types.js +0 -0
  159. package/dist/cjs/adapter/bun/conninfo.js +0 -23
  160. package/dist/cjs/adapter/bun/index.js +0 -14
  161. package/dist/cjs/adapter/bun/serve-static.js +0 -31
  162. package/dist/cjs/adapter/bun/server.js +0 -12
  163. package/dist/cjs/adapter/bun/ssg.js +0 -29
  164. package/dist/cjs/adapter/bun/websocket.js +0 -70
  165. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -25
  166. package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -67
  167. package/dist/cjs/adapter/cloudflare-pages/index.js +0 -7
  168. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -8
  169. package/dist/cjs/adapter/cloudflare-workers/index.js +0 -7
  170. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -8
  171. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -29
  172. package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -23
  173. package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -34
  174. package/dist/cjs/adapter/deno/conninfo.js +0 -18
  175. package/dist/cjs/adapter/deno/deno.d.js +0 -0
  176. package/dist/cjs/adapter/deno/index.js +0 -10
  177. package/dist/cjs/adapter/deno/serve-static.js +0 -36
  178. package/dist/cjs/adapter/deno/ssg.js +0 -31
  179. package/dist/cjs/adapter/deno/websocket.js +0 -33
  180. package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -8
  181. package/dist/cjs/adapter/lambda-edge/handler.js +0 -116
  182. package/dist/cjs/adapter/lambda-edge/index.js +0 -5
  183. package/dist/cjs/adapter/netlify/conninfo.js +0 -25
  184. package/dist/cjs/adapter/netlify/handler.js +0 -12
  185. package/dist/cjs/adapter/netlify/index.js +0 -5
  186. package/dist/cjs/adapter/netlify/mod.js +0 -5
  187. package/dist/cjs/adapter/service-worker/handler.js +0 -17
  188. package/dist/cjs/adapter/service-worker/index.js +0 -27
  189. package/dist/cjs/adapter/service-worker/types.js +0 -0
  190. package/dist/cjs/adapter/vercel/conninfo.js +0 -8
  191. package/dist/cjs/adapter/vercel/handler.js +0 -10
  192. package/dist/cjs/adapter/vercel/index.js +0 -5
  193. package/dist/cjs/client/client.js +0 -145
  194. package/dist/cjs/client/fetch-result-please.js +0 -67
  195. package/dist/cjs/client/index.js +0 -7
  196. package/dist/cjs/client/types.js +0 -0
  197. package/dist/cjs/client/utils.js +0 -70
  198. package/dist/cjs/compose.js +0 -51
  199. package/dist/cjs/context.js +0 -383
  200. package/dist/cjs/helper/accepts/accepts.js +0 -54
  201. package/dist/cjs/helper/accepts/index.js +0 -3
  202. package/dist/cjs/helper/adapter/index.js +0 -41
  203. package/dist/cjs/helper/conninfo/index.js +0 -0
  204. package/dist/cjs/helper/conninfo/types.js +0 -0
  205. package/dist/cjs/helper/cookie/index.js +0 -89
  206. package/dist/cjs/helper/css/common.js +0 -194
  207. package/dist/cjs/helper/css/index.js +0 -142
  208. package/dist/cjs/helper/dev/index.js +0 -53
  209. package/dist/cjs/helper/factory/index.js +0 -33
  210. package/dist/cjs/helper/html/index.js +0 -34
  211. package/dist/cjs/helper/proxy/index.js +0 -122
  212. package/dist/cjs/helper/route/index.js +0 -128
  213. package/dist/cjs/helper/ssg/index.js +0 -19
  214. package/dist/cjs/helper/ssg/middleware.js +0 -65
  215. package/dist/cjs/helper/ssg/plugins.js +0 -68
  216. package/dist/cjs/helper/ssg/ssg.js +0 -220
  217. package/dist/cjs/helper/ssg/utils.js +0 -70
  218. package/dist/cjs/helper/streaming/index.js +0 -8
  219. package/dist/cjs/helper/streaming/sse.js +0 -59
  220. package/dist/cjs/helper/streaming/stream.js +0 -26
  221. package/dist/cjs/helper/streaming/text.js +0 -12
  222. package/dist/cjs/helper/streaming/utils.js +0 -16
  223. package/dist/cjs/helper/testing/index.js +0 -18
  224. package/dist/cjs/helper/websocket/index.js +0 -56
  225. package/dist/cjs/hono-base.js +0 -351
  226. package/dist/cjs/hono.js +0 -29
  227. package/dist/cjs/http-exception.js +0 -56
  228. package/dist/cjs/index.js +0 -22
  229. package/dist/cjs/jsx/base.js +0 -266
  230. package/dist/cjs/jsx/children.js +0 -19
  231. package/dist/cjs/jsx/components.js +0 -147
  232. package/dist/cjs/jsx/constants.js +0 -15
  233. package/dist/cjs/jsx/context.js +0 -170
  234. package/dist/cjs/jsx/dom/client.js +0 -56
  235. package/dist/cjs/jsx/dom/components.js +0 -26
  236. package/dist/cjs/jsx/dom/context.js +0 -43
  237. package/dist/cjs/jsx/dom/css.js +0 -153
  238. package/dist/cjs/jsx/dom/hooks/index.js +0 -65
  239. package/dist/cjs/jsx/dom/index.js +0 -122
  240. package/dist/cjs/jsx/dom/intrinsic-element/components.js +0 -306
  241. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -17
  242. package/dist/cjs/jsx/dom/jsx-runtime.js +0 -5
  243. package/dist/cjs/jsx/dom/render.js +0 -525
  244. package/dist/cjs/jsx/dom/server.js +0 -44
  245. package/dist/cjs/jsx/dom/utils.js +0 -9
  246. package/dist/cjs/jsx/hooks/index.js +0 -280
  247. package/dist/cjs/jsx/index.js +0 -89
  248. package/dist/cjs/jsx/intrinsic-element/common.js +0 -27
  249. package/dist/cjs/jsx/intrinsic-element/components.js +0 -138
  250. package/dist/cjs/jsx/intrinsic-elements.js +0 -0
  251. package/dist/cjs/jsx/jsx-dev-runtime.js +0 -16
  252. package/dist/cjs/jsx/jsx-runtime.js +0 -37
  253. package/dist/cjs/jsx/streaming.js +0 -135
  254. package/dist/cjs/jsx/types.js +0 -0
  255. package/dist/cjs/jsx/utils.js +0 -116
  256. package/dist/cjs/middleware/basic-auth/index.js +0 -100
  257. package/dist/cjs/middleware/bearer-auth/index.js +0 -97
  258. package/dist/cjs/middleware/body-limit/index.js +0 -69
  259. package/dist/cjs/middleware/cache/index.js +0 -173
  260. package/dist/cjs/middleware/combine/index.js +0 -141
  261. package/dist/cjs/middleware/compress/index.js +0 -82
  262. package/dist/cjs/middleware/context-storage/index.js +0 -55
  263. package/dist/cjs/middleware/cors/index.js +0 -109
  264. package/dist/cjs/middleware/csrf/index.js +0 -106
  265. package/dist/cjs/middleware/etag/digest.js +0 -62
  266. package/dist/cjs/middleware/etag/index.js +0 -79
  267. package/dist/cjs/middleware/ip-restriction/index.js +0 -168
  268. package/dist/cjs/middleware/jsx-renderer/index.js +0 -104
  269. package/dist/cjs/middleware/jwk/index.js +0 -3
  270. package/dist/cjs/middleware/jwk/jwk.js +0 -122
  271. package/dist/cjs/middleware/jwt/index.js +0 -9
  272. package/dist/cjs/middleware/jwt/jwt.js +0 -124
  273. package/dist/cjs/middleware/language/index.js +0 -7
  274. package/dist/cjs/middleware/language/language.js +0 -208
  275. package/dist/cjs/middleware/logger/index.js +0 -51
  276. package/dist/cjs/middleware/method-not-allowed/index.js +0 -84
  277. package/dist/cjs/middleware/method-override/index.js +0 -105
  278. package/dist/cjs/middleware/mount/index.js +0 -71
  279. package/dist/cjs/middleware/powered-by/index.js +0 -25
  280. package/dist/cjs/middleware/pretty-json/index.js +0 -41
  281. package/dist/cjs/middleware/request-id/index.js +0 -3
  282. package/dist/cjs/middleware/request-id/request-id.js +0 -35
  283. package/dist/cjs/middleware/secure-headers/index.js +0 -4
  284. package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -0
  285. package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -166
  286. package/dist/cjs/middleware/serve-static/index.js +0 -62
  287. package/dist/cjs/middleware/serve-static/path.js +0 -17
  288. package/dist/cjs/middleware/timeout/index.js +0 -42
  289. package/dist/cjs/middleware/timing/index.js +0 -7
  290. package/dist/cjs/middleware/timing/timing.js +0 -189
  291. package/dist/cjs/middleware/trailing-slash/index.js +0 -89
  292. package/dist/cjs/package.json +0 -3
  293. package/dist/cjs/preset/quick.js +0 -19
  294. package/dist/cjs/preset/tiny.js +0 -16
  295. package/dist/cjs/request/constants.js +0 -5
  296. package/dist/cjs/request.js +0 -337
  297. package/dist/cjs/router/linear-router/index.js +0 -3
  298. package/dist/cjs/router/linear-router/router.js +0 -97
  299. package/dist/cjs/router/pattern-router/index.js +0 -3
  300. package/dist/cjs/router/pattern-router/router.js +0 -42
  301. package/dist/cjs/router/reg-exp-router/index.js +0 -7
  302. package/dist/cjs/router/reg-exp-router/matcher.js +0 -21
  303. package/dist/cjs/router/reg-exp-router/node.js +0 -96
  304. package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -97
  305. package/dist/cjs/router/reg-exp-router/router.js +0 -102
  306. package/dist/cjs/router/reg-exp-router/trie.js +0 -74
  307. package/dist/cjs/router/smart-router/index.js +0 -3
  308. package/dist/cjs/router/smart-router/router.js +0 -50
  309. package/dist/cjs/router/trie-router/index.js +0 -3
  310. package/dist/cjs/router/trie-router/node.js +0 -135
  311. package/dist/cjs/router/trie-router/router.js +0 -16
  312. package/dist/cjs/router/utils.js +0 -5
  313. package/dist/cjs/router.js +0 -40
  314. package/dist/cjs/types.js +0 -5
  315. package/dist/cjs/utils/accept.js +0 -194
  316. package/dist/cjs/utils/basic-auth.js +0 -21
  317. package/dist/cjs/utils/body.js +0 -97
  318. package/dist/cjs/utils/buffer.js +0 -55
  319. package/dist/cjs/utils/color.js +0 -39
  320. package/dist/cjs/utils/compress.js +0 -12
  321. package/dist/cjs/utils/concurrent.js +0 -31
  322. package/dist/cjs/utils/constants.js +0 -8
  323. package/dist/cjs/utils/cookie.js +0 -129
  324. package/dist/cjs/utils/crypto.js +0 -38
  325. package/dist/cjs/utils/encode.js +0 -37
  326. package/dist/cjs/utils/filepath.js +0 -27
  327. package/dist/cjs/utils/handler.js +0 -14
  328. package/dist/cjs/utils/headers.js +0 -0
  329. package/dist/cjs/utils/html.js +0 -109
  330. package/dist/cjs/utils/http-status.js +0 -0
  331. package/dist/cjs/utils/ipaddr.js +0 -247
  332. package/dist/cjs/utils/jwt/index.js +0 -15
  333. package/dist/cjs/utils/jwt/jwa.js +0 -25
  334. package/dist/cjs/utils/jwt/jws.js +0 -135
  335. package/dist/cjs/utils/jwt/jwt.js +0 -136
  336. package/dist/cjs/utils/jwt/types.js +0 -124
  337. package/dist/cjs/utils/jwt/utf8.js +0 -11
  338. package/dist/cjs/utils/mime.js +0 -80
  339. package/dist/cjs/utils/stream.js +0 -89
  340. package/dist/cjs/utils/types.js +0 -0
  341. package/dist/cjs/utils/url.js +0 -215
  342. package/dist/cjs/validator/index.js +0 -3
  343. package/dist/cjs/validator/utils.js +0 -0
  344. package/dist/cjs/validator/validator.js +0 -65
  345. package/dist/types/adapter/aws-lambda/conninfo.d.ts +0 -30
  346. package/dist/types/adapter/aws-lambda/handler.d.ts +0 -230
  347. package/dist/types/adapter/aws-lambda/index.d.ts +0 -4
  348. package/dist/types/adapter/aws-lambda/types.d.ts +0 -183
  349. package/dist/types/adapter/bun/conninfo.d.ts +0 -10
  350. package/dist/types/adapter/bun/index.d.ts +0 -6
  351. package/dist/types/adapter/bun/serve-static.d.ts +0 -8
  352. package/dist/types/adapter/bun/server.d.ts +0 -11
  353. package/dist/types/adapter/bun/ssg.d.ts +0 -17
  354. package/dist/types/adapter/bun/websocket.d.ts +0 -54
  355. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +0 -24
  356. package/dist/types/adapter/cloudflare-pages/handler.d.ts +0 -45
  357. package/dist/types/adapter/cloudflare-pages/index.d.ts +0 -3
  358. package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +0 -7
  359. package/dist/types/adapter/cloudflare-workers/index.d.ts +0 -4
  360. package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +0 -7
  361. package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +0 -21
  362. package/dist/types/adapter/cloudflare-workers/utils.d.ts +0 -13
  363. package/dist/types/adapter/cloudflare-workers/websocket.d.ts +0 -7
  364. package/dist/types/adapter/deno/conninfo.d.ts +0 -10
  365. package/dist/types/adapter/deno/deno.d.ts +0 -1
  366. package/dist/types/adapter/deno/index.d.ts +0 -5
  367. package/dist/types/adapter/deno/serve-static.d.ts +0 -8
  368. package/dist/types/adapter/deno/ssg.d.ts +0 -17
  369. package/dist/types/adapter/deno/websocket.d.ts +0 -7
  370. package/dist/types/adapter/lambda-edge/conninfo.d.ts +0 -7
  371. package/dist/types/adapter/lambda-edge/handler.d.ts +0 -113
  372. package/dist/types/adapter/lambda-edge/index.d.ts +0 -3
  373. package/dist/types/adapter/netlify/conninfo.d.ts +0 -24
  374. package/dist/types/adapter/netlify/handler.d.ts +0 -7
  375. package/dist/types/adapter/netlify/index.d.ts +0 -3
  376. package/dist/types/adapter/netlify/mod.d.ts +0 -3
  377. package/dist/types/adapter/service-worker/handler.d.ts +0 -18
  378. package/dist/types/adapter/service-worker/index.d.ts +0 -26
  379. package/dist/types/adapter/service-worker/types.d.ts +0 -17
  380. package/dist/types/adapter/vercel/conninfo.d.ts +0 -7
  381. package/dist/types/adapter/vercel/handler.d.ts +0 -7
  382. package/dist/types/adapter/vercel/index.d.ts +0 -3
  383. package/dist/types/package.json +0 -3
  384. package/dist/types/utils/buffer.d.ts +0 -19
  385. package/dist/types/utils/color.d.ts +0 -23
  386. package/dist/{types/client → client}/client.d.ts +0 -0
  387. package/dist/{types/client → client}/fetch-result-please.d.ts +0 -0
  388. package/dist/{types/client → client}/index.d.ts +0 -0
  389. package/dist/{types/client → client}/types.d.ts +1 -1
  390. /package/dist/{types/client → client}/utils.d.ts +0 -0
  391. /package/dist/{types/helper → helper}/accepts/accepts.d.ts +0 -0
  392. /package/dist/{types/helper → helper}/accepts/index.d.ts +0 -0
  393. /package/dist/{types/helper → helper}/adapter/index.d.ts +0 -0
  394. /package/dist/{types/helper → helper}/conninfo/index.d.ts +0 -0
  395. /package/dist/{types/helper → helper}/conninfo/types.d.ts +0 -0
  396. /package/dist/{types/helper → helper}/cookie/index.d.ts +0 -0
  397. /package/dist/{types/helper → helper}/css/common.d.ts +0 -0
  398. /package/dist/{types/helper → helper}/css/index.d.ts +0 -0
  399. /package/dist/{types/helper → helper}/html/index.d.ts +0 -0
  400. /package/dist/{types/helper → helper}/proxy/index.d.ts +0 -0
  401. /package/dist/{types/helper → helper}/route/index.d.ts +0 -0
  402. /package/dist/{types/helper → helper}/ssg/index.d.ts +0 -0
  403. /package/dist/{types/helper → helper}/ssg/plugins.d.ts +0 -0
  404. /package/dist/{types/helper → helper}/ssg/utils.d.ts +0 -0
  405. /package/dist/{types/helper → helper}/streaming/index.d.ts +0 -0
  406. /package/dist/{types/helper → helper}/streaming/sse.d.ts +0 -0
  407. /package/dist/{types/helper → helper}/streaming/stream.d.ts +0 -0
  408. /package/dist/{types/helper → helper}/streaming/text.d.ts +0 -0
  409. /package/dist/{types/helper → helper}/streaming/utils.d.ts +0 -0
  410. /package/dist/{types/helper → helper}/testing/index.d.ts +0 -0
  411. /package/dist/{types/helper → helper}/websocket/index.d.ts +0 -0
  412. /package/dist/{types/http-exception.d.ts → http-exception.d.ts} +0 -0
  413. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  414. /package/dist/{types/jsx → jsx}/base.d.ts +0 -0
  415. /package/dist/{types/jsx → jsx}/children.d.ts +0 -0
  416. /package/dist/{types/jsx → jsx}/components.d.ts +0 -0
  417. /package/dist/{types/jsx → jsx}/constants.d.ts +0 -0
  418. /package/dist/{types/jsx → jsx}/context.d.ts +0 -0
  419. /package/dist/{types/jsx → jsx}/dom/client.d.ts +0 -0
  420. /package/dist/{types/jsx → jsx}/dom/components.d.ts +0 -0
  421. /package/dist/{types/jsx → jsx}/dom/context.d.ts +0 -0
  422. /package/dist/{types/jsx → jsx}/dom/css.d.ts +0 -0
  423. /package/dist/{types/jsx → jsx}/dom/hooks/index.d.ts +0 -0
  424. /package/dist/{types/jsx → jsx}/dom/index.d.ts +0 -0
  425. /package/dist/{types/jsx → jsx}/dom/intrinsic-element/components.d.ts +0 -0
  426. /package/dist/{types/jsx → jsx}/dom/jsx-dev-runtime.d.ts +0 -0
  427. /package/dist/{types/jsx → jsx}/dom/jsx-runtime.d.ts +0 -0
  428. /package/dist/{types/jsx → jsx}/dom/render.d.ts +0 -0
  429. /package/dist/{types/jsx → jsx}/dom/server.d.ts +0 -0
  430. /package/dist/{types/jsx → jsx}/dom/utils.d.ts +0 -0
  431. /package/dist/{types/jsx → jsx}/hooks/index.d.ts +0 -0
  432. /package/dist/{types/jsx → jsx}/index.d.ts +0 -0
  433. /package/dist/{types/jsx → jsx}/intrinsic-element/common.d.ts +0 -0
  434. /package/dist/{types/jsx → jsx}/intrinsic-element/components.d.ts +0 -0
  435. /package/dist/{types/jsx → jsx}/intrinsic-elements.d.ts +0 -0
  436. /package/dist/{types/jsx → jsx}/jsx-dev-runtime.d.ts +0 -0
  437. /package/dist/{types/jsx → jsx}/jsx-runtime.d.ts +0 -0
  438. /package/dist/{types/jsx → jsx}/streaming.d.ts +0 -0
  439. /package/dist/{types/jsx → jsx}/types.d.ts +0 -0
  440. /package/dist/{types/jsx → jsx}/utils.d.ts +0 -0
  441. /package/dist/{types/middleware → middleware}/body-limit/index.d.ts +0 -0
  442. /package/dist/{types/middleware → middleware}/cache/index.d.ts +0 -0
  443. /package/dist/{types/middleware → middleware}/combine/index.d.ts +0 -0
  444. /package/dist/{types/middleware → middleware}/compress/index.d.ts +0 -0
  445. /package/dist/{types/middleware → middleware}/context-storage/index.d.ts +0 -0
  446. /package/dist/{types/middleware → middleware}/cors/index.d.ts +0 -0
  447. /package/dist/{types/middleware → middleware}/csrf/index.d.ts +0 -0
  448. /package/dist/{types/middleware → middleware}/etag/digest.d.ts +0 -0
  449. /package/dist/{types/middleware → middleware}/etag/index.d.ts +0 -0
  450. /package/dist/{types/middleware → middleware}/ip-restriction/index.d.ts +0 -0
  451. /package/dist/{types/middleware → middleware}/jsx-renderer/index.d.ts +0 -0
  452. /package/dist/{types/middleware → middleware}/jwk/index.d.ts +0 -0
  453. /package/dist/{types/middleware → middleware}/jwk/jwk.d.ts +0 -0
  454. /package/dist/{types/middleware → middleware}/jwt/index.d.ts +0 -0
  455. /package/dist/{types/middleware → middleware}/jwt/jwt.d.ts +0 -0
  456. /package/dist/{types/middleware → middleware}/language/index.d.ts +0 -0
  457. /package/dist/{types/middleware → middleware}/language/language.d.ts +0 -0
  458. /package/dist/{types/middleware → middleware}/logger/index.d.ts +0 -0
  459. /package/dist/{types/middleware → middleware}/method-not-allowed/index.d.ts +0 -0
  460. /package/dist/{types/middleware → middleware}/method-override/index.d.ts +0 -0
  461. /package/dist/{types/middleware → middleware}/mount/index.d.ts +0 -0
  462. /package/dist/{types/middleware → middleware}/powered-by/index.d.ts +0 -0
  463. /package/dist/{types/middleware → middleware}/pretty-json/index.d.ts +0 -0
  464. /package/dist/{types/middleware → middleware}/request-id/index.d.ts +0 -0
  465. /package/dist/{types/middleware → middleware}/request-id/request-id.d.ts +0 -0
  466. /package/dist/{types/middleware → middleware}/secure-headers/index.d.ts +0 -0
  467. /package/dist/{types/middleware → middleware}/secure-headers/permissions-policy.d.ts +0 -0
  468. /package/dist/{types/middleware → middleware}/secure-headers/secure-headers.d.ts +0 -0
  469. /package/dist/{types/middleware → middleware}/serve-static/path.d.ts +0 -0
  470. /package/dist/{types/middleware → middleware}/timeout/index.d.ts +0 -0
  471. /package/dist/{types/middleware → middleware}/timing/index.d.ts +0 -0
  472. /package/dist/{types/middleware → middleware}/timing/timing.d.ts +0 -0
  473. /package/dist/{types/middleware → middleware}/trailing-slash/index.d.ts +0 -0
  474. /package/dist/{types/request → request}/constants.d.ts +0 -0
  475. /package/dist/{types/router → router}/linear-router/index.d.ts +0 -0
  476. /package/dist/{types/router → router}/linear-router/router.d.ts +0 -0
  477. /package/dist/{types/router → router}/pattern-router/index.d.ts +0 -0
  478. /package/dist/{types/router → router}/pattern-router/router.d.ts +0 -0
  479. /package/dist/{types/router → router}/reg-exp-router/index.d.ts +0 -0
  480. /package/dist/{types/router → router}/reg-exp-router/matcher.d.ts +0 -0
  481. /package/dist/{types/router → router}/reg-exp-router/node.d.ts +0 -0
  482. /package/dist/{types/router → router}/reg-exp-router/prepared-router.d.ts +0 -0
  483. /package/dist/{types/router → router}/reg-exp-router/router.d.ts +0 -0
  484. /package/dist/{types/router → router}/reg-exp-router/trie.d.ts +0 -0
  485. /package/dist/{types/router → router}/smart-router/index.d.ts +0 -0
  486. /package/dist/{types/router → router}/smart-router/router.d.ts +0 -0
  487. /package/dist/{types/router → router}/trie-router/index.d.ts +0 -0
  488. /package/dist/{types/router → router}/trie-router/node.d.ts +0 -0
  489. /package/dist/{types/router → router}/trie-router/router.d.ts +0 -0
  490. /package/dist/{types/router → router}/utils.d.ts +0 -0
  491. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  492. /package/dist/{types/utils → utils}/accept.d.ts +0 -0
  493. /package/dist/{types/utils → utils}/basic-auth.d.ts +0 -0
  494. /package/dist/{types/utils → utils}/body.d.ts +0 -0
  495. /package/dist/{types/utils → utils}/compress.d.ts +0 -0
  496. /package/dist/{types/utils → utils}/concurrent.d.ts +0 -0
  497. /package/dist/{types/utils → utils}/constants.d.ts +0 -0
  498. /package/dist/{types/utils → utils}/cookie.d.ts +0 -0
  499. /package/dist/{types/utils → utils}/crypto.d.ts +0 -0
  500. /package/dist/{types/utils → utils}/encode.d.ts +0 -0
  501. /package/dist/{types/utils → utils}/filepath.d.ts +0 -0
  502. /package/dist/{types/utils → utils}/handler.d.ts +0 -0
  503. /package/dist/{types/utils → utils}/headers.d.ts +0 -0
  504. /package/dist/{types/utils → utils}/html.d.ts +0 -0
  505. /package/dist/{types/utils → utils}/ipaddr.d.ts +0 -0
  506. /package/dist/{types/utils → utils}/jwt/index.d.ts +0 -0
  507. /package/dist/{types/utils → utils}/jwt/jwa.d.ts +0 -0
  508. /package/dist/{types/utils → utils}/jwt/jws.d.ts +0 -0
  509. /package/dist/{types/utils → utils}/jwt/jwt.d.ts +0 -0
  510. /package/dist/{types/utils → utils}/jwt/types.d.ts +0 -0
  511. /package/dist/{types/utils → utils}/jwt/utf8.d.ts +0 -0
  512. /package/dist/{types/utils → utils}/mime.d.ts +0 -0
  513. /package/dist/{types/utils → utils}/stream.d.ts +0 -0
  514. /package/dist/{types/utils → utils}/types.d.ts +0 -0
  515. /package/dist/{types/validator → validator}/index.d.ts +0 -0
  516. /package/dist/{types/validator → validator}/utils.d.ts +0 -0
package/dist/context.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { GET_RESPONSE } from "./context/constants.js";
1
2
  import { HonoRequest } from "./request.js";
2
3
  import { HtmlEscapedCallbackPhase, resolveCallback } from "./utils/html.js";
3
4
  //#region src/context.ts
@@ -12,37 +13,9 @@ const createResponseInstance = (body, init) => new Response(body, init);
12
13
  var Context = class {
13
14
  #rawRequest;
14
15
  #req;
15
- /**
16
- * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
17
- *
18
- * @see {@link https://hono.dev/docs/api/context#env}
19
- *
20
- * @example
21
- * ```ts
22
- * // Environment object for Cloudflare Workers
23
- * app.get('*', async c => {
24
- * const counter = c.env.COUNTER
25
- * })
26
- * ```
27
- */
28
16
  env = {};
29
17
  #var;
30
18
  finalized = false;
31
- /**
32
- * `.error` can get the error object from the middleware if the Handler throws an error.
33
- *
34
- * @see {@link https://hono.dev/docs/api/context#error}
35
- *
36
- * @example
37
- * ```ts
38
- * app.use('*', async (c, next) => {
39
- * await next()
40
- * if (c.error) {
41
- * // do something...
42
- * }
43
- * })
44
- * ```
45
- */
46
19
  error;
47
20
  #status;
48
21
  #executionCtx;
@@ -53,12 +26,6 @@ var Context = class {
53
26
  #preparedHeaders;
54
27
  #matchResult;
55
28
  #path;
56
- /**
57
- * Creates an instance of the Context class.
58
- *
59
- * @param req - The Request object.
60
- * @param options - Optional configuration options for the context.
61
- */
62
29
  constructor(req, options) {
63
30
  this.#rawRequest = req;
64
31
  if (options) {
@@ -69,45 +36,21 @@ var Context = class {
69
36
  this.#matchResult = options.matchResult;
70
37
  }
71
38
  }
72
- /**
73
- * `.req` is the instance of {@link HonoRequest}.
74
- */
75
39
  get req() {
76
40
  this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);
77
41
  return this.#req;
78
42
  }
79
- /**
80
- * @see {@link https://hono.dev/docs/api/context#event}
81
- * The FetchEvent associated with the current request.
82
- *
83
- * @throws Will throw an error if the context does not have a FetchEvent.
84
- */
85
43
  get event() {
86
44
  if (this.#executionCtx && "respondWith" in this.#executionCtx) return this.#executionCtx;
87
45
  else throw Error("This context has no FetchEvent");
88
46
  }
89
- /**
90
- * @see {@link https://hono.dev/docs/api/context#executionctx}
91
- * The ExecutionContext associated with the current request.
92
- *
93
- * @throws Will throw an error if the context does not have an ExecutionContext.
94
- */
95
47
  get executionCtx() {
96
48
  if (this.#executionCtx) return this.#executionCtx;
97
49
  else throw Error("This context has no ExecutionContext");
98
50
  }
99
- /**
100
- * @see {@link https://hono.dev/docs/api/context#res}
101
- * The Response object for the current request.
102
- */
103
51
  get res() {
104
52
  return this.#res ||= createResponseInstance(null, { headers: this.#preparedHeaders ??= new Headers() });
105
53
  }
106
- /**
107
- * Sets the Response object for the current request.
108
- *
109
- * @param _res - The Response object to set.
110
- */
111
54
  set res(_res) {
112
55
  if (this.#res && _res) {
113
56
  _res = createResponseInstance(_res.body, _res);
@@ -123,132 +66,51 @@ var Context = class {
123
66
  this.#res = _res;
124
67
  this.finalized = true;
125
68
  }
126
- /**
127
- * `.render()` can create a response within a layout.
128
- *
129
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
130
- *
131
- * @example
132
- * ```ts
133
- * app.get('/', (c) => {
134
- * return c.render('Hello!')
135
- * })
136
- * ```
137
- */
138
- render = (...args) => {
139
- this.#renderer ??= (content) => this.html(content);
140
- return this.#renderer(...args);
141
- };
142
- /**
143
- * Sets the layout for the response.
144
- *
145
- * @param layout - The layout to set.
146
- * @returns The layout function.
147
- */
148
- setLayout = (layout) => this.#layout = layout;
149
- /**
150
- * Gets the current layout for the response.
151
- *
152
- * @returns The current layout function.
153
- */
154
- getLayout = () => this.#layout;
155
- /**
156
- * `.setRenderer()` can set the layout in the custom middleware.
157
- *
158
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
159
- *
160
- * @example
161
- * ```tsx
162
- * app.use('*', async (c, next) => {
163
- * c.setRenderer((content) => {
164
- * return c.html(
165
- * <html>
166
- * <body>
167
- * <p>{content}</p>
168
- * </body>
169
- * </html>
170
- * )
171
- * })
172
- * await next()
173
- * })
174
- * ```
175
- */
176
- setRenderer = (renderer) => {
177
- this.#renderer = renderer;
178
- };
179
- /**
180
- * `.header()` can set headers.
181
- *
182
- * @see {@link https://hono.dev/docs/api/context#header}
183
- *
184
- * @example
185
- * ```ts
186
- * app.get('/welcome', (c) => {
187
- * // Set headers
188
- * c.header('X-Message', 'Hello!')
189
- * c.header('Content-Type', 'text/plain')
190
- *
191
- * // Append multiple headers using the append option (e.g. Vary)
192
- * c.header('Vary', 'Accept-Encoding', { append: true })
193
- * c.header('Vary', 'User-Agent', { append: true })
194
- *
195
- * return c.body('Thank you for coming')
196
- * })
197
- * ```
198
- */
199
- header = (name, value, options) => {
200
- if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
201
- const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
202
- if (value === void 0) headers.delete(name);
203
- else if (options?.append) headers.append(name, value);
204
- else headers.set(name, value);
205
- };
206
- status = (status) => {
207
- this.#status = status;
208
- };
209
- /**
210
- * `.set()` can set the value specified by the key.
211
- *
212
- * @see {@link https://hono.dev/docs/api/context#set-get}
213
- *
214
- * @example
215
- * ```ts
216
- * app.use('*', async (c, next) => {
217
- * c.set('message', 'Hono is hot!!')
218
- * await next()
219
- * })
220
- * ```
221
- */
222
- set = (key, value) => {
223
- this.#var ??= /* @__PURE__ */ new Map();
224
- this.#var.set(key, value);
225
- };
226
- /**
227
- * `.get()` can use the value specified by the key.
228
- *
229
- * @see {@link https://hono.dev/docs/api/context#set-get}
230
- *
231
- * @example
232
- * ```ts
233
- * app.get('/', (c) => {
234
- * const message = c.get('message')
235
- * return c.text(`The message is "${message}"`)
236
- * })
237
- * ```
238
- */
239
- get = (key) => {
240
- return this.#var ? this.#var.get(key) : void 0;
241
- };
242
- /**
243
- * `.var` can access the value of a variable.
244
- *
245
- * @see {@link https://hono.dev/docs/api/context#var}
246
- *
247
- * @example
248
- * ```ts
249
- * const result = c.var.client.oneMethod()
250
- * ```
251
- */
69
+ get [GET_RESPONSE]() {
70
+ return this.#res;
71
+ }
72
+ get render() {
73
+ return (...args) => {
74
+ this.#renderer ??= (content) => this.html(content);
75
+ return this.#renderer(...args);
76
+ };
77
+ }
78
+ get setLayout() {
79
+ return (layout) => this.#layout = layout;
80
+ }
81
+ get getLayout() {
82
+ return () => this.#layout;
83
+ }
84
+ get setRenderer() {
85
+ return (renderer) => {
86
+ this.#renderer = renderer;
87
+ };
88
+ }
89
+ get header() {
90
+ return (name, value, options) => {
91
+ if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
92
+ const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
93
+ if (value === void 0) headers.delete(name);
94
+ else if (options?.append) headers.append(name, value);
95
+ else headers.set(name, value);
96
+ };
97
+ }
98
+ get status() {
99
+ return (status) => {
100
+ this.#status = status;
101
+ };
102
+ }
103
+ get set() {
104
+ return (key, value) => {
105
+ this.#var ??= /* @__PURE__ */ new Map();
106
+ this.#var.set(key, value);
107
+ };
108
+ }
109
+ get get() {
110
+ return (key) => {
111
+ return this.#var ? this.#var.get(key) : void 0;
112
+ };
113
+ }
252
114
  get var() {
253
115
  if (!this.#var) return {};
254
116
  return Object.fromEntries(this.#var);
@@ -283,99 +145,43 @@ var Context = class {
283
145
  headers: responseHeaders ?? headers
284
146
  });
285
147
  }
286
- newResponse = (...args) => this.#newResponse(...args);
287
- /**
288
- * `.body()` can return the HTTP response.
289
- * You can set headers with `.header()` and set HTTP status code with `.status`.
290
- * This can also be set in `.text()`, `.json()` and so on.
291
- *
292
- * @see {@link https://hono.dev/docs/api/context#body}
293
- *
294
- * @example
295
- * ```ts
296
- * app.get('/welcome', (c) => {
297
- * // Set headers
298
- * c.header('X-Message', 'Hello!')
299
- * c.header('Content-Type', 'text/plain')
300
- * // Set HTTP status code
301
- * c.status(201)
302
- *
303
- * // Return the response body
304
- * return c.body('Thank you for coming')
305
- * })
306
- * ```
307
- */
308
- body = (data, arg, headers) => this.#newResponse(data, arg, headers);
309
- /**
310
- * `.text()` can render text as `Content-Type:text/plain`.
311
- *
312
- * @see {@link https://hono.dev/docs/api/context#text}
313
- *
314
- * @example
315
- * ```ts
316
- * app.get('/say', (c) => {
317
- * return c.text('Hello!')
318
- * })
319
- * ```
320
- */
321
- text = (text, arg, headers) => {
322
- return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(text, arg, setDefaultContentType(TEXT_PLAIN, headers));
323
- };
324
- /**
325
- * `.json()` can render JSON as `Content-Type:application/json`.
326
- *
327
- * @see {@link https://hono.dev/docs/api/context#json}
328
- *
329
- * @example
330
- * ```ts
331
- * app.get('/api', (c) => {
332
- * return c.json({ message: 'Hello!' })
333
- * })
334
- * ```
335
- */
336
- json = (object, arg, headers) => {
337
- return this.#newResponse(JSON.stringify(object), arg, setDefaultContentType("application/json", headers));
338
- };
339
- html = (html, arg, headers) => {
340
- const res = (html) => this.#newResponse(html, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
341
- return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
342
- };
343
- /**
344
- * `.redirect()` can Redirect, default status code is 302.
345
- *
346
- * @see {@link https://hono.dev/docs/api/context#redirect}
347
- *
348
- * @example
349
- * ```ts
350
- * app.get('/redirect', (c) => {
351
- * return c.redirect('/')
352
- * })
353
- * app.get('/redirect-permanently', (c) => {
354
- * return c.redirect('/', 301)
355
- * })
356
- * ```
357
- */
358
- redirect = (location, status) => {
359
- const locationString = String(location);
360
- this.header("Location", !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString));
361
- return this.newResponse(null, status ?? 302);
362
- };
363
- /**
364
- * `.notFound()` can return the Not Found Response.
365
- *
366
- * @see {@link https://hono.dev/docs/api/context#notfound}
367
- *
368
- * @example
369
- * ```ts
370
- * app.get('/notfound', (c) => {
371
- * return c.notFound()
372
- * })
373
- * ```
374
- */
375
- notFound = () => {
376
- this.#notFoundHandler ??= () => createResponseInstance();
377
- return this.#notFoundHandler(this);
378
- };
148
+ get newResponse() {
149
+ return (...args) => this.#newResponse(...args);
150
+ }
151
+ get body() {
152
+ return (data, arg, headers) => this.#newResponse(data, arg, headers);
153
+ }
154
+ get text() {
155
+ return (text, arg, headers) => {
156
+ return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(text, arg, setDefaultContentType(TEXT_PLAIN, headers));
157
+ };
158
+ }
159
+ get json() {
160
+ return (object, arg, headers) => {
161
+ const body = JSON.stringify(object);
162
+ if (body === void 0) throw new TypeError("Value is not JSON serializable");
163
+ return this.#newResponse(body, arg, setDefaultContentType("application/json", headers));
164
+ };
165
+ }
166
+ get html() {
167
+ return (html, arg, headers) => {
168
+ const res = (html) => this.#newResponse(html, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
169
+ return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
170
+ };
171
+ }
172
+ get redirect() {
173
+ return (location, status) => {
174
+ const locationString = String(location);
175
+ this.header("Location", !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString));
176
+ return this.newResponse(null, status ?? 302);
177
+ };
178
+ }
179
+ get notFound() {
180
+ return () => {
181
+ this.#notFoundHandler ??= () => createResponseInstance();
182
+ return this.#notFoundHandler(this);
183
+ };
184
+ }
379
185
  };
380
186
  //#endregion
381
187
  export { Context, TEXT_PLAIN };
@@ -29,19 +29,6 @@ const defaultMatch = (accepts, config) => {
29
29
  }
30
30
  return defaultSupport;
31
31
  };
32
- /**
33
- * Match the accept header with the given options.
34
- * @example
35
- * ```ts
36
- * app.get('/users', (c) => {
37
- * const lang = accepts(c, {
38
- * header: 'Accept-Language',
39
- * supports: ['en', 'zh'],
40
- * default: 'en',
41
- * })
42
- * })
43
- * ```
44
- */
45
32
  const accepts = (c, options) => {
46
33
  const acceptHeader = c.req.header(options.header);
47
34
  if (!acceptHeader) return options.default;
@@ -9,19 +9,9 @@ const SELECTORS = Symbol();
9
9
  const EXTERNAL_CLASS_NAMES = Symbol();
10
10
  const CSS_ESCAPED = Symbol();
11
11
  const IS_CSS_ESCAPED = Symbol();
12
- /**
13
- * @experimental
14
- * `rawCssString` is an experimental feature.
15
- * The API might be changed.
16
- */
17
12
  const rawCssString = (value) => {
18
13
  return { [CSS_ESCAPED]: value };
19
14
  };
20
- /**
21
- * Used the goober'code as a reference:
22
- * https://github.com/cristianbote/goober/blob/master/src/core/to-hash.js
23
- * MIT License, Copyright (c) 2019 Cristian Bote
24
- */
25
15
  const toHash = (str) => {
26
16
  let i = 0, out = 11;
27
17
  while (i < str.length) out = 101 * out + str.charCodeAt(i++) >>> 0;
@@ -3,19 +3,6 @@ import { DOM_RENDERER } from "../../jsx/constants.js";
3
3
  import { CLASS_NAME, DEFAULT_STYLE_ID, SELECTOR, SELECTORS, STYLE_STRING, cssCommon, cxCommon, keyframesCommon, rawCssString, viewTransitionCommon } from "./common.js";
4
4
  import { createCssJsxDomObjects } from "../../jsx/dom/css.js";
5
5
  //#region src/helper/css/index.ts
6
- /**
7
- * @module
8
- * css Helper for Hono.
9
- */
10
- /**
11
- * @experimental
12
- * `createCssContext` is an experimental feature.
13
- * The API might be changed.
14
- *
15
- * @param options.id - The ID for the style element
16
- * @param options.classNameSlug - Optional function to customize generated CSS class names
17
- * @param options.onInvalidSlug - Optional callback function called when an invalid slug is returned from ClassNameSlug
18
- */
19
6
  const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
20
7
  const [cssJsxDomObject, StyleRenderToDom] = createCssJsxDomObjects({ id });
21
8
  const contextMap = /* @__PURE__ */ new WeakMap();
@@ -101,35 +88,10 @@ const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
101
88
  };
102
89
  };
103
90
  const defaultContext = createCssContext({ id: DEFAULT_STYLE_ID });
104
- /**
105
- * @experimental
106
- * `css` is an experimental feature.
107
- * The API might be changed.
108
- */
109
91
  const css = defaultContext.css;
110
- /**
111
- * @experimental
112
- * `cx` is an experimental feature.
113
- * The API might be changed.
114
- */
115
92
  const cx = defaultContext.cx;
116
- /**
117
- * @experimental
118
- * `keyframes` is an experimental feature.
119
- * The API might be changed.
120
- */
121
93
  const keyframes = defaultContext.keyframes;
122
- /**
123
- * @experimental
124
- * `viewTransition` is an experimental feature.
125
- * The API might be changed.
126
- */
127
94
  const viewTransition = defaultContext.viewTransition;
128
- /**
129
- * @experimental
130
- * `Style` is an experimental feature.
131
- * The API might be changed.
132
- */
133
95
  const Style = defaultContext.Style;
134
96
  //#endregion
135
97
  export { Style, createCssContext, css, cx, keyframes, rawCssString, viewTransition };
@@ -1,7 +1,10 @@
1
1
  import { Env } from "../../types.js";
2
2
  import { Hono } from "../../hono.js";
3
3
  //#region src/helper/dev/index.d.ts
4
- interface ShowRoutesOptions {
4
+ interface InspectRoutesOptions {
5
+ includeInternal?: boolean;
6
+ }
7
+ interface ShowRoutesOptions extends InspectRoutesOptions {
5
8
  verbose?: boolean;
6
9
  colorize?: boolean;
7
10
  }
@@ -11,7 +14,7 @@ interface RouteData {
11
14
  name: string;
12
15
  isMiddleware: boolean;
13
16
  }
14
- export declare const inspectRoutes: <E extends Env>(hono: Hono<E>) => RouteData[];
17
+ export declare const inspectRoutes: <E extends Env>(hono: Hono<E>, opts?: InspectRoutesOptions) => RouteData[];
15
18
  export declare const showRoutes: <E extends Env>(hono: Hono<E>, opts?: ShowRoutesOptions) => void;
16
19
  export declare const getRouterName: <E extends Env>(app: Hono<E>) => string;
17
20
  //#endregion
@@ -4,8 +4,8 @@ import { findTargetHandler, isMiddleware } from "../../utils/handler.js";
4
4
  const handlerName = (handler) => {
5
5
  return handler.name || (isMiddleware(handler) ? "[middleware]" : "[handler]");
6
6
  };
7
- const inspectRoutes = (hono) => {
8
- return hono.routes.map(({ path, method, handler }) => {
7
+ const inspectRoutes = (hono, opts) => {
8
+ return hono.routes.filter(({ method }) => opts?.includeInternal || method[0] !== "@").map(({ path, method, handler }) => {
9
9
  const targetHandler = findTargetHandler(handler);
10
10
  return {
11
11
  path,
@@ -20,7 +20,7 @@ const showRoutes = (hono, opts) => {
20
20
  const routeData = {};
21
21
  let maxMethodLength = 0;
22
22
  let maxPathLength = 0;
23
- inspectRoutes(hono).filter(({ isMiddleware }) => opts?.verbose || !isMiddleware).map((route) => {
23
+ inspectRoutes(hono, opts).filter(({ method, isMiddleware }) => opts?.verbose || !isMiddleware || opts?.includeInternal && method[0] === "@").map((route) => {
24
24
  const key = `${route.method}-${route.path}`;
25
25
  (routeData[key] ||= []).push(route);
26
26
  if (routeData[key].length > 1) return;