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
@@ -1,4 +1,4 @@
1
- import { getColorEnabledAsync } from "../../utils/color.js";
1
+ import { getColorEnabled } from "../../utils/color.js";
2
2
  //#region src/middleware/logger/index.ts
3
3
  const humanize = (times) => {
4
4
  const [delimiter, separator] = [",", "."];
@@ -8,8 +8,8 @@ const time = (start) => {
8
8
  const delta = Date.now() - start;
9
9
  return humanize([delta < 1e3 ? delta + "ms" : Math.round(delta / 1e3) + "s"]);
10
10
  };
11
- const colorStatus = async (status) => {
12
- if (await getColorEnabledAsync()) switch (status / 100 | 0) {
11
+ const colorStatus = (status, colorEnabled) => {
12
+ if (colorEnabled) switch (status / 100 | 0) {
13
13
  case 5: return `\x1b[31m${status}\x1b[0m`;
14
14
  case 4: return `\x1b[33m${status}\x1b[0m`;
15
15
  case 3: return `\x1b[36m${status}\x1b[0m`;
@@ -17,33 +17,15 @@ const colorStatus = async (status) => {
17
17
  }
18
18
  return `${status}`;
19
19
  };
20
- async function log(fn, prefix, method, path, status = 0, elapsed) {
21
- fn(prefix === "<--" ? `${prefix} ${method} ${path}` : `${prefix} ${method} ${path} ${await colorStatus(status)} ${elapsed}`);
22
- }
23
- /**
24
- * Logger Middleware for Hono.
25
- *
26
- * @see {@link https://hono.dev/docs/middleware/builtin/logger}
27
- *
28
- * @param {PrintFunc} [fn=console.log] - Optional function for customized logging behavior.
29
- * @returns {MiddlewareHandler} The middleware handler function.
30
- *
31
- * @example
32
- * ```ts
33
- * const app = new Hono()
34
- *
35
- * app.use(logger())
36
- * app.get('/', (c) => c.text('Hello Hono!'))
37
- * ```
38
- */
39
20
  const logger = (fn = console.log) => {
40
21
  return async function logger(c, next) {
41
22
  const { method, url } = c.req;
42
23
  const path = url.slice(url.indexOf("/", 8));
43
- await log(fn, "<--", method, path);
24
+ fn(`<-- ${method} ${path}`);
44
25
  const start = Date.now();
45
26
  await next();
46
- await log(fn, "-->", method, path, c.res.status, time(start));
27
+ const elapsed = time(start);
28
+ fn(`--> ${method} ${path} ${colorStatus(c.res.status, getColorEnabled(c.env))} ${elapsed}`);
47
29
  };
48
30
  };
49
31
  //#endregion
@@ -3,41 +3,6 @@ import { TrieRouter } from "../../router/trie-router/router.js";
3
3
  import "../../router/trie-router/index.js";
4
4
  import { basePath, matchedRoutes } from "../../helper/route/index.js";
5
5
  //#region src/middleware/method-not-allowed/index.ts
6
- /**
7
- * Method Not Allowed Middleware for Hono.
8
- *
9
- * Returns a `405 Method Not Allowed` response with an `Allow` header when the request path
10
- * matches a registered route but the request method is not supported.
11
- *
12
- * @param {MethodNotAllowedOptions} options - The options for the middleware.
13
- * @param {Hono} options.app - The Hono instance used by the application.
14
- * @param {MethodNotAllowedHandler} [options.onMethodNotAllowed] - Generates the response, including its `Allow` header.
15
- * @returns {MiddlewareHandler} The middleware handler function.
16
- *
17
- * @example
18
- * ```ts
19
- * const app = new Hono()
20
- *
21
- * app.use(methodNotAllowed({ app }))
22
- *
23
- * app.get('/hello', (c) => c.text('Hello!'))
24
- * app.post('/hello', (c) => c.text('Posted!'))
25
- *
26
- * // PUT /hello -> 405 Method Not Allowed
27
- * // Allow: GET, HEAD, POST
28
- * ```
29
- *
30
- * @example
31
- * ```ts
32
- * app.use(
33
- * methodNotAllowed({
34
- * app,
35
- * onMethodNotAllowed: (c, methods) =>
36
- * c.json({ error: 'Method Not Allowed' }, 405, { Allow: methods.join(', ') }),
37
- * })
38
- * )
39
- * ```
40
- */
41
6
  const methodNotAllowed = (options) => {
42
7
  let methodRouter;
43
8
  return async function methodNotAllowed(c, next) {
@@ -48,7 +13,7 @@ const methodNotAllowed = (options) => {
48
13
  if (!methodRouter) {
49
14
  const methodsByPath = /* @__PURE__ */ new Map();
50
15
  for (const route of options.app.routes) {
51
- if (route.method === "ALL" || route.method === "HEAD") continue;
16
+ if (route.method === "ALL" || route.method === "HEAD" || route.method[0] === "@") continue;
52
17
  const methods = methodsByPath.get(route.path) ?? /* @__PURE__ */ new Set();
53
18
  methods.add(route.method);
54
19
  if (route.method === "GET") methods.add("HEAD");
@@ -1,31 +1,6 @@
1
1
  import { parseBody } from "../../utils/body.js";
2
2
  //#region src/middleware/method-override/index.ts
3
3
  const DEFAULT_METHOD_FORM_NAME = "_method";
4
- /**
5
- * Method Override Middleware for Hono.
6
- *
7
- * @see {@link https://hono.dev/docs/middleware/builtin/method-override}
8
- *
9
- * @param {MethodOverrideOptions} options - The options for the method override middleware.
10
- * @param {Hono} options.app - The instance of Hono is used in your application.
11
- * @param {string} [options.form=_method] - Form key with a value containing the method name.
12
- * @param {string} [options.header] - Header name with a value containing the method name.
13
- * @param {string} [options.query] - Query parameter key with a value containing the method name.
14
- * @returns {MiddlewareHandler} The middleware handler function.
15
- *
16
- * @example
17
- * ```ts
18
- * const app = new Hono()
19
- *
20
- * // If no options are specified, the value of `_method` in the form,
21
- * // e.g. DELETE, is used as the method.
22
- * app.use('/posts', methodOverride({ app }))
23
- *
24
- * app.delete('/posts', (c) => {
25
- * // ....
26
- * })
27
- * ```
28
- */
29
4
  const methodOverride = (options) => async function methodOverride(c, next) {
30
5
  if (c.req.method === "GET") return await next();
31
6
  const app = options.app;
@@ -13,38 +13,6 @@ const defaultGetOptions = (c) => {
13
13
  } catch {}
14
14
  return [c.env, executionContext];
15
15
  };
16
- /**
17
- * `mount()` allows you to mount applications built with other frameworks into your Hono application.
18
- *
19
- * @see {@link https://hono.dev/docs/api/hono#mount}
20
- *
21
- * @param {Function} applicationHandler - other Request Handler
22
- * @param {MountOptions} [options] - options of `mount()`
23
- * @returns {MiddlewareHandler} handler to register with `app.all()`
24
- *
25
- * @example
26
- * ```ts
27
- * import { Router as IttyRouter } from 'itty-router'
28
- * import { Hono } from 'hono'
29
- * import { mount } from 'hono/mount'
30
- * // Create itty-router application
31
- * const ittyRouter = IttyRouter()
32
- * // GET /itty-router/hello
33
- * ittyRouter.get('/hello', () => new Response('Hello from itty-router'))
34
- *
35
- * const app = new Hono()
36
- * app.all('/itty-router/*', mount(ittyRouter.handle))
37
- * ```
38
- *
39
- * @example
40
- * ```ts
41
- * const app = new Hono()
42
- * // Send the request to another application without modification.
43
- * app.all('/app/*', mount(anotherApp, {
44
- * replaceRequest: (req) => req,
45
- * }))
46
- * ```
47
- */
48
16
  const mount = (applicationHandler, options) => {
49
17
  let replaceRequest;
50
18
  let optionHandler;
@@ -1,19 +1,4 @@
1
1
  //#region src/middleware/powered-by/index.ts
2
- /**
3
- * Powered By Middleware for Hono.
4
- *
5
- * @param options - The options for the Powered By Middleware.
6
- * @returns {MiddlewareHandler} The middleware handler function.
7
- *
8
- * @example
9
- * ```ts
10
- * import { poweredBy } from 'hono/powered-by'
11
- *
12
- * const app = new Hono()
13
- *
14
- * app.use(poweredBy()) // With options: poweredBy({ serverName: "My Server" })
15
- * ```
16
- */
17
2
  const poweredBy = (options) => {
18
3
  return async function poweredBy(c, next) {
19
4
  await next();
@@ -1,23 +1,5 @@
1
1
  //#region src/middleware/pretty-json/index.ts
2
2
  const jsonContentTypeRegex = /^application\/(?:[a-z0-9._-]+\+)?json(?=$|[;\s])/i;
3
- /**
4
- * Pretty JSON Middleware for Hono.
5
- *
6
- * @see {@link https://hono.dev/docs/middleware/builtin/pretty-json}
7
- *
8
- * @param options - The options for the pretty JSON middleware.
9
- * @returns {MiddlewareHandler} The middleware handler function.
10
- *
11
- * @example
12
- * ```ts
13
- * const app = new Hono()
14
- *
15
- * app.use(prettyJSON()) // With options: prettyJSON({ space: 4 })
16
- * app.get('/', (c) => {
17
- * return c.json({ message: 'Hono!' })
18
- * })
19
- * ```
20
- */
21
3
  const prettyJSON = (options) => {
22
4
  const targetQuery = options?.query ?? "pretty";
23
5
  return async function prettyJSON(c, next) {
@@ -1,26 +1,4 @@
1
1
  //#region src/middleware/request-id/request-id.ts
2
- /**
3
- * Request ID Middleware for Hono.
4
- *
5
- * @param {object} options - Options for Request ID middleware.
6
- * @param {number} [options.limitLength=255] - The maximum length of request id.
7
- * @param {string} [options.headerName=X-Request-Id] - The header name used in request id.
8
- * @param {generator} [options.generator=() => crypto.randomUUID()] - The request id generation function.
9
- *
10
- * @returns {MiddlewareHandler} The middleware handler function.
11
- *
12
- * @example
13
- * ```ts
14
- * type Variables = RequestIdVariables
15
- * const app = new Hono<{Variables: Variables}>()
16
- *
17
- * app.use(requestId())
18
- * app.get('/', (c) => {
19
- * console.log(c.get('requestId')) // Debug
20
- * return c.text('Hello World!')
21
- * })
22
- * ```
23
- */
24
2
  const requestId = ({ limitLength = 255, headerName = "X-Request-Id", generator = () => crypto.randomUUID() } = {}) => {
25
3
  return async function requestId(c, next) {
26
4
  let reqId = headerName ? c.req.header(headerName) : void 0;
@@ -42,38 +42,6 @@ const NONCE = (ctx) => {
42
42
  if (init == null) ctx.set(key, nonce);
43
43
  return `'nonce-${nonce}'`;
44
44
  };
45
- /**
46
- * Secure Headers Middleware for Hono.
47
- *
48
- * @see {@link https://hono.dev/docs/middleware/builtin/secure-headers}
49
- *
50
- * @param {Partial<SecureHeadersOptions>} [customOptions] - The options for the secure headers middleware.
51
- * @param {ContentSecurityPolicyOptions} [customOptions.contentSecurityPolicy] - Settings for the Content-Security-Policy header.
52
- * @param {ContentSecurityPolicyOptions} [customOptions.contentSecurityPolicyReportOnly] - Settings for the Content-Security-Policy-Report-Only header.
53
- * @param {overridableHeader} [customOptions.crossOriginEmbedderPolicy=false] - Settings for the Cross-Origin-Embedder-Policy header.
54
- * @param {overridableHeader} [customOptions.crossOriginResourcePolicy=true] - Settings for the Cross-Origin-Resource-Policy header.
55
- * @param {overridableHeader} [customOptions.crossOriginOpenerPolicy=true] - Settings for the Cross-Origin-Opener-Policy header.
56
- * @param {overridableHeader} [customOptions.originAgentCluster=true] - Settings for the Origin-Agent-Cluster header.
57
- * @param {overridableHeader} [customOptions.referrerPolicy=true] - Settings for the Referrer-Policy header.
58
- * @param {ReportingEndpointOptions[]} [customOptions.reportingEndpoints] - Settings for the Reporting-Endpoints header.
59
- * @param {ReportToOptions[]} [customOptions.reportTo] - Settings for the Report-To header.
60
- * @param {overridableHeader} [customOptions.strictTransportSecurity=true] - Settings for the Strict-Transport-Security header.
61
- * @param {overridableHeader} [customOptions.xContentTypeOptions=true] - Settings for the X-Content-Type-Options header.
62
- * @param {overridableHeader} [customOptions.xDnsPrefetchControl=true] - Settings for the X-DNS-Prefetch-Control header.
63
- * @param {overridableHeader} [customOptions.xDownloadOptions=true] - Settings for the X-Download-Options header.
64
- * @param {overridableHeader} [customOptions.xFrameOptions=true] - Settings for the X-Frame-Options header.
65
- * @param {overridableHeader} [customOptions.xPermittedCrossDomainPolicies=true] - Settings for the X-Permitted-Cross-Domain-Policies header.
66
- * @param {overridableHeader} [customOptions.xXssProtection=true] - Settings for the X-XSS-Protection header.
67
- * @param {boolean} [customOptions.removePoweredBy=true] - Settings for remove X-Powered-By header.
68
- * @param {PermissionsPolicyOptions} [customOptions.permissionsPolicy] - Settings for the Permissions-Policy header.
69
- * @returns {MiddlewareHandler} The middleware handler function.
70
- *
71
- * @example
72
- * ```ts
73
- * const app = new Hono()
74
- * app.use(secureHeaders())
75
- * ```
76
- */
77
45
  const secureHeaders = (customOptions) => {
78
46
  const options = {
79
47
  ...DEFAULT_OPTIONS,
@@ -22,10 +22,6 @@ export declare const serveStatic: <E extends Env = Env>(options: ServeStaticOpti
22
22
  * `join` option according to the runtime. Example `import { join } from 'node:path`. If not specified, it will fall back to the default join function.`
23
23
  */
24
24
  join?: (...paths: string[]) => string;
25
- /**
26
- * @deprecated Currently, `pathResolve` is no longer used.
27
- */
28
- pathResolve?: (path: string) => string;
29
25
  isDir?: (path: string) => boolean | undefined | Promise<boolean | undefined>;
30
26
  }) => MiddlewareHandler;
31
27
  //#endregion
@@ -10,9 +10,6 @@ const ENCODINGS = {
10
10
  };
11
11
  const ENCODINGS_ORDERED_KEYS = Object.keys(ENCODINGS);
12
12
  const DEFAULT_DOCUMENT = "index.html";
13
- /**
14
- * This middleware is not directly used by the user. Create a wrapper specifying `getContent()` by the environment such as Deno or Bun.
15
- */
16
13
  const serveStatic = (options) => {
17
14
  const root = options.root ?? "./";
18
15
  const optionPath = options.path;
@@ -1,8 +1,4 @@
1
1
  //#region src/middleware/serve-static/path.ts
2
- /**
3
- * `defaultJoin` does not support Windows paths and always uses `/` separators.
4
- * If you need Windows path support, please use `join` exported from `node:path` etc. instead.
5
- */
6
2
  const defaultJoin = (...paths) => {
7
3
  let result = paths.filter((p) => p !== "").join("/");
8
4
  result = result.replace(/(?<=\/)\/+/g, "");
@@ -1,28 +1,6 @@
1
1
  import { HTTPException } from "../../http-exception.js";
2
2
  //#region src/middleware/timeout/index.ts
3
3
  const defaultTimeoutException = new HTTPException(504, { message: "Gateway Timeout" });
4
- /**
5
- * Timeout Middleware for Hono.
6
- *
7
- * @param {number} duration - The timeout duration in milliseconds.
8
- * @param {HTTPExceptionFunction | HTTPException} [exception=defaultTimeoutException] - The exception to throw when the timeout occurs. Can be a function that returns an HTTPException or an HTTPException object.
9
- * @returns {MiddlewareHandler} The middleware handler function.
10
- *
11
- * @example
12
- * ```ts
13
- * const app = new Hono()
14
- *
15
- * app.use(
16
- * '/long-request',
17
- * timeout(5000) // Set timeout to 5 seconds
18
- * )
19
- *
20
- * app.get('/long-request', async (c) => {
21
- * await someLongRunningFunction()
22
- * return c.text('Completed within time limit')
23
- * })
24
- * ```
25
- */
26
4
  const timeout = (duration, exception = defaultTimeoutException) => {
27
5
  return async function timeout(context, next) {
28
6
  let timer;
@@ -5,45 +5,6 @@ const getTime = () => {
5
5
  } catch {}
6
6
  return Date.now();
7
7
  };
8
- /**
9
- * Server-Timing Middleware for Hono.
10
- *
11
- * @see {@link https://hono.dev/docs/middleware/builtin/timing}
12
- *
13
- * @param {TimingOptions} [config] - The options for the timing middleware.
14
- * @param {boolean} [config.total=true] - Show the total response time.
15
- * @param {boolean | ((c: Context) => boolean)} [config.enabled=true] - Whether timings should be added to the headers or not.
16
- * @param {string} [config.totalDescription=Total Response Time] - Description for the total response time.
17
- * @param {boolean} [config.autoEnd=true] - If `startTime()` should end automatically at the end of the request.
18
- * @param {boolean | string | ((c: Context) => boolean | string)} [config.crossOrigin=false] - The origin this timings header should be readable.
19
- * @returns {MiddlewareHandler} The middleware handler function.
20
- *
21
- * @example
22
- * ```ts
23
- * const app = new Hono()
24
- *
25
- * // add the middleware to your router
26
- * app.use(timing());
27
- *
28
- * app.get('/', async (c) => {
29
- * // add custom metrics
30
- * setMetric(c, 'region', 'europe-west3')
31
- *
32
- * // add custom metrics with timing, must be in milliseconds
33
- * setMetric(c, 'custom', 23.8, 'My custom Metric')
34
- *
35
- * // start a new timer
36
- * startTime(c, 'db');
37
- *
38
- * const data = await db.findMany(...);
39
- *
40
- * // end the timer
41
- * endTime(c, 'db');
42
- *
43
- * return c.json({ response: data });
44
- * });
45
- * ```
46
- */
47
8
  const timing = (config) => {
48
9
  const options = {
49
10
  total: true,
@@ -74,21 +35,6 @@ const timing = (config) => {
74
35
  }
75
36
  };
76
37
  };
77
- /**
78
- * Set a metric for the timing middleware.
79
- *
80
- * @param {Context} c - The context of the request.
81
- * @param {string} name - The name of the metric.
82
- * @param {number | string} [valueDescription] - The value or description of the metric.
83
- * @param {string} [description] - The description of the metric.
84
- * @param {number} [precision] - The precision of the metric value.
85
- *
86
- * @example
87
- * ```ts
88
- * setMetric(c, 'region', 'europe-west3')
89
- * setMetric(c, 'custom', 23.8, 'My custom Metric')
90
- * ```
91
- */
92
38
  const setMetric = (c, name, valueDescription, description, precision) => {
93
39
  const metrics = c.get("metric");
94
40
  if (!metrics) {
@@ -104,18 +50,6 @@ const setMetric = (c, name, valueDescription, description, precision) => {
104
50
  metrics.headers.push(metric);
105
51
  }
106
52
  };
107
- /**
108
- * Start a timer for the timing middleware.
109
- *
110
- * @param {Context} c - The context of the request.
111
- * @param {string} name - The name of the timer.
112
- * @param {string} [description] - The description of the timer.
113
- *
114
- * @example
115
- * ```ts
116
- * startTime(c, 'db')
117
- * ```
118
- */
119
53
  const startTime = (c, name, description) => {
120
54
  const metrics = c.get("metric");
121
55
  if (!metrics) {
@@ -127,18 +61,6 @@ const startTime = (c, name, description) => {
127
61
  start: getTime()
128
62
  });
129
63
  };
130
- /**
131
- * End a timer for the timing middleware.
132
- *
133
- * @param {Context} c - The context of the request.
134
- * @param {string} name - The name of the timer.
135
- * @param {number} [precision] - The precision of the timer value.
136
- *
137
- * @example
138
- * ```ts
139
- * endTime(c, 'db')
140
- * ```
141
- */
142
64
  const endTime = (c, name, precision) => {
143
65
  const metrics = c.get("metric");
144
66
  if (!metrics) {
@@ -155,23 +77,6 @@ const endTime = (c, name, precision) => {
155
77
  setMetric(c, name, duration, description, precision);
156
78
  metrics.timers.delete(name);
157
79
  };
158
- /**
159
- * Wrap a Promise to capture its duration.
160
- * @param {Context} c - The context of the request.
161
- * @param {string} name - The name of the timer.
162
- * @param {Promise<T>} callable - The Promise to time.
163
- * @param {string} [description] - The description of the timer.
164
- * @param {number} [precision] - The precision of the timer value.
165
- *
166
- * @example
167
- * ```ts
168
- * // Instead of this:
169
- * const data = await db.findMany(...);
170
- *
171
- * // do this:
172
- * const data = await wrapTime(c, 'query', db.findMany(...));
173
- * ```
174
- * */
175
80
  async function wrapTime(c, name, callable, description, precision) {
176
81
  startTime(c, name, description);
177
82
  try {
@@ -1,29 +1,4 @@
1
1
  //#region src/middleware/trailing-slash/index.ts
2
- /**
3
- * Trailing Slash Middleware for Hono.
4
- *
5
- * @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
6
- *
7
- * @param {TrimTrailingSlashOptions} options - The options for the middleware.
8
- * @returns {MiddlewareHandler} The middleware handler function.
9
- *
10
- * @example
11
- * ```ts
12
- * const app = new Hono()
13
- *
14
- * app.use(trimTrailingSlash())
15
- * app.get('/about/me/', (c) => c.text('With Trailing Slash'))
16
- * ```
17
- *
18
- * @example
19
- * ```ts
20
- * // With alwaysRedirect option for wildcard routes
21
- * const app = new Hono()
22
- *
23
- * app.use(trimTrailingSlash({ alwaysRedirect: true }))
24
- * app.get('/my-path/*', (c) => c.text('Wildcard route'))
25
- * ```
26
- */
27
2
  const trimTrailingSlash = (options) => {
28
3
  return async function trimTrailingSlash(c, next) {
29
4
  if (options?.alwaysRedirect) {
@@ -41,31 +16,6 @@ const trimTrailingSlash = (options) => {
41
16
  }
42
17
  };
43
18
  };
44
- /**
45
- * Append trailing slash middleware for Hono.
46
- * Append a trailing slash to the URL if it doesn't have one. For example, `/path/to/page` will be redirected to `/path/to/page/`.
47
- *
48
- * @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
49
- *
50
- * @param {AppendTrailingSlashOptions} options - The options for the middleware.
51
- * @returns {MiddlewareHandler} The middleware handler function.
52
- *
53
- * @example
54
- * ```ts
55
- * const app = new Hono()
56
- *
57
- * app.use(appendTrailingSlash())
58
- * ```
59
- *
60
- * @example
61
- * ```ts
62
- * // With alwaysRedirect option for wildcard routes
63
- * const app = new Hono()
64
- *
65
- * app.use(appendTrailingSlash({ alwaysRedirect: true }))
66
- * app.get('/my-path/*', (c) => c.text('Wildcard route'))
67
- * ```
68
- */
69
19
  const appendTrailingSlash = (options) => {
70
20
  return async function appendTrailingSlash(c, next) {
71
21
  if (options?.alwaysRedirect) {
@@ -1,5 +1,5 @@
1
- import { HonoBase as Hono$1, HonoOptions } from "../hono-base.js";
2
1
  import { BlankEnv, BlankSchema, Env, Schema } from "../types.js";
2
+ import { HonoBase as Hono$1, HonoOptions } from "../hono-base.js";
3
3
  //#region src/preset/quick.d.ts
4
4
  export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends Hono$1<E, S, BasePath> {
5
5
  constructor(options?: HonoOptions<E>);
@@ -4,10 +4,6 @@ import { TrieRouter } from "../router/trie-router/router.js";
4
4
  import "../router/trie-router/index.js";
5
5
  import { LinearRouter } from "../router/linear-router/router.js";
6
6
  //#region src/preset/quick.ts
7
- /**
8
- * @module
9
- * The preset that uses `LinearRouter`.
10
- */
11
7
  var Hono = class extends Hono$1 {
12
8
  constructor(options = {}) {
13
9
  super(options);
@@ -1,5 +1,5 @@
1
- import { HonoBase as Hono$1, HonoOptions } from "../hono-base.js";
2
1
  import { BlankEnv, BlankSchema, Env, Schema } from "../types.js";
2
+ import { HonoBase as Hono$1, HonoOptions } from "../hono-base.js";
3
3
  //#region src/preset/tiny.d.ts
4
4
  export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends Hono$1<E, S, BasePath> {
5
5
  constructor(options?: HonoOptions<E>);
@@ -1,10 +1,6 @@
1
1
  import { HonoBase as Hono$1 } from "../hono-base.js";
2
2
  import { PatternRouter } from "../router/pattern-router/router.js";
3
3
  //#region src/preset/tiny.ts
4
- /**
5
- * @module
6
- * The preset that uses `PatternRouter`.
7
- */
8
4
  var Hono = class extends Hono$1 {
9
5
  constructor(options = {}) {
10
6
  super(options);
@@ -81,7 +81,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
81
81
  * ```
82
82
  */
83
83
  query(key: string): string | undefined;
84
- query(): Record<string, string>;
84
+ query(): Record<string, string | undefined>;
85
85
  /**
86
86
  * `.queries()` can get multiple querystring parameter values, e.g. /search?tags=A&tags=B
87
87
  *
@@ -96,7 +96,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
96
96
  * ```
97
97
  */
98
98
  queries(key: string): string[] | undefined;
99
- queries(): Record<string, string[]>;
99
+ queries(): Record<string, string[] | undefined>;
100
100
  /**
101
101
  * `.header()` can get the request header value.
102
102
  *
@@ -138,7 +138,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
138
138
  * })
139
139
  * ```
140
140
  */
141
- json<T = any>(): Promise<T>;
141
+ json<T = unknown>(): Promise<T>;
142
142
  /**
143
143
  * `.text()` can parse Request body of type `text/plain`
144
144
  *
@@ -244,51 +244,6 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
244
244
  */
245
245
  get method(): string;
246
246
  get [GET_MATCH_RESULT](): Result<[unknown, RouterRoute]>;
247
- /**
248
- * `.matchedRoutes` can return a matched route in the handler
249
- *
250
- * @deprecated
251
- *
252
- * Use matchedRoutes helper defined in "hono/route" instead.
253
- *
254
- * @see {@link https://hono.dev/docs/api/request#matchedroutes}
255
- *
256
- * @example
257
- * ```ts
258
- * app.use('*', async function logger(c, next) {
259
- * await next()
260
- * c.req.matchedRoutes.forEach(({ handler, method, path }, i) => {
261
- * const name = handler.name || (handler.length < 2 ? '[handler]' : '[middleware]')
262
- * console.log(
263
- * method,
264
- * ' ',
265
- * path,
266
- * ' '.repeat(Math.max(10 - path.length, 0)),
267
- * name,
268
- * i === c.req.routeIndex ? '<- respond from here' : ''
269
- * )
270
- * })
271
- * })
272
- * ```
273
- */
274
- get matchedRoutes(): RouterRoute[];
275
- /**
276
- * `.routePath` can retrieve the path registered within the handler
277
- *
278
- * @deprecated
279
- *
280
- * Use routePath helper defined in "hono/route" instead.
281
- *
282
- * @see {@link https://hono.dev/docs/api/request#routepath}
283
- *
284
- * @example
285
- * ```ts
286
- * app.get('/posts/:id', (c) => {
287
- * return c.json({ path: c.req.routePath })
288
- * })
289
- * ```
290
- */
291
- get routePath(): string;
292
247
  }
293
248
  /**
294
249
  * Clones a HonoRequest's underlying raw Request object.