hono 4.13.13 → 5.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/README.md +2 -2
  2. package/dist/{types/compose.d.ts → compose.d.ts} +1 -0
  3. package/dist/compose.js +10 -5
  4. package/dist/{types/context.d.ts → context.d.ts} +15 -15
  5. package/dist/context.js +79 -47
  6. package/dist/helper/factory/define-handler.d.ts +150 -0
  7. package/dist/helper/factory/define-handler.js +165 -0
  8. package/dist/{types/helper → helper}/factory/index.d.ts +30 -1
  9. package/dist/helper/factory/index.js +31 -3
  10. package/dist/{types/helper → helper}/ssg/middleware.d.ts +0 -6
  11. package/dist/helper/ssg/middleware.js +1 -16
  12. package/dist/{types/helper → helper}/ssg/ssg.d.ts +0 -12
  13. package/dist/helper/ssg/ssg.js +0 -3
  14. package/dist/{types/hono-base.d.ts → hono-base.d.ts} +3 -60
  15. package/dist/hono-base.js +6 -97
  16. package/dist/{types/hono.d.ts → hono.d.ts} +1 -1
  17. package/dist/{types/middleware → middleware}/basic-auth/index.d.ts +4 -3
  18. package/dist/middleware/basic-auth/index.js +1 -1
  19. package/dist/{types/middleware → middleware}/bearer-auth/index.d.ts +4 -27
  20. package/dist/middleware/bearer-auth/index.js +4 -4
  21. package/dist/middleware/language/language.js +1 -1
  22. package/dist/middleware/logger/index.js +6 -8
  23. package/dist/{types/middleware → middleware}/serve-static/index.d.ts +0 -4
  24. package/dist/{types/preset → preset}/quick.d.ts +1 -1
  25. package/dist/{types/preset → preset}/tiny.d.ts +1 -1
  26. package/dist/{types/request.d.ts → request.d.ts} +3 -48
  27. package/dist/request.js +0 -49
  28. package/dist/router/linear-router/router.js +4 -6
  29. package/dist/router/pattern-router/router.js +2 -2
  30. package/dist/router/reg-exp-router/node.js +1 -1
  31. package/dist/router/trie-router/node.js +3 -3
  32. package/dist/utils/buffer.d.ts +11 -0
  33. package/dist/utils/buffer.js +1 -8
  34. package/dist/utils/color.d.ts +16 -0
  35. package/dist/utils/color.js +7 -23
  36. package/dist/{types/utils → utils}/http-status.d.ts +1 -9
  37. package/dist/{types/utils → utils}/url.d.ts +0 -5
  38. package/dist/utils/url.js +1 -11
  39. package/dist/{types/validator → validator}/validator.d.ts +5 -0
  40. package/dist/validator/validator.js +46 -49
  41. package/package.json +209 -350
  42. package/dist/adapter/aws-lambda/conninfo.js +0 -43
  43. package/dist/adapter/aws-lambda/handler.js +0 -342
  44. package/dist/adapter/aws-lambda/index.js +0 -3
  45. package/dist/adapter/aws-lambda/types.js +0 -1
  46. package/dist/adapter/bun/conninfo.js +0 -22
  47. package/dist/adapter/bun/index.js +0 -6
  48. package/dist/adapter/bun/serve-static.js +0 -30
  49. package/dist/adapter/bun/server.js +0 -11
  50. package/dist/adapter/bun/ssg.js +0 -27
  51. package/dist/adapter/bun/websocket.js +0 -66
  52. package/dist/adapter/cloudflare-pages/conninfo.js +0 -24
  53. package/dist/adapter/cloudflare-pages/handler.js +0 -64
  54. package/dist/adapter/cloudflare-pages/index.js +0 -3
  55. package/dist/adapter/cloudflare-workers/conninfo.js +0 -7
  56. package/dist/adapter/cloudflare-workers/index.js +0 -4
  57. package/dist/adapter/cloudflare-workers/serve-static-module.js +0 -7
  58. package/dist/adapter/cloudflare-workers/serve-static.js +0 -28
  59. package/dist/adapter/cloudflare-workers/utils.js +0 -22
  60. package/dist/adapter/cloudflare-workers/websocket.js +0 -33
  61. package/dist/adapter/deno/conninfo.js +0 -17
  62. package/dist/adapter/deno/deno.d.js +0 -1
  63. package/dist/adapter/deno/index.js +0 -5
  64. package/dist/adapter/deno/serve-static.js +0 -35
  65. package/dist/adapter/deno/ssg.js +0 -29
  66. package/dist/adapter/deno/websocket.js +0 -32
  67. package/dist/adapter/lambda-edge/conninfo.js +0 -7
  68. package/dist/adapter/lambda-edge/handler.js +0 -111
  69. package/dist/adapter/lambda-edge/index.js +0 -3
  70. package/dist/adapter/netlify/conninfo.js +0 -24
  71. package/dist/adapter/netlify/handler.js +0 -11
  72. package/dist/adapter/netlify/index.js +0 -3
  73. package/dist/adapter/netlify/mod.js +0 -3
  74. package/dist/adapter/service-worker/handler.js +0 -16
  75. package/dist/adapter/service-worker/index.js +0 -25
  76. package/dist/adapter/service-worker/types.js +0 -1
  77. package/dist/adapter/vercel/conninfo.js +0 -7
  78. package/dist/adapter/vercel/handler.js +0 -9
  79. package/dist/adapter/vercel/index.js +0 -3
  80. package/dist/cjs/_virtual/_rolldown/runtime.js +0 -33
  81. package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -44
  82. package/dist/cjs/adapter/aws-lambda/handler.js +0 -352
  83. package/dist/cjs/adapter/aws-lambda/index.js +0 -7
  84. package/dist/cjs/adapter/aws-lambda/types.js +0 -0
  85. package/dist/cjs/adapter/bun/conninfo.js +0 -23
  86. package/dist/cjs/adapter/bun/index.js +0 -14
  87. package/dist/cjs/adapter/bun/serve-static.js +0 -31
  88. package/dist/cjs/adapter/bun/server.js +0 -12
  89. package/dist/cjs/adapter/bun/ssg.js +0 -29
  90. package/dist/cjs/adapter/bun/websocket.js +0 -70
  91. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -25
  92. package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -67
  93. package/dist/cjs/adapter/cloudflare-pages/index.js +0 -7
  94. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -8
  95. package/dist/cjs/adapter/cloudflare-workers/index.js +0 -7
  96. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -8
  97. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -29
  98. package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -23
  99. package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -34
  100. package/dist/cjs/adapter/deno/conninfo.js +0 -18
  101. package/dist/cjs/adapter/deno/deno.d.js +0 -0
  102. package/dist/cjs/adapter/deno/index.js +0 -10
  103. package/dist/cjs/adapter/deno/serve-static.js +0 -36
  104. package/dist/cjs/adapter/deno/ssg.js +0 -31
  105. package/dist/cjs/adapter/deno/websocket.js +0 -33
  106. package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -8
  107. package/dist/cjs/adapter/lambda-edge/handler.js +0 -116
  108. package/dist/cjs/adapter/lambda-edge/index.js +0 -5
  109. package/dist/cjs/adapter/netlify/conninfo.js +0 -25
  110. package/dist/cjs/adapter/netlify/handler.js +0 -12
  111. package/dist/cjs/adapter/netlify/index.js +0 -5
  112. package/dist/cjs/adapter/netlify/mod.js +0 -5
  113. package/dist/cjs/adapter/service-worker/handler.js +0 -17
  114. package/dist/cjs/adapter/service-worker/index.js +0 -27
  115. package/dist/cjs/adapter/service-worker/types.js +0 -0
  116. package/dist/cjs/adapter/vercel/conninfo.js +0 -8
  117. package/dist/cjs/adapter/vercel/handler.js +0 -10
  118. package/dist/cjs/adapter/vercel/index.js +0 -5
  119. package/dist/cjs/client/client.js +0 -145
  120. package/dist/cjs/client/fetch-result-please.js +0 -67
  121. package/dist/cjs/client/index.js +0 -7
  122. package/dist/cjs/client/types.js +0 -0
  123. package/dist/cjs/client/utils.js +0 -70
  124. package/dist/cjs/compose.js +0 -51
  125. package/dist/cjs/context.js +0 -383
  126. package/dist/cjs/helper/accepts/accepts.js +0 -54
  127. package/dist/cjs/helper/accepts/index.js +0 -3
  128. package/dist/cjs/helper/adapter/index.js +0 -41
  129. package/dist/cjs/helper/conninfo/index.js +0 -0
  130. package/dist/cjs/helper/conninfo/types.js +0 -0
  131. package/dist/cjs/helper/cookie/index.js +0 -89
  132. package/dist/cjs/helper/css/common.js +0 -194
  133. package/dist/cjs/helper/css/index.js +0 -142
  134. package/dist/cjs/helper/dev/index.js +0 -53
  135. package/dist/cjs/helper/factory/index.js +0 -33
  136. package/dist/cjs/helper/html/index.js +0 -34
  137. package/dist/cjs/helper/proxy/index.js +0 -122
  138. package/dist/cjs/helper/route/index.js +0 -128
  139. package/dist/cjs/helper/ssg/index.js +0 -19
  140. package/dist/cjs/helper/ssg/middleware.js +0 -65
  141. package/dist/cjs/helper/ssg/plugins.js +0 -68
  142. package/dist/cjs/helper/ssg/ssg.js +0 -220
  143. package/dist/cjs/helper/ssg/utils.js +0 -70
  144. package/dist/cjs/helper/streaming/index.js +0 -8
  145. package/dist/cjs/helper/streaming/sse.js +0 -59
  146. package/dist/cjs/helper/streaming/stream.js +0 -26
  147. package/dist/cjs/helper/streaming/text.js +0 -12
  148. package/dist/cjs/helper/streaming/utils.js +0 -16
  149. package/dist/cjs/helper/testing/index.js +0 -18
  150. package/dist/cjs/helper/websocket/index.js +0 -56
  151. package/dist/cjs/hono-base.js +0 -351
  152. package/dist/cjs/hono.js +0 -29
  153. package/dist/cjs/http-exception.js +0 -56
  154. package/dist/cjs/index.js +0 -22
  155. package/dist/cjs/jsx/base.js +0 -266
  156. package/dist/cjs/jsx/children.js +0 -19
  157. package/dist/cjs/jsx/components.js +0 -147
  158. package/dist/cjs/jsx/constants.js +0 -15
  159. package/dist/cjs/jsx/context.js +0 -170
  160. package/dist/cjs/jsx/dom/client.js +0 -56
  161. package/dist/cjs/jsx/dom/components.js +0 -26
  162. package/dist/cjs/jsx/dom/context.js +0 -43
  163. package/dist/cjs/jsx/dom/css.js +0 -153
  164. package/dist/cjs/jsx/dom/hooks/index.js +0 -65
  165. package/dist/cjs/jsx/dom/index.js +0 -122
  166. package/dist/cjs/jsx/dom/intrinsic-element/components.js +0 -306
  167. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -17
  168. package/dist/cjs/jsx/dom/jsx-runtime.js +0 -5
  169. package/dist/cjs/jsx/dom/render.js +0 -525
  170. package/dist/cjs/jsx/dom/server.js +0 -44
  171. package/dist/cjs/jsx/dom/utils.js +0 -9
  172. package/dist/cjs/jsx/hooks/index.js +0 -280
  173. package/dist/cjs/jsx/index.js +0 -89
  174. package/dist/cjs/jsx/intrinsic-element/common.js +0 -27
  175. package/dist/cjs/jsx/intrinsic-element/components.js +0 -138
  176. package/dist/cjs/jsx/intrinsic-elements.js +0 -0
  177. package/dist/cjs/jsx/jsx-dev-runtime.js +0 -16
  178. package/dist/cjs/jsx/jsx-runtime.js +0 -37
  179. package/dist/cjs/jsx/streaming.js +0 -135
  180. package/dist/cjs/jsx/types.js +0 -0
  181. package/dist/cjs/jsx/utils.js +0 -116
  182. package/dist/cjs/middleware/basic-auth/index.js +0 -100
  183. package/dist/cjs/middleware/bearer-auth/index.js +0 -97
  184. package/dist/cjs/middleware/body-limit/index.js +0 -69
  185. package/dist/cjs/middleware/cache/index.js +0 -173
  186. package/dist/cjs/middleware/combine/index.js +0 -141
  187. package/dist/cjs/middleware/compress/index.js +0 -82
  188. package/dist/cjs/middleware/context-storage/index.js +0 -55
  189. package/dist/cjs/middleware/cors/index.js +0 -109
  190. package/dist/cjs/middleware/csrf/index.js +0 -106
  191. package/dist/cjs/middleware/etag/digest.js +0 -62
  192. package/dist/cjs/middleware/etag/index.js +0 -79
  193. package/dist/cjs/middleware/ip-restriction/index.js +0 -168
  194. package/dist/cjs/middleware/jsx-renderer/index.js +0 -104
  195. package/dist/cjs/middleware/jwk/index.js +0 -3
  196. package/dist/cjs/middleware/jwk/jwk.js +0 -122
  197. package/dist/cjs/middleware/jwt/index.js +0 -9
  198. package/dist/cjs/middleware/jwt/jwt.js +0 -124
  199. package/dist/cjs/middleware/language/index.js +0 -7
  200. package/dist/cjs/middleware/language/language.js +0 -208
  201. package/dist/cjs/middleware/logger/index.js +0 -51
  202. package/dist/cjs/middleware/method-not-allowed/index.js +0 -84
  203. package/dist/cjs/middleware/method-override/index.js +0 -105
  204. package/dist/cjs/middleware/mount/index.js +0 -71
  205. package/dist/cjs/middleware/powered-by/index.js +0 -25
  206. package/dist/cjs/middleware/pretty-json/index.js +0 -41
  207. package/dist/cjs/middleware/request-id/index.js +0 -3
  208. package/dist/cjs/middleware/request-id/request-id.js +0 -35
  209. package/dist/cjs/middleware/secure-headers/index.js +0 -4
  210. package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -0
  211. package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -166
  212. package/dist/cjs/middleware/serve-static/index.js +0 -62
  213. package/dist/cjs/middleware/serve-static/path.js +0 -17
  214. package/dist/cjs/middleware/timeout/index.js +0 -42
  215. package/dist/cjs/middleware/timing/index.js +0 -7
  216. package/dist/cjs/middleware/timing/timing.js +0 -189
  217. package/dist/cjs/middleware/trailing-slash/index.js +0 -89
  218. package/dist/cjs/package.json +0 -3
  219. package/dist/cjs/preset/quick.js +0 -19
  220. package/dist/cjs/preset/tiny.js +0 -16
  221. package/dist/cjs/request/constants.js +0 -5
  222. package/dist/cjs/request.js +0 -337
  223. package/dist/cjs/router/linear-router/index.js +0 -3
  224. package/dist/cjs/router/linear-router/router.js +0 -97
  225. package/dist/cjs/router/pattern-router/index.js +0 -3
  226. package/dist/cjs/router/pattern-router/router.js +0 -42
  227. package/dist/cjs/router/reg-exp-router/index.js +0 -7
  228. package/dist/cjs/router/reg-exp-router/matcher.js +0 -21
  229. package/dist/cjs/router/reg-exp-router/node.js +0 -96
  230. package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -97
  231. package/dist/cjs/router/reg-exp-router/router.js +0 -102
  232. package/dist/cjs/router/reg-exp-router/trie.js +0 -74
  233. package/dist/cjs/router/smart-router/index.js +0 -3
  234. package/dist/cjs/router/smart-router/router.js +0 -50
  235. package/dist/cjs/router/trie-router/index.js +0 -3
  236. package/dist/cjs/router/trie-router/node.js +0 -135
  237. package/dist/cjs/router/trie-router/router.js +0 -16
  238. package/dist/cjs/router/utils.js +0 -5
  239. package/dist/cjs/router.js +0 -40
  240. package/dist/cjs/types.js +0 -5
  241. package/dist/cjs/utils/accept.js +0 -194
  242. package/dist/cjs/utils/basic-auth.js +0 -21
  243. package/dist/cjs/utils/body.js +0 -97
  244. package/dist/cjs/utils/buffer.js +0 -55
  245. package/dist/cjs/utils/color.js +0 -39
  246. package/dist/cjs/utils/compress.js +0 -12
  247. package/dist/cjs/utils/concurrent.js +0 -31
  248. package/dist/cjs/utils/constants.js +0 -8
  249. package/dist/cjs/utils/cookie.js +0 -129
  250. package/dist/cjs/utils/crypto.js +0 -38
  251. package/dist/cjs/utils/encode.js +0 -37
  252. package/dist/cjs/utils/filepath.js +0 -27
  253. package/dist/cjs/utils/handler.js +0 -14
  254. package/dist/cjs/utils/headers.js +0 -0
  255. package/dist/cjs/utils/html.js +0 -109
  256. package/dist/cjs/utils/http-status.js +0 -0
  257. package/dist/cjs/utils/ipaddr.js +0 -247
  258. package/dist/cjs/utils/jwt/index.js +0 -15
  259. package/dist/cjs/utils/jwt/jwa.js +0 -25
  260. package/dist/cjs/utils/jwt/jws.js +0 -135
  261. package/dist/cjs/utils/jwt/jwt.js +0 -136
  262. package/dist/cjs/utils/jwt/types.js +0 -124
  263. package/dist/cjs/utils/jwt/utf8.js +0 -11
  264. package/dist/cjs/utils/mime.js +0 -80
  265. package/dist/cjs/utils/stream.js +0 -89
  266. package/dist/cjs/utils/types.js +0 -0
  267. package/dist/cjs/utils/url.js +0 -215
  268. package/dist/cjs/validator/index.js +0 -3
  269. package/dist/cjs/validator/utils.js +0 -0
  270. package/dist/cjs/validator/validator.js +0 -65
  271. package/dist/types/adapter/aws-lambda/conninfo.d.ts +0 -30
  272. package/dist/types/adapter/aws-lambda/handler.d.ts +0 -230
  273. package/dist/types/adapter/aws-lambda/index.d.ts +0 -4
  274. package/dist/types/adapter/aws-lambda/types.d.ts +0 -183
  275. package/dist/types/adapter/bun/conninfo.d.ts +0 -10
  276. package/dist/types/adapter/bun/index.d.ts +0 -6
  277. package/dist/types/adapter/bun/serve-static.d.ts +0 -8
  278. package/dist/types/adapter/bun/server.d.ts +0 -11
  279. package/dist/types/adapter/bun/ssg.d.ts +0 -17
  280. package/dist/types/adapter/bun/websocket.d.ts +0 -54
  281. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +0 -24
  282. package/dist/types/adapter/cloudflare-pages/handler.d.ts +0 -45
  283. package/dist/types/adapter/cloudflare-pages/index.d.ts +0 -3
  284. package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +0 -7
  285. package/dist/types/adapter/cloudflare-workers/index.d.ts +0 -4
  286. package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +0 -7
  287. package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +0 -21
  288. package/dist/types/adapter/cloudflare-workers/utils.d.ts +0 -13
  289. package/dist/types/adapter/cloudflare-workers/websocket.d.ts +0 -7
  290. package/dist/types/adapter/deno/conninfo.d.ts +0 -10
  291. package/dist/types/adapter/deno/deno.d.ts +0 -1
  292. package/dist/types/adapter/deno/index.d.ts +0 -5
  293. package/dist/types/adapter/deno/serve-static.d.ts +0 -8
  294. package/dist/types/adapter/deno/ssg.d.ts +0 -17
  295. package/dist/types/adapter/deno/websocket.d.ts +0 -7
  296. package/dist/types/adapter/lambda-edge/conninfo.d.ts +0 -7
  297. package/dist/types/adapter/lambda-edge/handler.d.ts +0 -113
  298. package/dist/types/adapter/lambda-edge/index.d.ts +0 -3
  299. package/dist/types/adapter/netlify/conninfo.d.ts +0 -24
  300. package/dist/types/adapter/netlify/handler.d.ts +0 -7
  301. package/dist/types/adapter/netlify/index.d.ts +0 -3
  302. package/dist/types/adapter/netlify/mod.d.ts +0 -3
  303. package/dist/types/adapter/service-worker/handler.d.ts +0 -18
  304. package/dist/types/adapter/service-worker/index.d.ts +0 -26
  305. package/dist/types/adapter/service-worker/types.d.ts +0 -17
  306. package/dist/types/adapter/vercel/conninfo.d.ts +0 -7
  307. package/dist/types/adapter/vercel/handler.d.ts +0 -7
  308. package/dist/types/adapter/vercel/index.d.ts +0 -3
  309. package/dist/types/package.json +0 -3
  310. package/dist/types/utils/buffer.d.ts +0 -19
  311. package/dist/types/utils/color.d.ts +0 -23
  312. package/dist/{types/client → client}/client.d.ts +0 -0
  313. package/dist/{types/client → client}/fetch-result-please.d.ts +0 -0
  314. package/dist/{types/client → client}/index.d.ts +0 -0
  315. package/dist/{types/client → client}/types.d.ts +1 -1
  316. package/dist/{types/client → client}/utils.d.ts +0 -0
  317. package/dist/{types/helper → helper}/accepts/accepts.d.ts +0 -0
  318. package/dist/{types/helper → helper}/accepts/index.d.ts +0 -0
  319. package/dist/{types/helper → helper}/adapter/index.d.ts +0 -0
  320. package/dist/{types/helper → helper}/conninfo/index.d.ts +0 -0
  321. package/dist/{types/helper → helper}/conninfo/types.d.ts +0 -0
  322. package/dist/{types/helper → helper}/cookie/index.d.ts +0 -0
  323. package/dist/{types/helper → helper}/css/common.d.ts +0 -0
  324. package/dist/{types/helper → helper}/css/index.d.ts +0 -0
  325. package/dist/{types/helper → helper}/dev/index.d.ts +0 -0
  326. package/dist/{types/helper → helper}/html/index.d.ts +0 -0
  327. package/dist/{types/helper → helper}/proxy/index.d.ts +0 -0
  328. package/dist/{types/helper → helper}/route/index.d.ts +0 -0
  329. package/dist/{types/helper → helper}/ssg/index.d.ts +0 -0
  330. package/dist/{types/helper → helper}/ssg/plugins.d.ts +0 -0
  331. package/dist/{types/helper → helper}/ssg/utils.d.ts +0 -0
  332. package/dist/{types/helper → helper}/streaming/index.d.ts +0 -0
  333. package/dist/{types/helper → helper}/streaming/sse.d.ts +0 -0
  334. package/dist/{types/helper → helper}/streaming/stream.d.ts +0 -0
  335. package/dist/{types/helper → helper}/streaming/text.d.ts +0 -0
  336. package/dist/{types/helper → helper}/streaming/utils.d.ts +0 -0
  337. package/dist/{types/helper → helper}/testing/index.d.ts +0 -0
  338. package/dist/{types/helper → helper}/websocket/index.d.ts +0 -0
  339. package/dist/{types/http-exception.d.ts → http-exception.d.ts} +0 -0
  340. package/dist/{types/index.d.ts → index.d.ts} +0 -0
  341. package/dist/{types/jsx → jsx}/base.d.ts +0 -0
  342. package/dist/{types/jsx → jsx}/children.d.ts +0 -0
  343. package/dist/{types/jsx → jsx}/components.d.ts +0 -0
  344. package/dist/{types/jsx → jsx}/constants.d.ts +0 -0
  345. package/dist/{types/jsx → jsx}/context.d.ts +0 -0
  346. package/dist/{types/jsx → jsx}/dom/client.d.ts +0 -0
  347. package/dist/{types/jsx → jsx}/dom/components.d.ts +0 -0
  348. package/dist/{types/jsx → jsx}/dom/context.d.ts +0 -0
  349. package/dist/{types/jsx → jsx}/dom/css.d.ts +0 -0
  350. package/dist/{types/jsx → jsx}/dom/hooks/index.d.ts +0 -0
  351. package/dist/{types/jsx → jsx}/dom/index.d.ts +0 -0
  352. package/dist/{types/jsx → jsx}/dom/intrinsic-element/components.d.ts +0 -0
  353. package/dist/{types/jsx → jsx}/dom/jsx-dev-runtime.d.ts +0 -0
  354. package/dist/{types/jsx → jsx}/dom/jsx-runtime.d.ts +0 -0
  355. package/dist/{types/jsx → jsx}/dom/render.d.ts +0 -0
  356. package/dist/{types/jsx → jsx}/dom/server.d.ts +0 -0
  357. package/dist/{types/jsx → jsx}/dom/utils.d.ts +0 -0
  358. package/dist/{types/jsx → jsx}/hooks/index.d.ts +0 -0
  359. package/dist/{types/jsx → jsx}/index.d.ts +0 -0
  360. package/dist/{types/jsx → jsx}/intrinsic-element/common.d.ts +0 -0
  361. package/dist/{types/jsx → jsx}/intrinsic-element/components.d.ts +0 -0
  362. package/dist/{types/jsx → jsx}/intrinsic-elements.d.ts +0 -0
  363. package/dist/{types/jsx → jsx}/jsx-dev-runtime.d.ts +0 -0
  364. package/dist/{types/jsx → jsx}/jsx-runtime.d.ts +0 -0
  365. package/dist/{types/jsx → jsx}/streaming.d.ts +0 -0
  366. package/dist/{types/jsx → jsx}/types.d.ts +0 -0
  367. package/dist/{types/jsx → jsx}/utils.d.ts +0 -0
  368. package/dist/{types/middleware → middleware}/body-limit/index.d.ts +0 -0
  369. package/dist/{types/middleware → middleware}/cache/index.d.ts +0 -0
  370. package/dist/{types/middleware → middleware}/combine/index.d.ts +0 -0
  371. package/dist/{types/middleware → middleware}/compress/index.d.ts +0 -0
  372. package/dist/{types/middleware → middleware}/context-storage/index.d.ts +0 -0
  373. package/dist/{types/middleware → middleware}/cors/index.d.ts +0 -0
  374. package/dist/{types/middleware → middleware}/csrf/index.d.ts +0 -0
  375. package/dist/{types/middleware → middleware}/etag/digest.d.ts +0 -0
  376. package/dist/{types/middleware → middleware}/etag/index.d.ts +0 -0
  377. package/dist/{types/middleware → middleware}/ip-restriction/index.d.ts +0 -0
  378. package/dist/{types/middleware → middleware}/jsx-renderer/index.d.ts +0 -0
  379. package/dist/{types/middleware → middleware}/jwk/index.d.ts +0 -0
  380. package/dist/{types/middleware → middleware}/jwk/jwk.d.ts +0 -0
  381. package/dist/{types/middleware → middleware}/jwt/index.d.ts +0 -0
  382. package/dist/{types/middleware → middleware}/jwt/jwt.d.ts +0 -0
  383. package/dist/{types/middleware → middleware}/language/index.d.ts +0 -0
  384. package/dist/{types/middleware → middleware}/language/language.d.ts +0 -0
  385. package/dist/{types/middleware → middleware}/logger/index.d.ts +0 -0
  386. package/dist/{types/middleware → middleware}/method-not-allowed/index.d.ts +0 -0
  387. package/dist/{types/middleware → middleware}/method-override/index.d.ts +0 -0
  388. package/dist/{types/middleware → middleware}/mount/index.d.ts +0 -0
  389. package/dist/{types/middleware → middleware}/powered-by/index.d.ts +0 -0
  390. package/dist/{types/middleware → middleware}/pretty-json/index.d.ts +0 -0
  391. package/dist/{types/middleware → middleware}/request-id/index.d.ts +0 -0
  392. package/dist/{types/middleware → middleware}/request-id/request-id.d.ts +0 -0
  393. package/dist/{types/middleware → middleware}/secure-headers/index.d.ts +0 -0
  394. package/dist/{types/middleware → middleware}/secure-headers/permissions-policy.d.ts +0 -0
  395. package/dist/{types/middleware → middleware}/secure-headers/secure-headers.d.ts +0 -0
  396. package/dist/{types/middleware → middleware}/serve-static/path.d.ts +0 -0
  397. package/dist/{types/middleware → middleware}/timeout/index.d.ts +0 -0
  398. package/dist/{types/middleware → middleware}/timing/index.d.ts +0 -0
  399. package/dist/{types/middleware → middleware}/timing/timing.d.ts +0 -0
  400. package/dist/{types/middleware → middleware}/trailing-slash/index.d.ts +0 -0
  401. package/dist/{types/request → request}/constants.d.ts +0 -0
  402. package/dist/{types/router → router}/linear-router/index.d.ts +0 -0
  403. package/dist/{types/router → router}/linear-router/router.d.ts +0 -0
  404. package/dist/{types/router → router}/pattern-router/index.d.ts +0 -0
  405. package/dist/{types/router → router}/pattern-router/router.d.ts +0 -0
  406. package/dist/{types/router → router}/reg-exp-router/index.d.ts +0 -0
  407. package/dist/{types/router → router}/reg-exp-router/matcher.d.ts +0 -0
  408. package/dist/{types/router → router}/reg-exp-router/node.d.ts +0 -0
  409. package/dist/{types/router → router}/reg-exp-router/prepared-router.d.ts +0 -0
  410. package/dist/{types/router → router}/reg-exp-router/router.d.ts +0 -0
  411. package/dist/{types/router → router}/reg-exp-router/trie.d.ts +0 -0
  412. package/dist/{types/router → router}/smart-router/index.d.ts +0 -0
  413. package/dist/{types/router → router}/smart-router/router.d.ts +0 -0
  414. package/dist/{types/router → router}/trie-router/index.d.ts +0 -0
  415. package/dist/{types/router → router}/trie-router/node.d.ts +0 -0
  416. package/dist/{types/router → router}/trie-router/router.d.ts +0 -0
  417. package/dist/{types/router → router}/utils.d.ts +0 -0
  418. package/dist/{types/router.d.ts → router.d.ts} +0 -0
  419. package/dist/{types/types.d.ts → types.d.ts} +1 -1
  420. /package/dist/{types/utils → utils}/accept.d.ts +0 -0
  421. /package/dist/{types/utils → utils}/basic-auth.d.ts +0 -0
  422. /package/dist/{types/utils → utils}/body.d.ts +0 -0
  423. /package/dist/{types/utils → utils}/compress.d.ts +0 -0
  424. /package/dist/{types/utils → utils}/concurrent.d.ts +0 -0
  425. /package/dist/{types/utils → utils}/constants.d.ts +0 -0
  426. /package/dist/{types/utils → utils}/cookie.d.ts +0 -0
  427. /package/dist/{types/utils → utils}/crypto.d.ts +0 -0
  428. /package/dist/{types/utils → utils}/encode.d.ts +0 -0
  429. /package/dist/{types/utils → utils}/filepath.d.ts +0 -0
  430. /package/dist/{types/utils → utils}/handler.d.ts +0 -0
  431. /package/dist/{types/utils → utils}/headers.d.ts +0 -0
  432. /package/dist/{types/utils → utils}/html.d.ts +0 -0
  433. /package/dist/{types/utils → utils}/ipaddr.d.ts +0 -0
  434. /package/dist/{types/utils → utils}/jwt/index.d.ts +0 -0
  435. /package/dist/{types/utils → utils}/jwt/jwa.d.ts +0 -0
  436. /package/dist/{types/utils → utils}/jwt/jws.d.ts +0 -0
  437. /package/dist/{types/utils → utils}/jwt/jwt.d.ts +0 -0
  438. /package/dist/{types/utils → utils}/jwt/types.d.ts +0 -0
  439. /package/dist/{types/utils → utils}/jwt/utf8.d.ts +0 -0
  440. /package/dist/{types/utils → utils}/mime.d.ts +0 -0
  441. /package/dist/{types/utils → utils}/stream.d.ts +0 -0
  442. /package/dist/{types/utils → utils}/types.d.ts +0 -0
  443. /package/dist/{types/validator → validator}/index.d.ts +0 -0
  444. /package/dist/{types/validator → validator}/utils.d.ts +0 -0
