@depup/hono 4.12.8-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/changes.json +5 -0
  4. package/dist/adapter/aws-lambda/conninfo.js +24 -0
  5. package/dist/adapter/aws-lambda/handler.js +366 -0
  6. package/dist/adapter/aws-lambda/index.js +9 -0
  7. package/dist/adapter/aws-lambda/types.js +0 -0
  8. package/dist/adapter/bun/conninfo.js +27 -0
  9. package/dist/adapter/bun/index.js +16 -0
  10. package/dist/adapter/bun/serve-static.js +30 -0
  11. package/dist/adapter/bun/server.js +5 -0
  12. package/dist/adapter/bun/ssg.js +17 -0
  13. package/dist/adapter/bun/websocket.js +71 -0
  14. package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
  15. package/dist/adapter/cloudflare-pages/handler.js +67 -0
  16. package/dist/adapter/cloudflare-pages/index.js +9 -0
  17. package/dist/adapter/cloudflare-workers/conninfo.js +9 -0
  18. package/dist/adapter/cloudflare-workers/index.js +9 -0
  19. package/dist/adapter/cloudflare-workers/serve-static-module.js +8 -0
  20. package/dist/adapter/cloudflare-workers/serve-static.js +22 -0
  21. package/dist/adapter/cloudflare-workers/utils.js +35 -0
  22. package/dist/adapter/cloudflare-workers/websocket.js +41 -0
  23. package/dist/adapter/deno/conninfo.js +14 -0
  24. package/dist/adapter/deno/deno.d.js +0 -0
  25. package/dist/adapter/deno/index.js +12 -0
  26. package/dist/adapter/deno/serve-static.js +40 -0
  27. package/dist/adapter/deno/ssg.js +18 -0
  28. package/dist/adapter/deno/websocket.js +28 -0
  29. package/dist/adapter/lambda-edge/conninfo.js +9 -0
  30. package/dist/adapter/lambda-edge/handler.js +80 -0
  31. package/dist/adapter/lambda-edge/index.js +7 -0
  32. package/dist/adapter/netlify/conninfo.js +9 -0
  33. package/dist/adapter/netlify/handler.js +9 -0
  34. package/dist/adapter/netlify/index.js +2 -0
  35. package/dist/adapter/netlify/mod.js +7 -0
  36. package/dist/adapter/service-worker/handler.js +20 -0
  37. package/dist/adapter/service-worker/index.js +11 -0
  38. package/dist/adapter/service-worker/types.js +0 -0
  39. package/dist/adapter/vercel/conninfo.js +10 -0
  40. package/dist/adapter/vercel/handler.js +7 -0
  41. package/dist/adapter/vercel/index.js +7 -0
  42. package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
  43. package/dist/cjs/adapter/aws-lambda/handler.js +397 -0
  44. package/dist/cjs/adapter/aws-lambda/index.js +34 -0
  45. package/dist/cjs/adapter/aws-lambda/types.js +15 -0
  46. package/dist/cjs/adapter/bun/conninfo.js +49 -0
  47. package/dist/cjs/adapter/bun/index.js +45 -0
  48. package/dist/cjs/adapter/bun/serve-static.js +52 -0
  49. package/dist/cjs/adapter/bun/server.js +27 -0
  50. package/dist/cjs/adapter/bun/ssg.js +40 -0
  51. package/dist/cjs/adapter/bun/websocket.js +96 -0
  52. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
  53. package/dist/cjs/adapter/cloudflare-pages/handler.js +91 -0
  54. package/dist/cjs/adapter/cloudflare-pages/index.js +34 -0
  55. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +31 -0
  56. package/dist/cjs/adapter/cloudflare-workers/index.js +33 -0
  57. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +30 -0
  58. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +44 -0
  59. package/dist/cjs/adapter/cloudflare-workers/utils.js +57 -0
  60. package/dist/cjs/adapter/cloudflare-workers/websocket.js +63 -0
  61. package/dist/cjs/adapter/deno/conninfo.js +36 -0
  62. package/dist/cjs/adapter/deno/deno.d.js +0 -0
  63. package/dist/cjs/adapter/deno/index.js +38 -0
  64. package/dist/cjs/adapter/deno/serve-static.js +62 -0
  65. package/dist/cjs/adapter/deno/ssg.js +41 -0
  66. package/dist/cjs/adapter/deno/websocket.js +50 -0
  67. package/dist/cjs/adapter/lambda-edge/conninfo.js +31 -0
  68. package/dist/cjs/adapter/lambda-edge/handler.js +114 -0
  69. package/dist/cjs/adapter/lambda-edge/index.js +30 -0
  70. package/dist/cjs/adapter/netlify/conninfo.js +31 -0
  71. package/dist/cjs/adapter/netlify/handler.js +31 -0
  72. package/dist/cjs/adapter/netlify/index.js +21 -0
  73. package/dist/cjs/adapter/netlify/mod.js +30 -0
  74. package/dist/cjs/adapter/service-worker/handler.js +42 -0
  75. package/dist/cjs/adapter/service-worker/index.js +34 -0
  76. package/dist/cjs/adapter/service-worker/types.js +15 -0
  77. package/dist/cjs/adapter/vercel/conninfo.js +32 -0
  78. package/dist/cjs/adapter/vercel/handler.js +29 -0
  79. package/dist/cjs/adapter/vercel/index.js +30 -0
  80. package/dist/cjs/client/client.js +195 -0
  81. package/dist/cjs/client/fetch-result-please.js +85 -0
  82. package/dist/cjs/client/index.js +32 -0
  83. package/dist/cjs/client/types.js +15 -0
  84. package/dist/cjs/client/utils.js +105 -0
  85. package/dist/cjs/compose.js +68 -0
  86. package/dist/cjs/context.js +435 -0
  87. package/dist/cjs/helper/accepts/accepts.js +43 -0
  88. package/dist/cjs/helper/accepts/index.js +27 -0
  89. package/dist/cjs/helper/adapter/index.js +81 -0
  90. package/dist/cjs/helper/conninfo/index.js +15 -0
  91. package/dist/cjs/helper/conninfo/types.js +15 -0
  92. package/dist/cjs/helper/cookie/index.js +130 -0
  93. package/dist/cjs/helper/css/common.js +222 -0
  94. package/dist/cjs/helper/css/index.js +142 -0
  95. package/dist/cjs/helper/dev/index.js +79 -0
  96. package/dist/cjs/helper/factory/index.js +54 -0
  97. package/dist/cjs/helper/html/index.js +64 -0
  98. package/dist/cjs/helper/proxy/index.js +111 -0
  99. package/dist/cjs/helper/route/index.js +71 -0
  100. package/dist/cjs/helper/ssg/index.js +43 -0
  101. package/dist/cjs/helper/ssg/middleware.js +73 -0
  102. package/dist/cjs/helper/ssg/plugins.js +70 -0
  103. package/dist/cjs/helper/ssg/ssg.js +316 -0
  104. package/dist/cjs/helper/ssg/utils.js +84 -0
  105. package/dist/cjs/helper/streaming/index.js +35 -0
  106. package/dist/cjs/helper/streaming/sse.js +90 -0
  107. package/dist/cjs/helper/streaming/stream.js +56 -0
  108. package/dist/cjs/helper/streaming/text.js +34 -0
  109. package/dist/cjs/helper/streaming/utils.js +35 -0
  110. package/dist/cjs/helper/testing/index.js +33 -0
  111. package/dist/cjs/helper/websocket/index.js +81 -0
  112. package/dist/cjs/hono-base.js +400 -0
  113. package/dist/cjs/hono.js +43 -0
  114. package/dist/cjs/http-exception.js +57 -0
  115. package/dist/cjs/index.js +27 -0
  116. package/dist/cjs/jsx/base.js +374 -0
  117. package/dist/cjs/jsx/children.js +44 -0
  118. package/dist/cjs/jsx/components.js +201 -0
  119. package/dist/cjs/jsx/constants.js +42 -0
  120. package/dist/cjs/jsx/context.js +62 -0
  121. package/dist/cjs/jsx/dom/client.js +76 -0
  122. package/dist/cjs/jsx/dom/components.js +55 -0
  123. package/dist/cjs/jsx/dom/context.js +71 -0
  124. package/dist/cjs/jsx/dom/css.js +161 -0
  125. package/dist/cjs/jsx/dom/hooks/index.js +74 -0
  126. package/dist/cjs/jsx/dom/index.js +181 -0
  127. package/dist/cjs/jsx/dom/intrinsic-element/components.js +399 -0
  128. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +52 -0
  129. package/dist/cjs/jsx/dom/jsx-runtime.js +32 -0
  130. package/dist/cjs/jsx/dom/render.js +619 -0
  131. package/dist/cjs/jsx/dom/server.js +67 -0
  132. package/dist/cjs/jsx/dom/utils.js +32 -0
  133. package/dist/cjs/jsx/hooks/index.js +370 -0
  134. package/dist/cjs/jsx/index.js +138 -0
  135. package/dist/cjs/jsx/intrinsic-element/common.js +50 -0
  136. package/dist/cjs/jsx/intrinsic-element/components.js +189 -0
  137. package/dist/cjs/jsx/intrinsic-elements.js +15 -0
  138. package/dist/cjs/jsx/jsx-dev-runtime.js +41 -0
  139. package/dist/cjs/jsx/jsx-runtime.js +68 -0
  140. package/dist/cjs/jsx/streaming.js +177 -0
  141. package/dist/cjs/jsx/types.js +15 -0
  142. package/dist/cjs/jsx/utils.js +50 -0
  143. package/dist/cjs/middleware/basic-auth/index.js +88 -0
  144. package/dist/cjs/middleware/bearer-auth/index.js +114 -0
  145. package/dist/cjs/middleware/body-limit/index.js +84 -0
  146. package/dist/cjs/middleware/cache/index.js +111 -0
  147. package/dist/cjs/middleware/combine/index.js +101 -0
  148. package/dist/cjs/middleware/compress/index.js +61 -0
  149. package/dist/cjs/middleware/context-storage/index.js +47 -0
  150. package/dist/cjs/middleware/cors/index.js +109 -0
  151. package/dist/cjs/middleware/csrf/index.js +77 -0
  152. package/dist/cjs/middleware/etag/digest.js +55 -0
  153. package/dist/cjs/middleware/etag/index.js +95 -0
  154. package/dist/cjs/middleware/ip-restriction/index.js +124 -0
  155. package/dist/cjs/middleware/jsx-renderer/index.js +82 -0
  156. package/dist/cjs/middleware/jwk/index.js +27 -0
  157. package/dist/cjs/middleware/jwk/jwk.js +134 -0
  158. package/dist/cjs/middleware/jwt/index.js +38 -0
  159. package/dist/cjs/middleware/jwt/jwt.js +140 -0
  160. package/dist/cjs/middleware/language/index.js +35 -0
  161. package/dist/cjs/middleware/language/language.js +221 -0
  162. package/dist/cjs/middleware/logger/index.js +72 -0
  163. package/dist/cjs/middleware/method-override/index.js +104 -0
  164. package/dist/cjs/middleware/powered-by/index.js +32 -0
  165. package/dist/cjs/middleware/pretty-json/index.js +37 -0
  166. package/dist/cjs/middleware/request-id/index.js +27 -0
  167. package/dist/cjs/middleware/request-id/request-id.js +43 -0
  168. package/dist/cjs/middleware/secure-headers/index.js +29 -0
  169. package/dist/cjs/middleware/secure-headers/permissions-policy.js +15 -0
  170. package/dist/cjs/middleware/secure-headers/secure-headers.js +189 -0
  171. package/dist/cjs/middleware/serve-static/index.js +99 -0
  172. package/dist/cjs/middleware/serve-static/path.js +40 -0
  173. package/dist/cjs/middleware/timeout/index.js +47 -0
  174. package/dist/cjs/middleware/timing/index.js +35 -0
  175. package/dist/cjs/middleware/timing/timing.js +128 -0
  176. package/dist/cjs/middleware/trailing-slash/index.js +62 -0
  177. package/dist/cjs/package.json +3 -0
  178. package/dist/cjs/preset/quick.js +38 -0
  179. package/dist/cjs/preset/tiny.js +34 -0
  180. package/dist/cjs/request/constants.js +27 -0
  181. package/dist/cjs/request.js +324 -0
  182. package/dist/cjs/router/linear-router/index.js +27 -0
  183. package/dist/cjs/router/linear-router/router.js +140 -0
  184. package/dist/cjs/router/pattern-router/index.js +27 -0
  185. package/dist/cjs/router/pattern-router/router.js +70 -0
  186. package/dist/cjs/router/reg-exp-router/index.js +34 -0
  187. package/dist/cjs/router/reg-exp-router/matcher.js +48 -0
  188. package/dist/cjs/router/reg-exp-router/node.js +134 -0
  189. package/dist/cjs/router/reg-exp-router/prepared-router.js +166 -0
  190. package/dist/cjs/router/reg-exp-router/router.js +208 -0
  191. package/dist/cjs/router/reg-exp-router/trie.js +81 -0
  192. package/dist/cjs/router/smart-router/index.js +27 -0
  193. package/dist/cjs/router/smart-router/router.js +80 -0
  194. package/dist/cjs/router/trie-router/index.js +27 -0
  195. package/dist/cjs/router/trie-router/node.js +201 -0
  196. package/dist/cjs/router/trie-router/router.js +48 -0
  197. package/dist/cjs/router.js +40 -0
  198. package/dist/cjs/types.js +28 -0
  199. package/dist/cjs/utils/accept.js +245 -0
  200. package/dist/cjs/utils/basic-auth.js +45 -0
  201. package/dist/cjs/utils/body.js +97 -0
  202. package/dist/cjs/utils/buffer.js +102 -0
  203. package/dist/cjs/utils/color.js +48 -0
  204. package/dist/cjs/utils/compress.js +27 -0
  205. package/dist/cjs/utils/concurrent.js +61 -0
  206. package/dist/cjs/utils/constants.js +27 -0
  207. package/dist/cjs/utils/cookie.js +177 -0
  208. package/dist/cjs/utils/crypto.js +69 -0
  209. package/dist/cjs/utils/encode.js +54 -0
  210. package/dist/cjs/utils/filepath.js +58 -0
  211. package/dist/cjs/utils/handler.js +36 -0
  212. package/dist/cjs/utils/headers.js +15 -0
  213. package/dist/cjs/utils/html.js +150 -0
  214. package/dist/cjs/utils/http-status.js +15 -0
  215. package/dist/cjs/utils/ipaddr.js +129 -0
  216. package/dist/cjs/utils/jwt/index.js +28 -0
  217. package/dist/cjs/utils/jwt/jwa.js +42 -0
  218. package/dist/cjs/utils/jwt/jws.js +215 -0
  219. package/dist/cjs/utils/jwt/jwt.js +213 -0
  220. package/dist/cjs/utils/jwt/types.js +161 -0
  221. package/dist/cjs/utils/jwt/utf8.js +30 -0
  222. package/dist/cjs/utils/mime.js +108 -0
  223. package/dist/cjs/utils/stream.js +101 -0
  224. package/dist/cjs/utils/types.js +15 -0
  225. package/dist/cjs/utils/url.js +256 -0
  226. package/dist/cjs/validator/index.js +27 -0
  227. package/dist/cjs/validator/utils.js +15 -0
  228. package/dist/cjs/validator/validator.js +108 -0
  229. package/dist/client/client.js +180 -0
  230. package/dist/client/fetch-result-please.js +62 -0
  231. package/dist/client/index.js +8 -0
  232. package/dist/client/types.js +0 -0
  233. package/dist/client/utils.js +76 -0
  234. package/dist/compose.js +46 -0
  235. package/dist/context.js +412 -0
  236. package/dist/helper/accepts/accepts.js +20 -0
  237. package/dist/helper/accepts/index.js +5 -0
  238. package/dist/helper/adapter/index.js +56 -0
  239. package/dist/helper/conninfo/index.js +0 -0
  240. package/dist/helper/conninfo/types.js +0 -0
  241. package/dist/helper/cookie/index.js +102 -0
  242. package/dist/helper/css/common.js +185 -0
  243. package/dist/helper/css/index.js +125 -0
  244. package/dist/helper/dev/index.js +55 -0
  245. package/dist/helper/factory/index.js +30 -0
  246. package/dist/helper/html/index.js +41 -0
  247. package/dist/helper/proxy/index.js +89 -0
  248. package/dist/helper/route/index.js +46 -0
  249. package/dist/helper/ssg/index.js +19 -0
  250. package/dist/helper/ssg/middleware.js +45 -0
  251. package/dist/helper/ssg/plugins.js +47 -0
  252. package/dist/helper/ssg/ssg.js +287 -0
  253. package/dist/helper/ssg/utils.js +59 -0
  254. package/dist/helper/streaming/index.js +10 -0
  255. package/dist/helper/streaming/sse.js +67 -0
  256. package/dist/helper/streaming/stream.js +34 -0
  257. package/dist/helper/streaming/text.js +12 -0
  258. package/dist/helper/streaming/utils.js +13 -0
  259. package/dist/helper/testing/index.js +11 -0
  260. package/dist/helper/websocket/index.js +57 -0
  261. package/dist/hono-base.js +378 -0
  262. package/dist/hono.js +21 -0
  263. package/dist/http-exception.js +35 -0
  264. package/dist/index.js +5 -0
  265. package/dist/jsx/base.js +331 -0
  266. package/dist/jsx/children.js +21 -0
  267. package/dist/jsx/components.js +178 -0
  268. package/dist/jsx/constants.js +15 -0
  269. package/dist/jsx/context.js +38 -0
  270. package/dist/jsx/dom/client.js +53 -0
  271. package/dist/jsx/dom/components.js +32 -0
  272. package/dist/jsx/dom/context.js +48 -0
  273. package/dist/jsx/dom/css.js +143 -0
  274. package/dist/jsx/dom/hooks/index.js +48 -0
  275. package/dist/jsx/dom/index.js +142 -0
  276. package/dist/jsx/dom/intrinsic-element/components.js +374 -0
  277. package/dist/jsx/dom/jsx-dev-runtime.js +19 -0
  278. package/dist/jsx/dom/jsx-runtime.js +8 -0
  279. package/dist/jsx/dom/render.js +595 -0
  280. package/dist/jsx/dom/server.js +33 -0
  281. package/dist/jsx/dom/utils.js +10 -0
  282. package/dist/jsx/hooks/index.js +328 -0
  283. package/dist/jsx/index.js +103 -0
  284. package/dist/jsx/intrinsic-element/common.js +24 -0
  285. package/dist/jsx/intrinsic-element/components.js +165 -0
  286. package/dist/jsx/intrinsic-elements.js +0 -0
  287. package/dist/jsx/jsx-dev-runtime.js +18 -0
  288. package/dist/jsx/jsx-runtime.js +41 -0
  289. package/dist/jsx/streaming.js +153 -0
  290. package/dist/jsx/types.js +0 -0
  291. package/dist/jsx/utils.js +27 -0
  292. package/dist/middleware/basic-auth/index.js +66 -0
  293. package/dist/middleware/bearer-auth/index.js +92 -0
  294. package/dist/middleware/body-limit/index.js +62 -0
  295. package/dist/middleware/cache/index.js +89 -0
  296. package/dist/middleware/combine/index.js +77 -0
  297. package/dist/middleware/compress/index.js +39 -0
  298. package/dist/middleware/context-storage/index.js +23 -0
  299. package/dist/middleware/cors/index.js +87 -0
  300. package/dist/middleware/csrf/index.js +55 -0
  301. package/dist/middleware/etag/digest.js +33 -0
  302. package/dist/middleware/etag/index.js +72 -0
  303. package/dist/middleware/ip-restriction/index.js +107 -0
  304. package/dist/middleware/jsx-renderer/index.js +58 -0
  305. package/dist/middleware/jwk/index.js +5 -0
  306. package/dist/middleware/jwk/jwk.js +112 -0
  307. package/dist/middleware/jwt/index.js +11 -0
  308. package/dist/middleware/jwt/jwt.js +114 -0
  309. package/dist/middleware/language/index.js +15 -0
  310. package/dist/middleware/language/language.js +190 -0
  311. package/dist/middleware/logger/index.js +44 -0
  312. package/dist/middleware/method-override/index.js +82 -0
  313. package/dist/middleware/powered-by/index.js +10 -0
  314. package/dist/middleware/pretty-json/index.js +15 -0
  315. package/dist/middleware/request-id/index.js +5 -0
  316. package/dist/middleware/request-id/request-id.js +21 -0
  317. package/dist/middleware/secure-headers/index.js +6 -0
  318. package/dist/middleware/secure-headers/permissions-policy.js +0 -0
  319. package/dist/middleware/secure-headers/secure-headers.js +166 -0
  320. package/dist/middleware/serve-static/index.js +77 -0
  321. package/dist/middleware/serve-static/path.js +18 -0
  322. package/dist/middleware/timeout/index.js +25 -0
  323. package/dist/middleware/timing/index.js +9 -0
  324. package/dist/middleware/timing/timing.js +102 -0
  325. package/dist/middleware/trailing-slash/index.js +39 -0
  326. package/dist/preset/quick.js +16 -0
  327. package/dist/preset/tiny.js +12 -0
  328. package/dist/request/constants.js +5 -0
  329. package/dist/request.js +301 -0
  330. package/dist/router/linear-router/index.js +5 -0
  331. package/dist/router/linear-router/router.js +118 -0
  332. package/dist/router/pattern-router/index.js +5 -0
  333. package/dist/router/pattern-router/router.js +48 -0
  334. package/dist/router/reg-exp-router/index.js +9 -0
  335. package/dist/router/reg-exp-router/matcher.js +25 -0
  336. package/dist/router/reg-exp-router/node.js +111 -0
  337. package/dist/router/reg-exp-router/prepared-router.js +142 -0
  338. package/dist/router/reg-exp-router/router.js +190 -0
  339. package/dist/router/reg-exp-router/trie.js +59 -0
  340. package/dist/router/smart-router/index.js +5 -0
  341. package/dist/router/smart-router/router.js +58 -0
  342. package/dist/router/trie-router/index.js +5 -0
  343. package/dist/router/trie-router/node.js +179 -0
  344. package/dist/router/trie-router/router.js +26 -0
  345. package/dist/router.js +14 -0
  346. package/dist/tsconfig.build.tsbuildinfo +1 -0
  347. package/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
  348. package/dist/types/adapter/aws-lambda/handler.d.ts +184 -0
  349. package/dist/types/adapter/aws-lambda/index.d.ts +8 -0
  350. package/dist/types/adapter/aws-lambda/types.d.ts +144 -0
  351. package/dist/types/adapter/bun/conninfo.d.ts +7 -0
  352. package/dist/types/adapter/bun/index.d.ts +10 -0
  353. package/dist/types/adapter/bun/serve-static.d.ts +3 -0
  354. package/dist/types/adapter/bun/server.d.ts +12 -0
  355. package/dist/types/adapter/bun/ssg.d.ts +13 -0
  356. package/dist/types/adapter/bun/websocket.d.ts +39 -0
  357. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
  358. package/dist/types/adapter/cloudflare-pages/handler.d.ts +33 -0
  359. package/dist/types/adapter/cloudflare-pages/index.d.ts +7 -0
  360. package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
  361. package/dist/types/adapter/cloudflare-workers/index.d.ts +7 -0
  362. package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +4 -0
  363. package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +16 -0
  364. package/dist/types/adapter/cloudflare-workers/utils.d.ts +5 -0
  365. package/dist/types/adapter/cloudflare-workers/websocket.d.ts +2 -0
  366. package/dist/types/adapter/deno/conninfo.d.ts +7 -0
  367. package/dist/types/adapter/deno/index.d.ts +8 -0
  368. package/dist/types/adapter/deno/serve-static.d.ts +3 -0
  369. package/dist/types/adapter/deno/ssg.d.ts +13 -0
  370. package/dist/types/adapter/deno/websocket.d.ts +2 -0
  371. package/dist/types/adapter/lambda-edge/conninfo.d.ts +2 -0
  372. package/dist/types/adapter/lambda-edge/handler.d.ts +87 -0
  373. package/dist/types/adapter/lambda-edge/index.d.ts +7 -0
  374. package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
  375. package/dist/types/adapter/netlify/handler.d.ts +2 -0
  376. package/dist/types/adapter/netlify/index.d.ts +5 -0
  377. package/dist/types/adapter/netlify/mod.d.ts +2 -0
  378. package/dist/types/adapter/service-worker/handler.d.ts +16 -0
  379. package/dist/types/adapter/service-worker/index.d.ts +28 -0
  380. package/dist/types/adapter/service-worker/types.d.ts +12 -0
  381. package/dist/types/adapter/vercel/conninfo.d.ts +2 -0
  382. package/dist/types/adapter/vercel/handler.d.ts +2 -0
  383. package/dist/types/adapter/vercel/index.d.ts +6 -0
  384. package/dist/types/client/client.d.ts +4 -0
  385. package/dist/types/client/fetch-result-please.d.ts +35 -0
  386. package/dist/types/client/index.d.ts +7 -0
  387. package/dist/types/client/types.d.ts +209 -0
  388. package/dist/types/client/utils.d.ts +18 -0
  389. package/dist/types/compose.d.ts +14 -0
  390. package/dist/types/context.d.ts +455 -0
  391. package/dist/types/helper/accepts/accepts.d.ts +30 -0
  392. package/dist/types/helper/accepts/index.d.ts +5 -0
  393. package/dist/types/helper/adapter/index.d.ts +12 -0
  394. package/dist/types/helper/conninfo/index.d.ts +5 -0
  395. package/dist/types/helper/conninfo/types.d.ts +36 -0
  396. package/dist/types/helper/cookie/index.d.ts +24 -0
  397. package/dist/types/helper/css/common.d.ts +42 -0
  398. package/dist/types/helper/css/index.d.ts +73 -0
  399. package/dist/types/helper/dev/index.d.ts +20 -0
  400. package/dist/types/helper/factory/index.d.ts +82 -0
  401. package/dist/types/helper/html/index.d.ts +8 -0
  402. package/dist/types/helper/proxy/index.d.ts +72 -0
  403. package/dist/types/helper/route/index.d.ts +75 -0
  404. package/dist/types/helper/ssg/index.d.ts +7 -0
  405. package/dist/types/helper/ssg/middleware.d.ts +44 -0
  406. package/dist/types/helper/ssg/plugins.d.ts +27 -0
  407. package/dist/types/helper/ssg/ssg.d.ts +91 -0
  408. package/dist/types/helper/ssg/utils.d.ts +15 -0
  409. package/dist/types/helper/streaming/index.d.ts +8 -0
  410. package/dist/types/helper/streaming/sse.d.ts +13 -0
  411. package/dist/types/helper/streaming/stream.d.ts +3 -0
  412. package/dist/types/helper/streaming/text.d.ts +3 -0
  413. package/dist/types/helper/streaming/utils.d.ts +1 -0
  414. package/dist/types/helper/testing/index.d.ts +12 -0
  415. package/dist/types/helper/websocket/index.d.ts +69 -0
  416. package/dist/types/hono-base.d.ts +220 -0
  417. package/dist/types/hono.d.ts +19 -0
  418. package/dist/types/http-exception.d.ts +59 -0
  419. package/dist/types/index.d.ts +36 -0
  420. package/dist/types/jsx/base.d.ts +58 -0
  421. package/dist/types/jsx/children.d.ts +9 -0
  422. package/dist/types/jsx/components.d.ts +15 -0
  423. package/dist/types/jsx/constants.d.ts +6 -0
  424. package/dist/types/jsx/context.d.ts +12 -0
  425. package/dist/types/jsx/dom/client.d.ts +31 -0
  426. package/dist/types/jsx/dom/components.d.ts +10 -0
  427. package/dist/types/jsx/dom/context.d.ts +3 -0
  428. package/dist/types/jsx/dom/css.d.ts +77 -0
  429. package/dist/types/jsx/dom/hooks/index.d.ts +39 -0
  430. package/dist/types/jsx/dom/index.d.ts +88 -0
  431. package/dist/types/jsx/dom/intrinsic-element/components.d.ts +16 -0
  432. package/dist/types/jsx/dom/jsx-dev-runtime.d.ts +8 -0
  433. package/dist/types/jsx/dom/jsx-runtime.d.ts +7 -0
  434. package/dist/types/jsx/dom/render.d.ts +73 -0
  435. package/dist/types/jsx/dom/server.d.ts +106 -0
  436. package/dist/types/jsx/dom/utils.d.ts +1 -0
  437. package/dist/types/jsx/hooks/index.d.ts +45 -0
  438. package/dist/types/jsx/index.d.ts +75 -0
  439. package/dist/types/jsx/intrinsic-element/common.d.ts +6 -0
  440. package/dist/types/jsx/intrinsic-element/components.d.ts +13 -0
  441. package/dist/types/jsx/intrinsic-elements.d.ts +722 -0
  442. package/dist/types/jsx/jsx-dev-runtime.d.ts +8 -0
  443. package/dist/types/jsx/jsx-runtime.d.ts +12 -0
  444. package/dist/types/jsx/streaming.d.ts +36 -0
  445. package/dist/types/jsx/types.d.ts +35 -0
  446. package/dist/types/jsx/utils.d.ts +2 -0
  447. package/dist/types/middleware/basic-auth/index.d.ts +75 -0
  448. package/dist/types/middleware/bearer-auth/index.d.ts +91 -0
  449. package/dist/types/middleware/body-limit/index.d.ts +45 -0
  450. package/dist/types/middleware/cache/index.d.ts +41 -0
  451. package/dist/types/middleware/combine/index.d.ts +85 -0
  452. package/dist/types/middleware/compress/index.d.ts +29 -0
  453. package/dist/types/middleware/context-storage/index.d.ts +40 -0
  454. package/dist/types/middleware/cors/index.d.ts +55 -0
  455. package/dist/types/middleware/csrf/index.d.ts +78 -0
  456. package/dist/types/middleware/etag/digest.d.ts +1 -0
  457. package/dist/types/middleware/etag/index.d.ts +42 -0
  458. package/dist/types/middleware/ip-restriction/index.d.ts +31 -0
  459. package/dist/types/middleware/jsx-renderer/index.d.ts +77 -0
  460. package/dist/types/middleware/jwk/index.d.ts +1 -0
  461. package/dist/types/middleware/jwk/jwk.d.ts +54 -0
  462. package/dist/types/middleware/jwt/index.d.ts +8 -0
  463. package/dist/types/middleware/jwt/jwt.d.ts +67 -0
  464. package/dist/types/middleware/language/index.d.ts +7 -0
  465. package/dist/types/middleware/language/language.d.ts +102 -0
  466. package/dist/types/middleware/logger/index.d.ts +24 -0
  467. package/dist/types/middleware/method-override/index.d.ts +48 -0
  468. package/dist/types/middleware/powered-by/index.d.ts +29 -0
  469. package/dist/types/middleware/pretty-json/index.d.ts +42 -0
  470. package/dist/types/middleware/request-id/index.d.ts +7 -0
  471. package/dist/types/middleware/request-id/request-id.d.ts +37 -0
  472. package/dist/types/middleware/secure-headers/index.d.ts +8 -0
  473. package/dist/types/middleware/secure-headers/permissions-policy.d.ts +14 -0
  474. package/dist/types/middleware/secure-headers/secure-headers.d.ts +109 -0
  475. package/dist/types/middleware/serve-static/index.d.ts +31 -0
  476. package/dist/types/middleware/serve-static/path.d.ts +5 -0
  477. package/dist/types/middleware/timeout/index.d.ts +31 -0
  478. package/dist/types/middleware/timing/index.d.ts +7 -0
  479. package/dist/types/middleware/timing/timing.d.ts +129 -0
  480. package/dist/types/middleware/trailing-slash/index.d.ts +78 -0
  481. package/dist/types/package.json +3 -0
  482. package/dist/types/preset/quick.d.ts +10 -0
  483. package/dist/types/preset/tiny.d.ts +10 -0
  484. package/dist/types/request/constants.d.ts +1 -0
  485. package/dist/types/request.d.ts +313 -0
  486. package/dist/types/router/linear-router/index.d.ts +5 -0
  487. package/dist/types/router/linear-router/router.d.ts +7 -0
  488. package/dist/types/router/pattern-router/index.d.ts +5 -0
  489. package/dist/types/router/pattern-router/router.d.ts +7 -0
  490. package/dist/types/router/reg-exp-router/index.d.ts +6 -0
  491. package/dist/types/router/reg-exp-router/matcher.d.ts +7 -0
  492. package/dist/types/router/reg-exp-router/node.d.ts +10 -0
  493. package/dist/types/router/reg-exp-router/prepared-router.d.ts +17 -0
  494. package/dist/types/router/reg-exp-router/router.d.ts +11 -0
  495. package/dist/types/router/reg-exp-router/trie.d.ts +7 -0
  496. package/dist/types/router/smart-router/index.d.ts +5 -0
  497. package/dist/types/router/smart-router/router.d.ts +11 -0
  498. package/dist/types/router/trie-router/index.d.ts +5 -0
  499. package/dist/types/router/trie-router/node.d.ts +7 -0
  500. package/dist/types/router/trie-router/router.d.ts +8 -0
  501. package/dist/types/router.d.ts +97 -0
  502. package/dist/types/types.d.ts +573 -0
  503. package/dist/types/utils/accept.d.ts +6 -0
  504. package/dist/types/utils/basic-auth.d.ts +5 -0
  505. package/dist/types/utils/body.d.ts +79 -0
  506. package/dist/types/utils/buffer.d.ts +17 -0
  507. package/dist/types/utils/color.d.ts +21 -0
  508. package/dist/types/utils/compress.d.ts +8 -0
  509. package/dist/types/utils/concurrent.d.ts +11 -0
  510. package/dist/types/utils/constants.d.ts +4 -0
  511. package/dist/types/utils/cookie.d.ts +40 -0
  512. package/dist/types/utils/crypto.d.ts +15 -0
  513. package/dist/types/utils/encode.d.ts +8 -0
  514. package/dist/types/utils/filepath.d.ts +12 -0
  515. package/dist/types/utils/handler.d.ts +6 -0
  516. package/dist/types/utils/headers.d.ts +8 -0
  517. package/dist/types/utils/html.d.ts +44 -0
  518. package/dist/types/utils/http-status.d.ts +32 -0
  519. package/dist/types/utils/ipaddr.d.ts +40 -0
  520. package/dist/types/utils/jwt/index.d.ts +18 -0
  521. package/dist/types/utils/jwt/jwa.d.ts +23 -0
  522. package/dist/types/utils/jwt/jws.d.ts +12 -0
  523. package/dist/types/utils/jwt/jwt.d.ts +43 -0
  524. package/dist/types/utils/jwt/types.d.ts +86 -0
  525. package/dist/types/utils/jwt/utf8.d.ts +6 -0
  526. package/dist/types/utils/mime.d.ts +70 -0
  527. package/dist/types/utils/stream.d.ts +31 -0
  528. package/dist/types/utils/types.d.ts +74 -0
  529. package/dist/types/utils/url.d.ts +39 -0
  530. package/dist/types/validator/index.d.ts +7 -0
  531. package/dist/types/validator/utils.d.ts +29 -0
  532. package/dist/types/validator/validator.d.ts +16 -0
  533. package/dist/types.js +6 -0
  534. package/dist/utils/accept.js +223 -0
  535. package/dist/utils/basic-auth.js +23 -0
  536. package/dist/utils/body.js +75 -0
  537. package/dist/utils/buffer.js +77 -0
  538. package/dist/utils/color.js +25 -0
  539. package/dist/utils/compress.js +5 -0
  540. package/dist/utils/concurrent.js +39 -0
  541. package/dist/utils/constants.js +5 -0
  542. package/dist/utils/cookie.js +152 -0
  543. package/dist/utils/crypto.js +44 -0
  544. package/dist/utils/encode.js +29 -0
  545. package/dist/utils/filepath.js +35 -0
  546. package/dist/utils/handler.js +13 -0
  547. package/dist/utils/headers.js +0 -0
  548. package/dist/utils/html.js +123 -0
  549. package/dist/utils/http-status.js +0 -0
  550. package/dist/utils/ipaddr.js +102 -0
  551. package/dist/utils/jwt/index.js +6 -0
  552. package/dist/utils/jwt/jwa.js +20 -0
  553. package/dist/utils/jwt/jws.js +192 -0
  554. package/dist/utils/jwt/jwt.js +201 -0
  555. package/dist/utils/jwt/types.js +124 -0
  556. package/dist/utils/jwt/utf8.js +7 -0
  557. package/dist/utils/mime.js +84 -0
  558. package/dist/utils/stream.js +79 -0
  559. package/dist/utils/types.js +0 -0
  560. package/dist/utils/url.js +222 -0
  561. package/dist/validator/index.js +5 -0
  562. package/dist/validator/utils.js +0 -0
  563. package/dist/validator/validator.js +86 -0
  564. package/package.json +702 -0
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @module
3
+ * Secure Headers Middleware for Hono.
4
+ */
5
+ import type { Context } from '../../context';
6
+ import type { MiddlewareHandler } from '../../types';
7
+ import type { PermissionsPolicyDirective } from './permissions-policy';
8
+ export type SecureHeadersVariables = {
9
+ secureHeadersNonce?: string;
10
+ };
11
+ export type ContentSecurityPolicyOptionHandler = (ctx: Context, directive: string) => string;
12
+ type ContentSecurityPolicyOptionValue = (string | ContentSecurityPolicyOptionHandler)[];
13
+ interface ContentSecurityPolicyOptions {
14
+ defaultSrc?: ContentSecurityPolicyOptionValue;
15
+ baseUri?: ContentSecurityPolicyOptionValue;
16
+ childSrc?: ContentSecurityPolicyOptionValue;
17
+ connectSrc?: ContentSecurityPolicyOptionValue;
18
+ fontSrc?: ContentSecurityPolicyOptionValue;
19
+ formAction?: ContentSecurityPolicyOptionValue;
20
+ frameAncestors?: ContentSecurityPolicyOptionValue;
21
+ frameSrc?: ContentSecurityPolicyOptionValue;
22
+ imgSrc?: ContentSecurityPolicyOptionValue;
23
+ manifestSrc?: ContentSecurityPolicyOptionValue;
24
+ mediaSrc?: ContentSecurityPolicyOptionValue;
25
+ objectSrc?: ContentSecurityPolicyOptionValue;
26
+ reportTo?: string;
27
+ reportUri?: string | string[];
28
+ sandbox?: ContentSecurityPolicyOptionValue;
29
+ scriptSrc?: ContentSecurityPolicyOptionValue;
30
+ scriptSrcAttr?: ContentSecurityPolicyOptionValue;
31
+ scriptSrcElem?: ContentSecurityPolicyOptionValue;
32
+ styleSrc?: ContentSecurityPolicyOptionValue;
33
+ styleSrcAttr?: ContentSecurityPolicyOptionValue;
34
+ styleSrcElem?: ContentSecurityPolicyOptionValue;
35
+ upgradeInsecureRequests?: ContentSecurityPolicyOptionValue;
36
+ workerSrc?: ContentSecurityPolicyOptionValue;
37
+ requireTrustedTypesFor?: ContentSecurityPolicyOptionValue;
38
+ trustedTypes?: ContentSecurityPolicyOptionValue;
39
+ }
40
+ interface ReportToOptions {
41
+ group: string;
42
+ max_age: number;
43
+ endpoints: ReportToEndpoint[];
44
+ }
45
+ interface ReportToEndpoint {
46
+ url: string;
47
+ }
48
+ interface ReportingEndpointOptions {
49
+ name: string;
50
+ url: string;
51
+ }
52
+ type PermissionsPolicyValue = '*' | 'self' | 'src' | 'none' | string;
53
+ type PermissionsPolicyOptions = Partial<Record<PermissionsPolicyDirective, PermissionsPolicyValue[] | boolean>>;
54
+ type overridableHeader = boolean | string;
55
+ interface SecureHeadersOptions {
56
+ contentSecurityPolicy?: ContentSecurityPolicyOptions;
57
+ contentSecurityPolicyReportOnly?: ContentSecurityPolicyOptions;
58
+ crossOriginEmbedderPolicy?: overridableHeader;
59
+ crossOriginResourcePolicy?: overridableHeader;
60
+ crossOriginOpenerPolicy?: overridableHeader;
61
+ originAgentCluster?: overridableHeader;
62
+ referrerPolicy?: overridableHeader;
63
+ reportingEndpoints?: ReportingEndpointOptions[];
64
+ reportTo?: ReportToOptions[];
65
+ strictTransportSecurity?: overridableHeader;
66
+ xContentTypeOptions?: overridableHeader;
67
+ xDnsPrefetchControl?: overridableHeader;
68
+ xDownloadOptions?: overridableHeader;
69
+ xFrameOptions?: overridableHeader;
70
+ xPermittedCrossDomainPolicies?: overridableHeader;
71
+ xXssProtection?: overridableHeader;
72
+ removePoweredBy?: boolean;
73
+ permissionsPolicy?: PermissionsPolicyOptions;
74
+ }
75
+ export declare const NONCE: ContentSecurityPolicyOptionHandler;
76
+ /**
77
+ * Secure Headers Middleware for Hono.
78
+ *
79
+ * @see {@link https://hono.dev/docs/middleware/builtin/secure-headers}
80
+ *
81
+ * @param {Partial<SecureHeadersOptions>} [customOptions] - The options for the secure headers middleware.
82
+ * @param {ContentSecurityPolicyOptions} [customOptions.contentSecurityPolicy] - Settings for the Content-Security-Policy header.
83
+ * @param {ContentSecurityPolicyOptions} [customOptions.contentSecurityPolicyReportOnly] - Settings for the Content-Security-Policy-Report-Only header.
84
+ * @param {overridableHeader} [customOptions.crossOriginEmbedderPolicy=false] - Settings for the Cross-Origin-Embedder-Policy header.
85
+ * @param {overridableHeader} [customOptions.crossOriginResourcePolicy=true] - Settings for the Cross-Origin-Resource-Policy header.
86
+ * @param {overridableHeader} [customOptions.crossOriginOpenerPolicy=true] - Settings for the Cross-Origin-Opener-Policy header.
87
+ * @param {overridableHeader} [customOptions.originAgentCluster=true] - Settings for the Origin-Agent-Cluster header.
88
+ * @param {overridableHeader} [customOptions.referrerPolicy=true] - Settings for the Referrer-Policy header.
89
+ * @param {ReportingEndpointOptions[]} [customOptions.reportingEndpoints] - Settings for the Reporting-Endpoints header.
90
+ * @param {ReportToOptions[]} [customOptions.reportTo] - Settings for the Report-To header.
91
+ * @param {overridableHeader} [customOptions.strictTransportSecurity=true] - Settings for the Strict-Transport-Security header.
92
+ * @param {overridableHeader} [customOptions.xContentTypeOptions=true] - Settings for the X-Content-Type-Options header.
93
+ * @param {overridableHeader} [customOptions.xDnsPrefetchControl=true] - Settings for the X-DNS-Prefetch-Control header.
94
+ * @param {overridableHeader} [customOptions.xDownloadOptions=true] - Settings for the X-Download-Options header.
95
+ * @param {overridableHeader} [customOptions.xFrameOptions=true] - Settings for the X-Frame-Options header.
96
+ * @param {overridableHeader} [customOptions.xPermittedCrossDomainPolicies=true] - Settings for the X-Permitted-Cross-Domain-Policies header.
97
+ * @param {overridableHeader} [customOptions.xXssProtection=true] - Settings for the X-XSS-Protection header.
98
+ * @param {boolean} [customOptions.removePoweredBy=true] - Settings for remove X-Powered-By header.
99
+ * @param {PermissionsPolicyOptions} [customOptions.permissionsPolicy] - Settings for the Permissions-Policy header.
100
+ * @returns {MiddlewareHandler} The middleware handler function.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const app = new Hono()
105
+ * app.use(secureHeaders())
106
+ * ```
107
+ */
108
+ export declare const secureHeaders: (customOptions?: SecureHeadersOptions) => MiddlewareHandler;
109
+ export {};
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module
3
+ * Serve Static Middleware for Hono.
4
+ */
5
+ import type { Context, Data } from '../../context';
6
+ import type { Env, MiddlewareHandler } from '../../types';
7
+ export type ServeStaticOptions<E extends Env = Env> = {
8
+ root?: string;
9
+ path?: string;
10
+ precompressed?: boolean;
11
+ mimes?: Record<string, string>;
12
+ rewriteRequestPath?: (path: string) => string;
13
+ onFound?: (path: string, c: Context<E>) => void | Promise<void>;
14
+ onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
15
+ };
16
+ /**
17
+ * This middleware is not directly used by the user. Create a wrapper specifying `getContent()` by the environment such as Deno or Bun.
18
+ */
19
+ export declare const serveStatic: <E extends Env = Env>(options: ServeStaticOptions<E> & {
20
+ getContent: (path: string, c: Context<E>) => Promise<Data | Response | null>;
21
+ /**
22
+ *
23
+ * `join` option according to the runtime. Example `import { join } from 'node:path`. If not specified, it will fall back to the default join function.`
24
+ */
25
+ join?: (...paths: string[]) => string;
26
+ /**
27
+ * @deprecated Currently, `pathResolve` is no longer used.
28
+ */
29
+ pathResolve?: (path: string) => string;
30
+ isDir?: (path: string) => boolean | undefined | Promise<boolean | undefined>;
31
+ }) => MiddlewareHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * `defaultJoin` does not support Windows paths and always uses `/` separators.
3
+ * If you need Windows path support, please use `join` exported from `node:path` etc. instead.
4
+ */
5
+ export declare const defaultJoin: (...paths: string[]) => string;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module
3
+ * Timeout Middleware for Hono.
4
+ */
5
+ import type { Context } from '../../context';
6
+ import { HTTPException } from '../../http-exception';
7
+ import type { MiddlewareHandler } from '../../types';
8
+ export type HTTPExceptionFunction = (context: Context) => HTTPException;
9
+ /**
10
+ * Timeout Middleware for Hono.
11
+ *
12
+ * @param {number} duration - The timeout duration in milliseconds.
13
+ * @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.
14
+ * @returns {MiddlewareHandler} The middleware handler function.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const app = new Hono()
19
+ *
20
+ * app.use(
21
+ * '/long-request',
22
+ * timeout(5000) // Set timeout to 5 seconds
23
+ * )
24
+ *
25
+ * app.get('/long-request', async (c) => {
26
+ * await someLongRunningFunction()
27
+ * return c.text('Completed within time limit')
28
+ * })
29
+ * ```
30
+ */
31
+ export declare const timeout: (duration: number, exception?: HTTPExceptionFunction | HTTPException) => MiddlewareHandler;
@@ -0,0 +1,7 @@
1
+ import type { TimingVariables } from './timing';
2
+ export { TimingVariables };
3
+ export { timing, setMetric, startTime, endTime, wrapTime } from './timing';
4
+ declare module '../..' {
5
+ interface ContextVariableMap extends TimingVariables {
6
+ }
7
+ }
@@ -0,0 +1,129 @@
1
+ /**
2
+ * @module
3
+ * Server-Timing Middleware for Hono.
4
+ */
5
+ import type { Context } from '../../context';
6
+ import type { MiddlewareHandler } from '../../types';
7
+ import '../../context';
8
+ export type TimingVariables = {
9
+ metric?: {
10
+ headers: string[];
11
+ timers: Map<string, Timer>;
12
+ };
13
+ };
14
+ interface Timer {
15
+ description?: string;
16
+ start: number;
17
+ }
18
+ interface TimingOptions {
19
+ total?: boolean;
20
+ enabled?: boolean | ((c: Context) => boolean);
21
+ totalDescription?: string;
22
+ autoEnd?: boolean;
23
+ crossOrigin?: boolean | string | ((c: Context) => boolean | string);
24
+ }
25
+ /**
26
+ * Server-Timing Middleware for Hono.
27
+ *
28
+ * @see {@link https://hono.dev/docs/middleware/builtin/timing}
29
+ *
30
+ * @param {TimingOptions} [config] - The options for the timing middleware.
31
+ * @param {boolean} [config.total=true] - Show the total response time.
32
+ * @param {boolean | ((c: Context) => boolean)} [config.enabled=true] - Whether timings should be added to the headers or not.
33
+ * @param {string} [config.totalDescription=Total Response Time] - Description for the total response time.
34
+ * @param {boolean} [config.autoEnd=true] - If `startTime()` should end automatically at the end of the request.
35
+ * @param {boolean | string | ((c: Context) => boolean | string)} [config.crossOrigin=false] - The origin this timings header should be readable.
36
+ * @returns {MiddlewareHandler} The middleware handler function.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const app = new Hono()
41
+ *
42
+ * // add the middleware to your router
43
+ * app.use(timing());
44
+ *
45
+ * app.get('/', async (c) => {
46
+ * // add custom metrics
47
+ * setMetric(c, 'region', 'europe-west3')
48
+ *
49
+ * // add custom metrics with timing, must be in milliseconds
50
+ * setMetric(c, 'custom', 23.8, 'My custom Metric')
51
+ *
52
+ * // start a new timer
53
+ * startTime(c, 'db');
54
+ *
55
+ * const data = await db.findMany(...);
56
+ *
57
+ * // end the timer
58
+ * endTime(c, 'db');
59
+ *
60
+ * return c.json({ response: data });
61
+ * });
62
+ * ```
63
+ */
64
+ export declare const timing: (config?: TimingOptions) => MiddlewareHandler;
65
+ interface SetMetric {
66
+ (c: Context, name: string, value: number, description?: string, precision?: number): void;
67
+ (c: Context, name: string, description?: string): void;
68
+ }
69
+ /**
70
+ * Set a metric for the timing middleware.
71
+ *
72
+ * @param {Context} c - The context of the request.
73
+ * @param {string} name - The name of the metric.
74
+ * @param {number | string} [valueDescription] - The value or description of the metric.
75
+ * @param {string} [description] - The description of the metric.
76
+ * @param {number} [precision] - The precision of the metric value.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * setMetric(c, 'region', 'europe-west3')
81
+ * setMetric(c, 'custom', 23.8, 'My custom Metric')
82
+ * ```
83
+ */
84
+ export declare const setMetric: SetMetric;
85
+ /**
86
+ * Start a timer for the timing middleware.
87
+ *
88
+ * @param {Context} c - The context of the request.
89
+ * @param {string} name - The name of the timer.
90
+ * @param {string} [description] - The description of the timer.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * startTime(c, 'db')
95
+ * ```
96
+ */
97
+ export declare const startTime: (c: Context, name: string, description?: string) => void;
98
+ /**
99
+ * End a timer for the timing middleware.
100
+ *
101
+ * @param {Context} c - The context of the request.
102
+ * @param {string} name - The name of the timer.
103
+ * @param {number} [precision] - The precision of the timer value.
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * endTime(c, 'db')
108
+ * ```
109
+ */
110
+ export declare const endTime: (c: Context, name: string, precision?: number) => void;
111
+ /**
112
+ * Wrap a Promise to capture its duration.
113
+ * @param {Context} c - The context of the request.
114
+ * @param {string} name - The name of the timer.
115
+ * @param {Promise<T>} callable - The Promise to time.
116
+ * @param {string} [description] - The description of the timer.
117
+ * @param {number} [precision] - The precision of the timer value.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * // Instead of this:
122
+ * const data = await db.findMany(...);
123
+ *
124
+ * // do this:
125
+ * const data = await wrapTime(c, 'query', db.findMany(...));
126
+ * ```
127
+ * */
128
+ export declare function wrapTime<T>(c: Context, name: string, callable: Promise<T>, description?: string, precision?: number): Promise<T>;
129
+ export {};
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @module
3
+ * Trailing Slash Middleware for Hono.
4
+ */
5
+ import type { MiddlewareHandler } from '../../types';
6
+ type TrimTrailingSlashOptions = {
7
+ /**
8
+ * If `true`, the middleware will always redirect requests with a trailing slash
9
+ * before executing handlers.
10
+ * This is useful for routes with wildcards (`*`).
11
+ * If `false` (default), it will only redirect when the route is not found (404).
12
+ * @default false
13
+ */
14
+ alwaysRedirect?: boolean;
15
+ };
16
+ /**
17
+ * Trailing Slash Middleware for Hono.
18
+ *
19
+ * @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
20
+ *
21
+ * @param {TrimTrailingSlashOptions} options - The options for the middleware.
22
+ * @returns {MiddlewareHandler} The middleware handler function.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const app = new Hono()
27
+ *
28
+ * app.use(trimTrailingSlash())
29
+ * app.get('/about/me/', (c) => c.text('With Trailing Slash'))
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * // With alwaysRedirect option for wildcard routes
35
+ * const app = new Hono()
36
+ *
37
+ * app.use(trimTrailingSlash({ alwaysRedirect: true }))
38
+ * app.get('/my-path/*', (c) => c.text('Wildcard route'))
39
+ * ```
40
+ */
41
+ export declare const trimTrailingSlash: (options?: TrimTrailingSlashOptions) => MiddlewareHandler;
42
+ type AppendTrailingSlashOptions = {
43
+ /**
44
+ * If `true`, the middleware will always redirect requests without a trailing slash
45
+ * before executing handlers.
46
+ * This is useful for routes with wildcards (`*`).
47
+ * If `false` (default), it will only redirect when the route is not found (404).
48
+ * @default false
49
+ */
50
+ alwaysRedirect?: boolean;
51
+ };
52
+ /**
53
+ * Append trailing slash middleware for Hono.
54
+ * 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/`.
55
+ *
56
+ * @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
57
+ *
58
+ * @param {AppendTrailingSlashOptions} options - The options for the middleware.
59
+ * @returns {MiddlewareHandler} The middleware handler function.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const app = new Hono()
64
+ *
65
+ * app.use(appendTrailingSlash())
66
+ * ```
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * // With alwaysRedirect option for wildcard routes
71
+ * const app = new Hono()
72
+ *
73
+ * app.use(appendTrailingSlash({ alwaysRedirect: true }))
74
+ * app.get('/my-path/*', (c) => c.text('Wildcard route'))
75
+ * ```
76
+ */
77
+ export declare const appendTrailingSlash: (options?: AppendTrailingSlashOptions) => MiddlewareHandler;
78
+ export {};
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module
3
+ * The preset that uses `LinearRouter`.
4
+ */
5
+ import { HonoBase } from '../hono-base';
6
+ import type { HonoOptions } from '../hono-base';
7
+ import type { BlankEnv, BlankSchema, Env, Schema } from '../types';
8
+ export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends HonoBase<E, S, BasePath> {
9
+ constructor(options?: HonoOptions<E>);
10
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module
3
+ * The preset that uses `PatternRouter`.
4
+ */
5
+ import { HonoBase } from '../hono-base';
6
+ import type { HonoOptions } from '../hono-base';
7
+ import type { BlankEnv, BlankSchema, Env, Schema } from '../types';
8
+ export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends HonoBase<E, S, BasePath> {
9
+ constructor(options?: HonoOptions<E>);
10
+ }
@@ -0,0 +1 @@
1
+ export declare const GET_MATCH_RESULT: unique symbol;