@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,184 @@
1
+ import type { Hono } from '../../hono';
2
+ import type { Env, Schema } from '../../types';
3
+ import type { ALBRequestContext, ApiGatewayRequestContext, ApiGatewayRequestContextV2, Handler, LambdaContext, LatticeRequestContextV2 } from './types';
4
+ export type LambdaEvent = APIGatewayProxyEvent | APIGatewayProxyEventV2 | ALBProxyEvent | LatticeProxyEventV2;
5
+ export interface LatticeProxyEventV2 {
6
+ version: string;
7
+ path: string;
8
+ method: string;
9
+ headers: Record<string, string[] | undefined>;
10
+ queryStringParameters: Record<string, string[] | undefined>;
11
+ body: string | null;
12
+ isBase64Encoded: boolean;
13
+ requestContext: LatticeRequestContextV2;
14
+ }
15
+ export interface APIGatewayProxyEventV2 {
16
+ version: string;
17
+ routeKey: string;
18
+ headers: Record<string, string | undefined>;
19
+ multiValueHeaders?: undefined;
20
+ cookies?: string[];
21
+ rawPath: string;
22
+ rawQueryString: string;
23
+ body: string | null;
24
+ isBase64Encoded: boolean;
25
+ requestContext: ApiGatewayRequestContextV2;
26
+ queryStringParameters?: {
27
+ [name: string]: string | undefined;
28
+ };
29
+ pathParameters?: {
30
+ [name: string]: string | undefined;
31
+ };
32
+ stageVariables?: {
33
+ [name: string]: string | undefined;
34
+ };
35
+ }
36
+ export interface APIGatewayProxyEvent {
37
+ version: string;
38
+ httpMethod: string;
39
+ headers: Record<string, string | undefined>;
40
+ multiValueHeaders?: {
41
+ [headerKey: string]: string[];
42
+ };
43
+ path: string;
44
+ body: string | null;
45
+ isBase64Encoded: boolean;
46
+ queryStringParameters?: Record<string, string | undefined>;
47
+ requestContext: ApiGatewayRequestContext;
48
+ resource: string;
49
+ multiValueQueryStringParameters?: {
50
+ [parameterKey: string]: string[];
51
+ };
52
+ pathParameters?: Record<string, string>;
53
+ stageVariables?: Record<string, string>;
54
+ }
55
+ export interface ALBProxyEvent {
56
+ httpMethod: string;
57
+ headers?: Record<string, string | undefined>;
58
+ multiValueHeaders?: Record<string, string[] | undefined>;
59
+ path: string;
60
+ body: string | null;
61
+ isBase64Encoded: boolean;
62
+ queryStringParameters?: Record<string, string | undefined>;
63
+ multiValueQueryStringParameters?: {
64
+ [parameterKey: string]: string[];
65
+ };
66
+ requestContext: ALBRequestContext;
67
+ }
68
+ type WithHeaders = {
69
+ headers: Record<string, string>;
70
+ multiValueHeaders?: undefined;
71
+ };
72
+ type WithMultiValueHeaders = {
73
+ headers?: undefined;
74
+ multiValueHeaders: Record<string, string[]>;
75
+ };
76
+ export type APIGatewayProxyResult = {
77
+ statusCode: number;
78
+ statusDescription?: string;
79
+ body: string;
80
+ cookies?: string[];
81
+ isBase64Encoded: boolean;
82
+ } & (WithHeaders | WithMultiValueHeaders);
83
+ export declare const streamHandle: <E extends Env = Env, S extends Schema = {}, BasePath extends string = "/">(app: Hono<E, S, BasePath>) => Handler;
84
+ type HandleOptions = {
85
+ isContentTypeBinary: ((contentType: string) => boolean) | undefined;
86
+ };
87
+ /**
88
+ * Converts a Hono application to an AWS Lambda handler.
89
+ *
90
+ * Accepts events from API Gateway (v1 and v2), Application Load Balancer (ALB),
91
+ * and Lambda Function URLs.
92
+ *
93
+ * @param app - The Hono application instance
94
+ * @param options - Optional configuration
95
+ * @param options.isContentTypeBinary - A function to determine if the content type is binary.
96
+ * If not provided, the default function will be used.
97
+ * @returns Lambda handler function
98
+ *
99
+ * @example
100
+ * ```js
101
+ * import { Hono } from 'hono'
102
+ * import { handle } from 'hono/aws-lambda'
103
+ *
104
+ * const app = new Hono()
105
+ *
106
+ * app.get('/', (c) => c.text('Hello from Lambda'))
107
+ * app.get('/json', (c) => c.json({ message: 'Hello JSON' }))
108
+ *
109
+ * export const handler = handle(app)
110
+ * ```
111
+ *
112
+ * @example
113
+ * ```js
114
+ * // With custom binary content type detection
115
+ * import { handle, defaultIsContentTypeBinary } from 'hono/aws-lambda'
116
+ * export const handler = handle(app, {
117
+ * isContentTypeBinary: (contentType) => {
118
+ * if (defaultIsContentTypeBinary(contentType)) {
119
+ * // default logic same as prior to v4.8.4
120
+ * return true
121
+ * }
122
+ * return contentType.startsWith('image/') || contentType === 'application/pdf'
123
+ * }
124
+ * })
125
+ * ```
126
+ */
127
+ export declare const handle: <E extends Env = Env, S extends Schema = {}, BasePath extends string = "/">(app: Hono<E, S, BasePath>, { isContentTypeBinary }?: HandleOptions) => (<L extends LambdaEvent>(event: L, lambdaContext?: LambdaContext) => Promise<APIGatewayProxyResult & (L extends {
128
+ multiValueHeaders: Record<string, string[]>;
129
+ } ? WithMultiValueHeaders : WithHeaders)>);
130
+ export declare abstract class EventProcessor<E extends LambdaEvent> {
131
+ protected abstract getPath(event: E): string;
132
+ protected abstract getMethod(event: E): string;
133
+ protected abstract getQueryString(event: E): string;
134
+ protected abstract getHeaders(event: E): Headers;
135
+ protected abstract getCookies(event: E, headers: Headers): void;
136
+ protected abstract setCookiesToResult(result: APIGatewayProxyResult, cookies: string[]): void;
137
+ protected getHeaderValue(headers: E['headers'], key: string): string | undefined;
138
+ protected getDomainName(event: E): string | undefined;
139
+ createRequest(event: E): Request;
140
+ createResult(event: E, res: Response, options: Pick<HandleOptions, 'isContentTypeBinary'>): Promise<APIGatewayProxyResult>;
141
+ setCookies(_event: E, res: Response, result: APIGatewayProxyResult): void;
142
+ }
143
+ export declare class EventV2Processor extends EventProcessor<APIGatewayProxyEventV2> {
144
+ protected getPath(event: APIGatewayProxyEventV2): string;
145
+ protected getMethod(event: APIGatewayProxyEventV2): string;
146
+ protected getQueryString(event: APIGatewayProxyEventV2): string;
147
+ protected getCookies(event: APIGatewayProxyEventV2, headers: Headers): void;
148
+ protected setCookiesToResult(result: APIGatewayProxyResult, cookies: string[]): void;
149
+ protected getHeaders(event: APIGatewayProxyEventV2): Headers;
150
+ }
151
+ export declare class EventV1Processor extends EventProcessor<APIGatewayProxyEvent> {
152
+ protected getPath(event: APIGatewayProxyEvent): string;
153
+ protected getMethod(event: APIGatewayProxyEvent): string;
154
+ protected getQueryString(event: APIGatewayProxyEvent): string;
155
+ protected getCookies(_event: APIGatewayProxyEvent, _headers: Headers): void;
156
+ protected getHeaders(event: APIGatewayProxyEvent): Headers;
157
+ protected setCookiesToResult(result: APIGatewayProxyResult, cookies: string[]): void;
158
+ }
159
+ export declare class ALBProcessor extends EventProcessor<ALBProxyEvent> {
160
+ protected getHeaders(event: ALBProxyEvent): Headers;
161
+ protected getPath(event: ALBProxyEvent): string;
162
+ protected getMethod(event: ALBProxyEvent): string;
163
+ protected getQueryString(event: ALBProxyEvent): string;
164
+ protected getCookies(event: ALBProxyEvent, headers: Headers): void;
165
+ protected setCookiesToResult(result: APIGatewayProxyResult, cookies: string[]): void;
166
+ }
167
+ export declare class LatticeV2Processor extends EventProcessor<LatticeProxyEventV2> {
168
+ protected getPath(event: LatticeProxyEventV2): string;
169
+ protected getMethod(event: LatticeProxyEventV2): string;
170
+ protected getQueryString(): string;
171
+ protected getHeaders(event: LatticeProxyEventV2): Headers;
172
+ protected getCookies(): void;
173
+ protected setCookiesToResult(result: APIGatewayProxyResult, cookies: string[]): void;
174
+ }
175
+ export declare const getProcessor: (event: LambdaEvent) => EventProcessor<LambdaEvent>;
176
+ /**
177
+ * Check if the given content type is binary.
178
+ * This is a default function and may be overwritten by the user via `isContentTypeBinary` option in handler().
179
+ * @param contentType The content type to check.
180
+ * @returns True if the content type is binary, false otherwise.
181
+ */
182
+ export declare const defaultIsContentTypeBinary: (contentType: string) => boolean;
183
+ export declare const isContentEncodingBinary: (contentEncoding: string | null) => boolean;
184
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module
3
+ * AWS Lambda Adapter for Hono.
4
+ */
5
+ export { handle, streamHandle, defaultIsContentTypeBinary } from './handler';
6
+ export { getConnInfo } from './conninfo';
7
+ export type { APIGatewayProxyResult, LambdaEvent } from './handler';
8
+ export type { ApiGatewayRequestContext, ApiGatewayRequestContextV2, ALBRequestContext, LambdaContext, } from './types';
@@ -0,0 +1,144 @@
1
+ export interface CognitoIdentity {
2
+ cognitoIdentityId: string;
3
+ cognitoIdentityPoolId: string;
4
+ }
5
+ export interface ClientContext {
6
+ client: ClientContextClient;
7
+ Custom?: any;
8
+ env: ClientContextEnv;
9
+ }
10
+ export interface ClientContextClient {
11
+ installationId: string;
12
+ appTitle: string;
13
+ appVersionName: string;
14
+ appVersionCode: string;
15
+ appPackageName: string;
16
+ }
17
+ export interface ClientContextEnv {
18
+ platformVersion: string;
19
+ platform: string;
20
+ make: string;
21
+ model: string;
22
+ locale: string;
23
+ }
24
+ /**
25
+ * {@link Handler} context parameter.
26
+ * See {@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html AWS documentation}.
27
+ */
28
+ export interface LambdaContext {
29
+ callbackWaitsForEmptyEventLoop: boolean;
30
+ functionName: string;
31
+ functionVersion: string;
32
+ invokedFunctionArn: string;
33
+ memoryLimitInMB: string;
34
+ awsRequestId: string;
35
+ logGroupName: string;
36
+ logStreamName: string;
37
+ identity?: CognitoIdentity | undefined;
38
+ clientContext?: ClientContext | undefined;
39
+ getRemainingTimeInMillis(): number;
40
+ }
41
+ type Callback<TResult = any> = (error?: Error | string | null, result?: TResult) => void;
42
+ export type Handler<TEvent = any, TResult = any> = (event: TEvent, context: LambdaContext, callback: Callback<TResult>) => void | Promise<TResult>;
43
+ interface ClientCert {
44
+ clientCertPem: string;
45
+ subjectDN: string;
46
+ issuerDN: string;
47
+ serialNumber: string;
48
+ validity: {
49
+ notBefore: string;
50
+ notAfter: string;
51
+ };
52
+ }
53
+ interface Identity {
54
+ accessKey?: string;
55
+ accountId?: string;
56
+ caller?: string;
57
+ cognitoAuthenticationProvider?: string;
58
+ cognitoAuthenticationType?: string;
59
+ cognitoIdentityId?: string;
60
+ cognitoIdentityPoolId?: string;
61
+ principalOrgId?: string;
62
+ sourceIp: string;
63
+ user?: string;
64
+ userAgent: string;
65
+ userArn?: string;
66
+ clientCert?: ClientCert;
67
+ }
68
+ export interface ApiGatewayRequestContext {
69
+ accountId: string;
70
+ apiId: string;
71
+ authorizer: {
72
+ claims?: unknown;
73
+ scopes?: unknown;
74
+ };
75
+ domainName: string;
76
+ domainPrefix: string;
77
+ extendedRequestId: string;
78
+ httpMethod: string;
79
+ identity: Identity;
80
+ path: string;
81
+ protocol: string;
82
+ requestId: string;
83
+ requestTime: string;
84
+ requestTimeEpoch: number;
85
+ resourceId?: string;
86
+ resourcePath: string;
87
+ stage: string;
88
+ }
89
+ interface Authorizer {
90
+ iam?: {
91
+ accessKey: string;
92
+ accountId: string;
93
+ callerId: string;
94
+ cognitoIdentity: null;
95
+ principalOrgId: null;
96
+ userArn: string;
97
+ userId: string;
98
+ };
99
+ }
100
+ export interface ApiGatewayRequestContextV2 {
101
+ accountId: string;
102
+ apiId: string;
103
+ authentication: null;
104
+ authorizer: Authorizer;
105
+ domainName: string;
106
+ domainPrefix: string;
107
+ http: {
108
+ method: string;
109
+ path: string;
110
+ protocol: string;
111
+ sourceIp: string;
112
+ userAgent: string;
113
+ };
114
+ requestId: string;
115
+ routeKey: string;
116
+ stage: string;
117
+ time: string;
118
+ timeEpoch: number;
119
+ }
120
+ export interface ALBRequestContext {
121
+ elb: {
122
+ targetGroupArn: string;
123
+ };
124
+ }
125
+ export interface LatticeRequestContextV2 {
126
+ serviceNetworkArn: string;
127
+ serviceArn: string;
128
+ targetGroupArn: string;
129
+ region: string;
130
+ timeEpoch: string;
131
+ identity: {
132
+ sourceVpcArn?: string;
133
+ type?: string;
134
+ principal?: string;
135
+ principalOrgID?: string;
136
+ sessionName?: string;
137
+ x509IssuerOu?: string;
138
+ x509SanDns?: string;
139
+ x509SanNameCn?: string;
140
+ x509SanUri?: string;
141
+ x509SubjectCn?: string;
142
+ };
143
+ }
144
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { GetConnInfo } from '../../helper/conninfo';
2
+ /**
3
+ * Get ConnInfo with Bun
4
+ * @param c Context
5
+ * @returns ConnInfo
6
+ */
7
+ export declare const getConnInfo: GetConnInfo;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module
3
+ * Bun Adapter for Hono.
4
+ */
5
+ export { serveStatic } from './serve-static';
6
+ export { bunFileSystemModule, toSSG } from './ssg';
7
+ export { createBunWebSocket, upgradeWebSocket, websocket } from './websocket';
8
+ export type { BunWebSocketData, BunWebSocketHandler } from './websocket';
9
+ export { getConnInfo } from './conninfo';
10
+ export { getBunServer } from './server';
@@ -0,0 +1,3 @@
1
+ import type { ServeStaticOptions } from '../../middleware/serve-static';
2
+ import type { Env, MiddlewareHandler } from '../../types';
3
+ export declare const serveStatic: <E extends Env = Env>(options: ServeStaticOptions<E>) => MiddlewareHandler;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Getting Bun Server Object for Bun adapters
3
+ * @module
4
+ */
5
+ import type { Context } from '../../context';
6
+ /**
7
+ * Get Bun Server Object from Context
8
+ * @template T - The type of Bun Server
9
+ * @param c Context
10
+ * @returns Bun Server
11
+ */
12
+ export declare const getBunServer: <T>(c: Context) => T | undefined;
@@ -0,0 +1,13 @@
1
+ import type { FileSystemModule, ToSSGAdaptorInterface } from '../../helper/ssg';
2
+ /**
3
+ * @experimental
4
+ * `bunFileSystemModule` is an experimental feature.
5
+ * The API might be changed.
6
+ */
7
+ export declare const bunFileSystemModule: FileSystemModule;
8
+ /**
9
+ * @experimental
10
+ * `toSSG` is an experimental feature.
11
+ * The API might be changed.
12
+ */
13
+ export declare const toSSG: ToSSGAdaptorInterface;
@@ -0,0 +1,39 @@
1
+ import type { UpgradeWebSocket, WSEvents } from '../../helper/websocket';
2
+ import { WSContext } from '../../helper/websocket';
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface BunServerWebSocket<T> {
7
+ send(data: string | ArrayBuffer | Uint8Array, compress?: boolean): void;
8
+ close(code?: number, reason?: string): void;
9
+ data: T;
10
+ readyState: 0 | 1 | 2 | 3;
11
+ }
12
+ export interface BunWebSocketHandler<T> {
13
+ open(ws: BunServerWebSocket<T>): void;
14
+ close(ws: BunServerWebSocket<T>, code?: number, reason?: string): void;
15
+ message(ws: BunServerWebSocket<T>, message: string | {
16
+ buffer: ArrayBufferLike;
17
+ }): void;
18
+ }
19
+ interface CreateWebSocket<T> {
20
+ upgradeWebSocket: UpgradeWebSocket<T>;
21
+ websocket: BunWebSocketHandler<BunWebSocketData>;
22
+ }
23
+ export interface BunWebSocketData {
24
+ events: WSEvents;
25
+ url: URL;
26
+ protocol: string;
27
+ }
28
+ /**
29
+ * @internal
30
+ */
31
+ export declare const createWSContext: (ws: BunServerWebSocket<BunWebSocketData>) => WSContext;
32
+ export declare const upgradeWebSocket: UpgradeWebSocket<any>;
33
+ export declare const websocket: BunWebSocketHandler<BunWebSocketData>;
34
+ /**
35
+ * @deprecated Import `upgradeWebSocket` and `websocket` directly from `hono/bun` instead.
36
+ * @returns A function to create a Bun WebSocket handler.
37
+ */
38
+ export declare const createBunWebSocket: <T>() => CreateWebSocket<T>;
39
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { GetConnInfo } from '../../helper/conninfo';
2
+ /**
3
+ * Get connection information from Cloudflare Pages
4
+ * @param c - Context
5
+ * @returns Connection information including remote address
6
+ * @example
7
+ * ```ts
8
+ * import { Hono } from 'hono'
9
+ * import { handle, getConnInfo } from 'hono/cloudflare-pages'
10
+ *
11
+ * const app = new Hono()
12
+ *
13
+ * app.get('/', (c) => {
14
+ * const info = getConnInfo(c)
15
+ * return c.text(`Your IP: ${info.remote.address}`)
16
+ * })
17
+ *
18
+ * export const onRequest = handle(app)
19
+ * ```
20
+ */
21
+ export declare const getConnInfo: GetConnInfo;
@@ -0,0 +1,33 @@
1
+ import type { Hono } from '../../hono';
2
+ import type { BlankSchema, Env, Input, MiddlewareHandler, Schema } from '../../types';
3
+ type Params<P extends string = any> = Record<P, string | string[]>;
4
+ export type EventContext<Env = {}, P extends string = any, Data = Record<string, unknown>> = {
5
+ request: Request;
6
+ functionPath: string;
7
+ waitUntil: (promise: Promise<unknown>) => void;
8
+ passThroughOnException: () => void;
9
+ props: any;
10
+ next: (input?: Request | string, init?: RequestInit) => Promise<Response>;
11
+ env: Env & {
12
+ ASSETS: {
13
+ fetch: typeof fetch;
14
+ };
15
+ };
16
+ params: Params<P>;
17
+ data: Data;
18
+ };
19
+ declare type PagesFunction<Env = unknown, Params extends string = any, Data extends Record<string, unknown> = Record<string, unknown>> = (context: EventContext<Env, Params, Data>) => Response | Promise<Response>;
20
+ export declare const handle: <E extends Env = Env, S extends Schema = BlankSchema, BasePath extends string = "/">(app: Hono<E, S, BasePath>) => PagesFunction<E["Bindings"]>;
21
+ export declare function handleMiddleware<E extends Env = {}, P extends string = any, I extends Input = {}>(middleware: MiddlewareHandler<E & {
22
+ Bindings: {
23
+ eventContext: EventContext;
24
+ };
25
+ }, P, I>): PagesFunction<E['Bindings']>;
26
+ /**
27
+ *
28
+ * @description `serveStatic()` is for advanced mode:
29
+ * https://developers.cloudflare.com/pages/platform/functions/advanced-mode/#set-up-a-function
30
+ *
31
+ */
32
+ export declare const serveStatic: () => MiddlewareHandler;
33
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module
3
+ * Cloudflare Pages Adapter for Hono.
4
+ */
5
+ export { handle, handleMiddleware, serveStatic } from './handler';
6
+ export { getConnInfo } from './conninfo';
7
+ export type { EventContext } from './handler';
@@ -0,0 +1,2 @@
1
+ import type { GetConnInfo } from '../../helper/conninfo';
2
+ export declare const getConnInfo: GetConnInfo;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module
3
+ * Cloudflare Workers Adapter for Hono.
4
+ */
5
+ export { serveStatic } from './serve-static-module';
6
+ export { upgradeWebSocket } from './websocket';
7
+ export { getConnInfo } from './conninfo';
@@ -0,0 +1,4 @@
1
+ import type { Env, MiddlewareHandler } from '../../types';
2
+ import type { ServeStaticOptions } from './serve-static';
3
+ declare const module: <E extends Env = Env>(options: Omit<ServeStaticOptions<E>, "namespace">) => MiddlewareHandler;
4
+ export { module as serveStatic };
@@ -0,0 +1,16 @@
1
+ import type { ServeStaticOptions as BaseServeStaticOptions } from '../../middleware/serve-static';
2
+ import type { Env, MiddlewareHandler } from '../../types';
3
+ export type ServeStaticOptions<E extends Env = Env> = BaseServeStaticOptions<E> & {
4
+ namespace?: unknown;
5
+ manifest: object | string;
6
+ };
7
+ /**
8
+ * @deprecated
9
+ * `serveStatic` in the Cloudflare Workers adapter is deprecated.
10
+ * You can serve static files directly using Cloudflare Static Assets.
11
+ * @see https://developers.cloudflare.com/workers/static-assets/
12
+ * Cloudflare Static Assets is currently in open beta. If this doesn't work for you,
13
+ * please consider using Cloudflare Pages. You can start to create the Cloudflare Pages
14
+ * application with the `npm create hono@latest` command.
15
+ */
16
+ export declare const serveStatic: <E extends Env = Env>(options: ServeStaticOptions<E>) => MiddlewareHandler;
@@ -0,0 +1,5 @@
1
+ export type KVAssetOptions = {
2
+ manifest?: object | string;
3
+ namespace?: unknown;
4
+ };
5
+ export declare const getContentFromKVAsset: (path: string, options?: KVAssetOptions) => Promise<ReadableStream | null>;
@@ -0,0 +1,2 @@
1
+ import type { UpgradeWebSocket, WSEvents } from '../../helper/websocket';
2
+ export declare const upgradeWebSocket: UpgradeWebSocket<WebSocket, any, Omit<WSEvents<WebSocket>, 'onOpen'>>;
@@ -0,0 +1,7 @@
1
+ import type { GetConnInfo } from '../../helper/conninfo';
2
+ /**
3
+ * Get conninfo with Deno
4
+ * @param c Context
5
+ * @returns ConnInfo
6
+ */
7
+ export declare const getConnInfo: GetConnInfo;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module
3
+ * Deno Adapter for Hono.
4
+ */
5
+ export { serveStatic } from './serve-static';
6
+ export { toSSG, denoFileSystemModule } from './ssg';
7
+ export { upgradeWebSocket } from './websocket';
8
+ export { getConnInfo } from './conninfo';
@@ -0,0 +1,3 @@
1
+ import type { ServeStaticOptions } from '../../middleware/serve-static';
2
+ import type { Env, MiddlewareHandler } from '../../types';
3
+ export declare const serveStatic: <E extends Env = Env>(options: ServeStaticOptions<E>) => MiddlewareHandler;
@@ -0,0 +1,13 @@
1
+ import type { FileSystemModule, ToSSGAdaptorInterface } from '../../helper/ssg/index';
2
+ /**
3
+ * @experimental
4
+ * `denoFileSystemModule` is an experimental feature.
5
+ * The API might be changed.
6
+ */
7
+ export declare const denoFileSystemModule: FileSystemModule;
8
+ /**
9
+ * @experimental
10
+ * `toSSG` is an experimental feature.
11
+ * The API might be changed.
12
+ */
13
+ export declare const toSSG: ToSSGAdaptorInterface;
@@ -0,0 +1,2 @@
1
+ import type { UpgradeWebSocket } from '../../helper/websocket';
2
+ export declare const upgradeWebSocket: UpgradeWebSocket<WebSocket, Deno.UpgradeWebSocketOptions>;
@@ -0,0 +1,2 @@
1
+ import type { GetConnInfo } from '../../helper/conninfo';
2
+ export declare const getConnInfo: GetConnInfo;