@@ -1,194 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/accept.ts
3
- const isWhitespace = (char) => char === 32 || char === 9 || char === 10 || char === 13;
4
- const consumeWhitespace = (acceptHeader, startIndex) => {
5
- while (startIndex < acceptHeader.length) {
6
- if (!isWhitespace(acceptHeader.charCodeAt(startIndex))) break;
7
- startIndex++;
8
- }
9
- return startIndex;
10
- };
11
- const ignoreTrailingWhitespace = (acceptHeader, startIndex) => {
12
- while (startIndex > 0) {
13
- if (!isWhitespace(acceptHeader.charCodeAt(startIndex - 1))) break;
14
- startIndex--;
15
- }
16
- return startIndex;
17
- };
18
- const skipInvalidParam = (acceptHeader, startIndex) => {
19
- while (startIndex < acceptHeader.length) {
20
- const char = acceptHeader.charCodeAt(startIndex);
21
- if (char === 59) return [startIndex + 1, true];
22
- if (char === 44) return [startIndex + 1, false];
23
- startIndex++;
24
- }
25
- return [startIndex, false];
26
- };
27
- const skipInvalidAcceptValue = (acceptHeader, startIndex) => {
28
- let i = startIndex;
29
- let inQuotes = false;
30
- while (i < acceptHeader.length) {
31
- const char = acceptHeader.charCodeAt(i);
32
- if (inQuotes && char === 92) i++;
33
- else if (char === 34) inQuotes = !inQuotes;
34
- else if (!inQuotes && char === 44) return i + 1;
35
- i++;
36
- }
37
- return i;
38
- };
39
- const getNextParam = (acceptHeader, startIndex) => {
40
- startIndex = consumeWhitespace(acceptHeader, startIndex);
41
- let i = startIndex;
42
- let key;
43
- let value;
44
- let hasNext = false;
45
- while (i < acceptHeader.length) {
46
- const char = acceptHeader.charCodeAt(i);
47
- if (char === 61) {
48
- key = acceptHeader.slice(startIndex, ignoreTrailingWhitespace(acceptHeader, i));
49
- i++;
50
- break;
51
- }
52
- if (char === 59) return [
53
- i + 1,
54
- void 0,
55
- void 0,
56
- true
57
- ];
58
- if (char === 44) return [
59
- i + 1,
60
- void 0,
61
- void 0,
62
- false
63
- ];
64
- i++;
65
- }
66
- if (key === void 0) return [
67
- i,
68
- void 0,
69
- void 0,
70
- false
71
- ];
72
- i = consumeWhitespace(acceptHeader, i);
73
- if (acceptHeader.charCodeAt(i) === 61) {
74
- const skipResult = skipInvalidParam(acceptHeader, i + 1);
75
- return [
76
- skipResult[0],
77
- key,
78
- void 0,
79
- skipResult[1]
80
- ];
81
- }
82
- let inQuotes = false;
83
- const paramStartIndex = i;
84
- while (i < acceptHeader.length) {
85
- const char = acceptHeader.charCodeAt(i);
86
- if (inQuotes && char === 92) i++;
87
- else if (char === 34) {
88
- if (inQuotes) {
89
- let nextIndex = consumeWhitespace(acceptHeader, i + 1);
90
- const nextChar = acceptHeader.charCodeAt(nextIndex);
91
- if (nextIndex < acceptHeader.length && !(nextChar === 59 || nextChar === 44)) {
92
- const skipResult = skipInvalidParam(acceptHeader, nextIndex);
93
- return [
94
- skipResult[0],
95
- key,
96
- void 0,
97
- skipResult[1]
98
- ];
99
- }
100
- value = acceptHeader.slice(paramStartIndex + 1, i);
101
- if (value.includes("\\")) value = value.replace(/\\(.)/g, "$1");
102
- if (nextChar === 44) return [
103
- nextIndex + 1,
104
- key,
105
- value,
106
- false
107
- ];
108
- if (nextChar === 59) {
109
- hasNext = true;
110
- nextIndex++;
111
- }
112
- i = nextIndex;
113
- break;
114
- }
115
- inQuotes = true;
116
- } else if (!inQuotes && (char === 59 || char === 44)) {
117
- value = acceptHeader.slice(paramStartIndex, ignoreTrailingWhitespace(acceptHeader, i));
118
- if (char === 59) hasNext = true;
119
- i++;
120
- break;
121
- }
122
- i++;
123
- }
124
- return [
125
- i,
126
- key,
127
- value ?? acceptHeader.slice(paramStartIndex, ignoreTrailingWhitespace(acceptHeader, i)),
128
- hasNext
129
- ];
130
- };
131
- const getNextAcceptValue = (acceptHeader, startIndex) => {
132
- const accept = {
133
- type: "",
134
- params: Object.create(null),
135
- q: 1
136
- };
137
- startIndex = consumeWhitespace(acceptHeader, startIndex);
138
- let i = startIndex;
139
- while (i < acceptHeader.length) {
140
- const char = acceptHeader.charCodeAt(i);
141
- if (char === 59 || char === 44) {
142
- accept.type = acceptHeader.slice(startIndex, ignoreTrailingWhitespace(acceptHeader, i));
143
- i++;
144
- if (char === 44) return [i, accept.type ? accept : void 0];
145
- if (!accept.type) return [skipInvalidAcceptValue(acceptHeader, i), void 0];
146
- break;
147
- }
148
- i++;
149
- }
150
- if (!accept.type) {
151
- accept.type = acceptHeader.slice(startIndex, ignoreTrailingWhitespace(acceptHeader, acceptHeader.length));
152
- return [acceptHeader.length, accept.type ? accept : void 0];
153
- }
154
- let param;
155
- let value;
156
- let hasNext;
157
- while (i < acceptHeader.length) {
158
- [i, param, value, hasNext] = getNextParam(acceptHeader, i);
159
- if (param && value) accept.params[param] = value;
160
- if (!hasNext) break;
161
- }
162
- return [i, accept];
163
- };
164
- const parseAccept = (acceptHeader) => {
165
- if (!acceptHeader) return [];
166
- const values = [];
167
- let i = 0;
168
- let accept;
169
- let requiresSort = false;
170
- let lastAccept;
171
- while (i < acceptHeader.length) {
172
- [i, accept] = getNextAcceptValue(acceptHeader, i);
173
- if (accept) {
174
- accept.q = parseQuality(accept.params.q ?? accept.params.Q);
175
- values.push(accept);
176
- if (lastAccept && lastAccept.q < accept.q) requiresSort = true;
177
- lastAccept = accept;
178
- }
179
- }
180
- if (requiresSort) values.sort((a, b) => b.q - a.q);
181
- return values;
182
- };
183
- const parseQuality = (qVal) => {
184
- if (qVal === void 0) return 1;
185
- if (qVal === "") return 1;
186
- if (qVal === "NaN") return 0;
187
- const num = Number(qVal);
188
- if (Number.isNaN(num)) return 1;
189
- if (num < 0) return 0;
190
- if (num > 1) return 1;
191
- return num;
192
- };
193
- //#endregion
194
- exports.parseAccept = parseAccept;
@@ -1,21 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_encode = require("./encode.js");
3
- //#region src/utils/basic-auth.ts
4
- const CREDENTIALS_REGEXP = /^ *(?:[Bb][Aa][Ss][Ii][Cc]) +([A-Za-z0-9._~+/-]+=*) *$/;
5
- const USER_PASS_REGEXP = /^([^:]*):(.*)$/;
6
- const utf8Decoder = new TextDecoder();
7
- const auth = (req) => {
8
- const match = CREDENTIALS_REGEXP.exec(req.headers.get("Authorization") || "");
9
- if (!match) return;
10
- let userPass = void 0;
11
- try {
12
- userPass = USER_PASS_REGEXP.exec(utf8Decoder.decode(require_utils_encode.decodeBase64(match[1])));
13
- } catch {}
14
- if (!userPass) return;
15
- return {
16
- username: userPass[1],
17
- password: userPass[2]
18
- };
19
- };
20
- //#endregion
21
- exports.auth = auth;
@@ -1,97 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_buffer = require("./buffer.js");
3
- //#region src/utils/body.ts
4
- const MAX_NESTED_OBJECTS = 1e4;
5
- const isRawRequest = (request) => "headers" in request;
6
- const parseBody = async (request, options = Object.create(null)) => {
7
- const { all = false, dot = false } = options;
8
- const mediaType = (isRawRequest(request) ? request.headers : request.raw.headers).get("Content-Type")?.split(";")[0].trim().toLowerCase();
9
- if (mediaType === "multipart/form-data" || mediaType === "application/x-www-form-urlencoded") return parseFormData(request, {
10
- all,
11
- dot
12
- });
13
- return {};
14
- };
15
- /**
16
- * Parses form data from a request.
17
- *
18
- * @template T - The type of the parsed body data.
19
- * @param {HonoRequest | Request} request - The request object containing form data.
20
- * @param {ParseBodyOptions} options - Options for parsing the form data.
21
- * @returns {Promise<T>} The parsed body data.
22
- */
23
- async function parseFormData(request, options) {
24
- if (!isRawRequest(request) && request.bodyCache.formData) return convertFormDataToBodyData(await request.bodyCache.formData, options);
25
- const headers = isRawRequest(request) ? request.headers : request.raw.headers;
26
- const arrayBuffer = await request.arrayBuffer();
27
- const formDataPromise = require_utils_buffer.bufferToFormData(arrayBuffer, headers.get("Content-Type") || "");
28
- if (!isRawRequest(request)) request.bodyCache.formData = formDataPromise;
29
- const formData = await formDataPromise;
30
- if (formData) return convertFormDataToBodyData(formData, options);
31
- return {};
32
- }
33
- /**
34
- * Converts form data to body data based on the provided options.
35
- *
36
- * @template T - The type of the parsed body data.
37
- * @param {FormData} formData - The form data to convert.
38
- * @param {ParseBodyOptions} options - Options for parsing the form data.
39
- * @returns {T} The converted body data.
40
- */
41
- function convertFormDataToBodyData(formData, options) {
42
- const form = Object.create(null);
43
- const nestingState = { count: 0 };
44
- formData.forEach((value, key) => {
45
- if (!(options.all || key.endsWith("[]"))) form[key] = value;
46
- else handleParsingAllValues(form, key, value);
47
- });
48
- if (options.dot) Object.entries(form).forEach(([key, value]) => {
49
- if (key.includes(".")) {
50
- handleParsingNestedValues(form, key, value, nestingState);
51
- delete form[key];
52
- }
53
- });
54
- return form;
55
- }
56
- /**
57
- * Handles parsing all values for a given key, supporting multiple values as arrays.
58
- *
59
- * @param {BodyData} form - The form data object.
60
- * @param {string} key - The key to parse.
61
- * @param {FormDataEntryValue} value - The value to assign.
62
- */
63
- const handleParsingAllValues = (form, key, value) => {
64
- if (form[key] !== void 0) {
65
- if (Array.isArray(form[key])) form[key].push(value);
66
- else form[key] = [form[key], value];
67
- } else if (!key.endsWith("[]")) form[key] = value;
68
- else form[key] = [value];
69
- };
70
- /**
71
- * Handles parsing nested values using dot notation keys.
72
- *
73
- * @param {BodyData} form - The form data object.
74
- * @param {string} key - The dot notation key.
75
- * @param {BodyDataValue} value - The value to assign.
76
- */
77
- const handleParsingNestedValues = (form, key, value, state) => {
78
- if (/(?:^|\.)__proto__\./.test(key)) return;
79
- let nestedForm = form;
80
- const keys = key.split(".", 34);
81
- if (keys.length > 33) throwNestingLimitExceeded();
82
- keys.forEach((key, index) => {
83
- if (index === keys.length - 1) nestedForm[key] = value;
84
- else {
85
- if (!nestedForm[key] || typeof nestedForm[key] !== "object" || Array.isArray(nestedForm[key]) || nestedForm[key] instanceof File) {
86
- if (state.count++ >= MAX_NESTED_OBJECTS) throwNestingLimitExceeded();
87
- nestedForm[key] = Object.create(null);
88
- }
89
- nestedForm = nestedForm[key];
90
- }
91
- });
92
- };
93
- const throwNestingLimitExceeded = () => {
94
- throw new Error("Nesting limit exceeded");
95
- };
96
- //#endregion
97
- exports.parseBody = parseBody;
@@ -1,55 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_crypto = require("./crypto.js");
3
- //#region src/utils/buffer.ts
4
- /**
5
- * @module
6
- * Buffer utility.
7
- */
8
- const equal = (a, b) => {
9
- if (a === b) return true;
10
- if (a.byteLength !== b.byteLength) return false;
11
- const va = new DataView(a);
12
- const vb = new DataView(b);
13
- let i = va.byteLength;
14
- while (i--) if (va.getUint8(i) !== vb.getUint8(i)) return false;
15
- return true;
16
- };
17
- const constantTimeEqualString = (a, b) => {
18
- const aLen = a.length;
19
- const bLen = b.length;
20
- const maxLen = Math.max(aLen, bLen);
21
- let out = aLen ^ bLen;
22
- for (let i = 0; i < maxLen; i++) {
23
- const aChar = i < aLen ? a.charCodeAt(i) : 0;
24
- const bChar = i < bLen ? b.charCodeAt(i) : 0;
25
- out |= aChar ^ bChar;
26
- }
27
- return out === 0;
28
- };
29
- const timingSafeEqualString = async (a, b, hashFunction) => {
30
- if (!hashFunction) hashFunction = require_utils_crypto.sha256;
31
- const [sa, sb] = await Promise.all([hashFunction(a), hashFunction(b)]);
32
- if (sa == null || sb == null || typeof sa !== "string" || typeof sb !== "string") return false;
33
- const hashEqual = constantTimeEqualString(sa, sb);
34
- const originalEqual = constantTimeEqualString(a, b);
35
- return hashEqual && originalEqual;
36
- };
37
- const timingSafeEqual = async (a, b, hashFunction) => {
38
- if (typeof a === "string" && typeof b === "string") return timingSafeEqualString(a, b, hashFunction);
39
- if (!hashFunction) hashFunction = require_utils_crypto.sha256;
40
- const [sa, sb] = await Promise.all([hashFunction(a), hashFunction(b)]);
41
- if (!sa || !sb || typeof sa !== "string" || typeof sb !== "string") return false;
42
- return timingSafeEqualString(sa, sb);
43
- };
44
- const bufferToString = (buffer) => {
45
- if (buffer instanceof ArrayBuffer) return new TextDecoder("utf-8").decode(buffer);
46
- return buffer;
47
- };
48
- const bufferToFormData = (arrayBuffer, contentType) => {
49
- return new Response(arrayBuffer, { headers: { "Content-Type": contentType.replace(/^[^;]+/, (mediaType) => mediaType.toLowerCase()) } }).formData();
50
- };
51
- //#endregion
52
- exports.bufferToFormData = bufferToFormData;
53
- exports.bufferToString = bufferToString;
54
- exports.equal = equal;
55
- exports.timingSafeEqual = timingSafeEqual;
@@ -1,39 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/color.ts
3
- /**
4
- * @module
5
- * Color utility.
6
- */
7
- /**
8
- * Get whether color change on terminal is enabled or disabled.
9
- * If `NO_COLOR` environment variable is set, this function returns `false`.
10
- * Unlike getColorEnabledAsync(), this cannot check Cloudflare environment variables.
11
- * @see {@link https://no-color.org/}
12
- *
13
- * @returns {boolean}
14
- */
15
- function getColorEnabled() {
16
- const { process, Deno } = globalThis;
17
- return !(typeof Deno?.noColor === "boolean" ? Deno.noColor : process !== void 0 ? "NO_COLOR" in process?.env : false);
18
- }
19
- /**
20
- * Get whether color change on terminal is enabled or disabled.
21
- * If `NO_COLOR` environment variable is set, this function returns `false`.
22
- * @see {@link https://no-color.org/}
23
- *
24
- * @returns {boolean}
25
- */
26
- async function getColorEnabledAsync() {
27
- const { navigator } = globalThis;
28
- const cfWorkers = "cloudflare:workers";
29
- return !(navigator !== void 0 && navigator.userAgent === "Cloudflare-Workers" ? await (async () => {
30
- try {
31
- return "NO_COLOR" in ((await import(cfWorkers)).env ?? {});
32
- } catch {
33
- return false;
34
- }
35
- })() : !getColorEnabled());
36
- }
37
- //#endregion
38
- exports.getColorEnabled = getColorEnabled;
39
- exports.getColorEnabledAsync = getColorEnabledAsync;
@@ -1,12 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/compress.ts
3
- /**
4
- * @module
5
- * Constants for compression.
6
- */
7
- /**
8
- * Match for compressible content type.
9
- */
10
- const COMPRESSIBLE_CONTENT_TYPE_REGEX = /^\s*(?:text\/(?!event-stream(?:[;\s]|$))[^;\s]+|application\/(?:javascript|json|xml|xml-dtd|ecmascript|dart|msgpack|postscript|rtf|tar|toml|vnd\.dart|vnd\.ms-fontobject|vnd\.ms-opentype|vnd\.msgpack|wasm|x-httpd-php|x-javascript|x-msgpack|x-ns-proxy-autoconfig|x-sh|x-tar|x-virtualbox-hdd|x-virtualbox-ova|x-virtualbox-ovf|x-virtualbox-vbox|x-virtualbox-vdi|x-virtualbox-vhd|x-virtualbox-vmdk|x-www-form-urlencoded)|font\/(?:otf|ttf)|image\/(?:bmp|vnd\.adobe\.photoshop|vnd\.microsoft\.icon|vnd\.ms-dds|x-icon|x-ms-bmp)|message\/rfc822|model\/gltf-binary|x-shader\/x-fragment|x-shader\/x-vertex|[^;\s]+?\+(?:json|text|xml|yaml|msgpack))(?:[;\s]|$)/i;
11
- //#endregion
12
- exports.COMPRESSIBLE_CONTENT_TYPE_REGEX = COMPRESSIBLE_CONTENT_TYPE_REGEX;
@@ -1,31 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/concurrent.ts
3
- /**
4
- * @module
5
- * Concurrent utility.
6
- */
7
- const DEFAULT_CONCURRENCY = 1024;
8
- const createPool = ({ concurrency, interval } = {}) => {
9
- concurrency ||= DEFAULT_CONCURRENCY;
10
- if (concurrency === Infinity) return { run: async (fn) => fn() };
11
- const pool = /* @__PURE__ */ new Set();
12
- const run = async (fn, promise, resolve) => {
13
- if (pool.size >= concurrency) {
14
- promise ||= new Promise((r) => resolve = r);
15
- setTimeout(() => run(fn, promise, resolve));
16
- return promise;
17
- }
18
- const marker = {};
19
- pool.add(marker);
20
- const result = await fn();
21
- if (interval) setTimeout(() => pool.delete(marker), interval);
22
- else pool.delete(marker);
23
- if (resolve) {
24
- resolve(result);
25
- return promise;
26
- } else return result;
27
- };
28
- return { run };
29
- };
30
- //#endregion
31
- exports.createPool = createPool;
@@ -1,8 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/constants.ts
3
- /**
4
- * Constant used to mark a composed handler.
5
- */
6
- const COMPOSED_HANDLER = "__COMPOSED_HANDLER";
7
- //#endregion
8
- exports.COMPOSED_HANDLER = COMPOSED_HANDLER;
@@ -1,129 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_url = require("./url.js");
3
- //#region src/utils/cookie.ts
4
- /**
5
- * @module
6
- * Cookie utility.
7
- */
8
- const algorithm = {
9
- name: "HMAC",
10
- hash: "SHA-256"
11
- };
12
- const getCryptoKey = async (secret) => {
13
- const secretBuf = typeof secret === "string" ? new TextEncoder().encode(secret) : secret;
14
- return await crypto.subtle.importKey("raw", secretBuf, algorithm, false, ["sign", "verify"]);
15
- };
16
- const makeSignature = async (value, secret) => {
17
- const key = await getCryptoKey(secret);
18
- const signature = await crypto.subtle.sign(algorithm.name, key, new TextEncoder().encode(value));
19
- return btoa(String.fromCharCode(...new Uint8Array(signature)));
20
- };
21
- const verifySignature = async (base64Signature, value, secret) => {
22
- try {
23
- const signatureBinStr = atob(base64Signature);
24
- const signature = new Uint8Array(signatureBinStr.length);
25
- for (let i = 0, len = signatureBinStr.length; i < len; i++) signature[i] = signatureBinStr.charCodeAt(i);
26
- return await crypto.subtle.verify(algorithm, secret, signature, new TextEncoder().encode(value));
27
- } catch {
28
- return false;
29
- }
30
- };
31
- const validCookieNameRegEx = /^[\w!#$%&'*.^`|~+-]+$/;
32
- const relaxedCookieNameRegEx = /^[!#-:<>-[\]-~]+$/;
33
- const validCookieValueRegEx = /^[ !#-:<-[\]-~]*$/;
34
- const trimCookieWhitespace = (value) => {
35
- let start = 0;
36
- let end = value.length;
37
- while (start < end) {
38
- const charCode = value.charCodeAt(start);
39
- if (charCode !== 32 && charCode !== 9) break;
40
- start++;
41
- }
42
- while (end > start) {
43
- const charCode = value.charCodeAt(end - 1);
44
- if (charCode !== 32 && charCode !== 9) break;
45
- end--;
46
- }
47
- return start === 0 && end === value.length ? value : value.slice(start, end);
48
- };
49
- const parse = (cookie, name) => {
50
- if (name && cookie.indexOf(name) === -1) return {};
51
- const pairs = cookie.split(";");
52
- const parsedCookie = Object.create(null);
53
- for (const pairStr of pairs) {
54
- const valueStartPos = pairStr.indexOf("=");
55
- if (valueStartPos === -1) continue;
56
- const cookieName = trimCookieWhitespace(pairStr.substring(0, valueStartPos));
57
- if (name && name !== cookieName || !relaxedCookieNameRegEx.test(cookieName) || cookieName in parsedCookie) continue;
58
- let cookieValue = trimCookieWhitespace(pairStr.substring(valueStartPos + 1));
59
- if (cookieValue.startsWith("\"") && cookieValue.endsWith("\"")) cookieValue = cookieValue.slice(1, -1);
60
- if (validCookieValueRegEx.test(cookieValue)) {
61
- parsedCookie[cookieName] = require_utils_url.tryDecodeURIComponent(cookieValue);
62
- if (name) break;
63
- }
64
- }
65
- return parsedCookie;
66
- };
67
- const parseSigned = async (cookie, secret, name) => {
68
- const parsedCookie = Object.create(null);
69
- const secretKey = await getCryptoKey(secret);
70
- for (const [key, value] of Object.entries(parse(cookie, name))) {
71
- const signatureStartPos = value.lastIndexOf(".");
72
- if (signatureStartPos < 0) continue;
73
- const signedValue = value.substring(0, signatureStartPos);
74
- const signature = value.substring(signatureStartPos + 1);
75
- if (signature.length !== 44 || !signature.endsWith("=")) continue;
76
- parsedCookie[key] = await verifySignature(signature, signedValue, secretKey) ? signedValue : false;
77
- }
78
- return parsedCookie;
79
- };
80
- const _serialize = (name, value, opt = {}) => {
81
- if (!validCookieNameRegEx.test(name)) throw new Error("Invalid cookie name");
82
- let cookie = `${name}=${value}`;
83
- if (name.startsWith("__Secure-") && !opt.secure) throw new Error("__Secure- Cookie must have Secure attributes");
84
- if (name.startsWith("__Host-")) {
85
- if (!opt.secure) throw new Error("__Host- Cookie must have Secure attributes");
86
- if (opt.path !== "/") throw new Error("__Host- Cookie must have Path attributes with \"/\"");
87
- if (opt.domain) throw new Error("__Host- Cookie must not have Domain attributes");
88
- }
89
- for (const key of [
90
- "domain",
91
- "path",
92
- "sameSite",
93
- "priority"
94
- ]) if (opt[key] && /[;\r\n]/.test(opt[key])) throw new Error(`${key} must not contain ";", "\\r", or "\\n"`);
95
- if (opt && typeof opt.maxAge === "number" && opt.maxAge >= 0) {
96
- if (opt.maxAge > 3456e4) throw new Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");
97
- cookie += `; Max-Age=${opt.maxAge | 0}`;
98
- }
99
- if (opt.domain && opt.prefix !== "host") cookie += `; Domain=${opt.domain}`;
100
- if (opt.path) cookie += `; Path=${opt.path}`;
101
- if (opt.expires) {
102
- if (opt.expires.getTime() - Date.now() > 3456e7) throw new Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");
103
- cookie += `; Expires=${opt.expires.toUTCString()}`;
104
- }
105
- if (opt.httpOnly) cookie += "; HttpOnly";
106
- if (opt.secure) cookie += "; Secure";
107
- if (opt.sameSite) cookie += `; SameSite=${opt.sameSite.charAt(0).toUpperCase() + opt.sameSite.slice(1)}`;
108
- if (opt.priority) cookie += `; Priority=${opt.priority.charAt(0).toUpperCase() + opt.priority.slice(1)}`;
109
- if (opt.partitioned) {
110
- if (!opt.secure) throw new Error("Partitioned Cookie must have Secure attributes");
111
- cookie += "; Partitioned";
112
- }
113
- return cookie;
114
- };
115
- const serialize = (name, value, opt) => {
116
- value = encodeURIComponent(value);
117
- return _serialize(name, value, opt);
118
- };
119
- const serializeSigned = async (name, value, secret, opt = {}) => {
120
- const signature = await makeSignature(value, secret);
121
- value = `${value}.${signature}`;
122
- value = encodeURIComponent(value);
123
- return _serialize(name, value, opt);
124
- };
125
- //#endregion
126
- exports.parse = parse;
127
- exports.parseSigned = parseSigned;
128
- exports.serialize = serialize;
129
- exports.serializeSigned = serializeSigned;
@@ -1,38 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/crypto.ts
3
- const sha256 = async (data) => {
4
- return await createHash(data, {
5
- name: "SHA-256",
6
- alias: "sha256"
7
- });
8
- };
9
- const sha1 = async (data) => {
10
- return await createHash(data, {
11
- name: "SHA-1",
12
- alias: "sha1"
13
- });
14
- };
15
- const md5 = async (data) => {
16
- return await createHash(data, {
17
- name: "MD5",
18
- alias: "md5"
19
- });
20
- };
21
- const createHash = async (data, algorithm) => {
22
- let sourceBuffer;
23
- if (ArrayBuffer.isView(data) || data instanceof ArrayBuffer) sourceBuffer = data;
24
- else {
25
- if (typeof data === "object") data = JSON.stringify(data);
26
- sourceBuffer = new TextEncoder().encode(String(data));
27
- }
28
- if (crypto && crypto.subtle) {
29
- const buffer = await crypto.subtle.digest({ name: algorithm.name }, sourceBuffer);
30
- return Array.prototype.map.call(new Uint8Array(buffer), (x) => ("00" + x.toString(16)).slice(-2)).join("");
31
- }
32
- return null;
33
- };
34
- //#endregion
35
- exports.createHash = createHash;
36
- exports.md5 = md5;
37
- exports.sha1 = sha1;
38
- exports.sha256 = sha256;
@@ -1,37 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/encode.ts
3
- /**
4
- * @module
5
- * Encode utility.
6
- */
7
- const decodeBase64Url = (str) => {
8
- return decodeBase64(str.replace(/_|-/g, (m) => ({
9
- _: "/",
10
- "-": "+"
11
- })[m] ?? m));
12
- };
13
- const encodeBase64Url = (buf) => encodeBase64(buf).replace(/\/|\+/g, (m) => ({
14
- "/": "_",
15
- "+": "-"
16
- })[m] ?? m);
17
- const encodeBase64 = (buf) => {
18
- let binary = "";
19
- const bytes = new Uint8Array(buf);
20
- for (let i = 0, len = bytes.length; i < len; i++) binary += String.fromCharCode(bytes[i]);
21
- return btoa(binary);
22
- };
23
- const decodeBase64 = (str) => {
24
- const binary = atob(str);
25
- const bytes = new Uint8Array(new ArrayBuffer(binary.length));
26
- const half = binary.length / 2;
27
- for (let i = 0, j = binary.length - 1; i <= half; i++, j--) {
28
- bytes[i] = binary.charCodeAt(i);
29
- bytes[j] = binary.charCodeAt(j);
30
- }
31
- return bytes;
32
- };
33
- //#endregion
34
- exports.decodeBase64 = decodeBase64;
35
- exports.decodeBase64Url = decodeBase64Url;
36
- exports.encodeBase64 = encodeBase64;
37
- exports.encodeBase64Url = encodeBase64Url;