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,136 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_encode = require("../encode.js");
3
- const require_utils_jwt_jwa = require("./jwa.js");
4
- const require_utils_jwt_types = require("./types.js");
5
- const require_utils_jwt_utf8 = require("./utf8.js");
6
- const require_utils_jwt_jws = require("./jws.js");
7
- //#region src/utils/jwt/jwt.ts
8
- /**
9
- * @module
10
- * JSON Web Token (JWT)
11
- * https://datatracker.ietf.org/doc/html/rfc7519
12
- */
13
- const encodeJwtPart = (part) => require_utils_encode.encodeBase64Url(require_utils_jwt_utf8.utf8Encoder.encode(JSON.stringify(part)).buffer).replace(/=/g, "");
14
- const encodeSignaturePart = (buf) => require_utils_encode.encodeBase64Url(buf).replace(/=/g, "");
15
- const decodeJwtPart = (part) => JSON.parse(require_utils_jwt_utf8.utf8Decoder.decode(require_utils_encode.decodeBase64Url(part)));
16
- function isTokenHeader(obj) {
17
- if (typeof obj === "object" && obj !== null) {
18
- const objWithAlg = obj;
19
- return "alg" in objWithAlg && Object.values(require_utils_jwt_jwa.AlgorithmTypes).includes(objWithAlg.alg) && (!("typ" in objWithAlg) || objWithAlg.typ === "JWT");
20
- }
21
- return false;
22
- }
23
- const sign = async (payload, privateKey, alg = "HS256") => {
24
- const encodedPayload = encodeJwtPart(payload);
25
- let encodedHeader;
26
- if (typeof privateKey === "object" && "alg" in privateKey) {
27
- alg = privateKey.alg;
28
- encodedHeader = encodeJwtPart({
29
- alg,
30
- typ: "JWT",
31
- kid: privateKey.kid
32
- });
33
- } else encodedHeader = encodeJwtPart({
34
- alg,
35
- typ: "JWT"
36
- });
37
- const partialToken = `${encodedHeader}.${encodedPayload}`;
38
- const signaturePart = await require_utils_jwt_jws.signing(privateKey, alg, require_utils_jwt_utf8.utf8Encoder.encode(partialToken));
39
- return `${partialToken}.${encodeSignaturePart(signaturePart)}`;
40
- };
41
- const verify = async (token, publicKey, algOrOptions) => {
42
- if (!algOrOptions) throw new require_utils_jwt_types.JwtAlgorithmRequired();
43
- const { alg, iss, nbf = true, exp = true, iat = true, aud } = typeof algOrOptions === "string" ? { alg: algOrOptions } : algOrOptions;
44
- if (!alg) throw new require_utils_jwt_types.JwtAlgorithmRequired();
45
- const tokenParts = token.split(".");
46
- if (tokenParts.length !== 3) throw new require_utils_jwt_types.JwtTokenInvalid(token);
47
- const { header, payload } = decode(token);
48
- if (!isTokenHeader(header)) throw new require_utils_jwt_types.JwtHeaderInvalid(header);
49
- if (header.alg !== alg) throw new require_utils_jwt_types.JwtAlgorithmMismatch(alg, header.alg);
50
- const now = Math.floor(Date.now() / 1e3);
51
- if (nbf && payload.nbf !== void 0) {
52
- if (typeof payload.nbf !== "number" || !Number.isFinite(payload.nbf) || payload.nbf > now) throw new require_utils_jwt_types.JwtTokenNotBefore(token);
53
- }
54
- if (exp && payload.exp !== void 0) {
55
- if (typeof payload.exp !== "number" || !Number.isFinite(payload.exp) || payload.exp <= now) throw new require_utils_jwt_types.JwtTokenExpired(token);
56
- }
57
- if (iat && payload.iat !== void 0) {
58
- if (typeof payload.iat !== "number" || !Number.isFinite(payload.iat) || now < payload.iat) throw new require_utils_jwt_types.JwtTokenIssuedAt(now, payload.iat);
59
- }
60
- if (iss) {
61
- if (!payload.iss) throw new require_utils_jwt_types.JwtTokenIssuer(iss, null);
62
- if (typeof iss === "string" && payload.iss !== iss) throw new require_utils_jwt_types.JwtTokenIssuer(iss, payload.iss);
63
- if (iss instanceof RegExp && !iss.test(payload.iss)) throw new require_utils_jwt_types.JwtTokenIssuer(iss, payload.iss);
64
- }
65
- if (aud) {
66
- if (!payload.aud) throw new require_utils_jwt_types.JwtPayloadRequiresAud(payload);
67
- if (!(Array.isArray(payload.aud) ? payload.aud : [payload.aud]).some((payloadAud) => aud instanceof RegExp ? aud.test(payloadAud) : typeof aud === "string" ? payloadAud === aud : Array.isArray(aud) && aud.includes(payloadAud))) throw new require_utils_jwt_types.JwtTokenAudience(aud, payload.aud);
68
- }
69
- const headerPayload = token.substring(0, token.lastIndexOf("."));
70
- let signature;
71
- try {
72
- signature = require_utils_encode.decodeBase64Url(tokenParts[2]);
73
- } catch {
74
- throw new require_utils_jwt_types.JwtTokenInvalid(token);
75
- }
76
- if (!await require_utils_jwt_jws.verifying(publicKey, alg, signature, require_utils_jwt_utf8.utf8Encoder.encode(headerPayload))) throw new require_utils_jwt_types.JwtTokenSignatureMismatched(token);
77
- return payload;
78
- };
79
- const symmetricAlgorithms = [
80
- "HS256",
81
- "HS384",
82
- "HS512"
83
- ];
84
- const verifyWithJwks = async (token, options, init) => {
85
- const verifyOpts = options.verification || {};
86
- const header = decodeHeader(token);
87
- if (!isTokenHeader(header)) throw new require_utils_jwt_types.JwtHeaderInvalid(header);
88
- if (!header.kid) throw new require_utils_jwt_types.JwtHeaderRequiresKid(header);
89
- if (symmetricAlgorithms.includes(header.alg)) throw new require_utils_jwt_types.JwtSymmetricAlgorithmNotAllowed(header.alg);
90
- if (!options.allowedAlgorithms.includes(header.alg)) throw new require_utils_jwt_types.JwtAlgorithmNotAllowed(header.alg, options.allowedAlgorithms);
91
- let verifyKeys = options.keys ? [...options.keys] : void 0;
92
- if (options.jwks_uri) {
93
- const response = await fetch(options.jwks_uri, init);
94
- if (!response.ok) throw new Error(`failed to fetch JWKS from ${options.jwks_uri}`);
95
- const data = await response.json();
96
- if (!data.keys) throw new Error("invalid JWKS response. \"keys\" field is missing");
97
- if (!Array.isArray(data.keys)) throw new Error("invalid JWKS response. \"keys\" field is not an array");
98
- verifyKeys ??= [];
99
- verifyKeys.push(...data.keys);
100
- } else if (!verifyKeys) throw new Error("verifyWithJwks requires options for either \"keys\" or \"jwks_uri\" or both");
101
- const matchingKey = verifyKeys.find((key) => key.kid === header.kid);
102
- if (!matchingKey) throw new require_utils_jwt_types.JwtTokenInvalid(token);
103
- if (matchingKey.alg && matchingKey.alg !== header.alg) throw new require_utils_jwt_types.JwtAlgorithmMismatch(matchingKey.alg, header.alg);
104
- return await verify(token, matchingKey, {
105
- alg: header.alg,
106
- ...verifyOpts
107
- });
108
- };
109
- const decode = (token) => {
110
- const parts = token.split(".");
111
- if (parts.length !== 3) throw new require_utils_jwt_types.JwtTokenInvalid(token);
112
- try {
113
- return {
114
- header: decodeJwtPart(parts[0]),
115
- payload: decodeJwtPart(parts[1])
116
- };
117
- } catch {
118
- throw new require_utils_jwt_types.JwtTokenInvalid(token);
119
- }
120
- };
121
- const decodeHeader = (token) => {
122
- const parts = token.split(".");
123
- if (parts.length !== 3) throw new require_utils_jwt_types.JwtTokenInvalid(token);
124
- try {
125
- return decodeJwtPart(parts[0]);
126
- } catch {
127
- throw new require_utils_jwt_types.JwtTokenInvalid(token);
128
- }
129
- };
130
- //#endregion
131
- exports.decode = decode;
132
- exports.decodeHeader = decodeHeader;
133
- exports.isTokenHeader = isTokenHeader;
134
- exports.sign = sign;
135
- exports.verify = verify;
136
- exports.verifyWithJwks = verifyWithJwks;
@@ -1,124 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/jwt/types.ts
3
- /**
4
- * @module
5
- * Type definitions for JWT utilities.
6
- */
7
- var JwtAlgorithmNotImplemented = class extends Error {
8
- constructor(alg) {
9
- super(`${alg} is not an implemented algorithm`);
10
- this.name = "JwtAlgorithmNotImplemented";
11
- }
12
- };
13
- var JwtAlgorithmRequired = class extends Error {
14
- constructor() {
15
- super("JWT verification requires \"alg\" option to be specified");
16
- this.name = "JwtAlgorithmRequired";
17
- }
18
- };
19
- var JwtAlgorithmMismatch = class extends Error {
20
- constructor(expected, actual) {
21
- super(`JWT algorithm mismatch: expected "${expected}", got "${actual}"`);
22
- this.name = "JwtAlgorithmMismatch";
23
- }
24
- };
25
- var JwtTokenInvalid = class extends Error {
26
- constructor(token) {
27
- super(`invalid JWT token: ${token}`);
28
- this.name = "JwtTokenInvalid";
29
- }
30
- };
31
- var JwtTokenNotBefore = class extends Error {
32
- constructor(token) {
33
- super(`token (${token}) is being used before it's valid`);
34
- this.name = "JwtTokenNotBefore";
35
- }
36
- };
37
- var JwtTokenExpired = class extends Error {
38
- constructor(token) {
39
- super(`token (${token}) expired`);
40
- this.name = "JwtTokenExpired";
41
- }
42
- };
43
- var JwtTokenIssuedAt = class extends Error {
44
- constructor(currentTimestamp, iat) {
45
- super(`Invalid "iat" claim, must be a valid number lower than "${currentTimestamp}" (iat: "${iat}")`);
46
- this.name = "JwtTokenIssuedAt";
47
- }
48
- };
49
- var JwtTokenIssuer = class extends Error {
50
- constructor(expected, iss) {
51
- super(`expected issuer "${expected}", got ${iss ? `"${iss}"` : "none"} `);
52
- this.name = "JwtTokenIssuer";
53
- }
54
- };
55
- var JwtHeaderInvalid = class extends Error {
56
- constructor(header) {
57
- super(`jwt header is invalid: ${JSON.stringify(header)}`);
58
- this.name = "JwtHeaderInvalid";
59
- }
60
- };
61
- var JwtHeaderRequiresKid = class extends Error {
62
- constructor(header) {
63
- super(`required "kid" in jwt header: ${JSON.stringify(header)}`);
64
- this.name = "JwtHeaderRequiresKid";
65
- }
66
- };
67
- var JwtSymmetricAlgorithmNotAllowed = class extends Error {
68
- constructor(alg) {
69
- super(`symmetric algorithm "${alg}" is not allowed for JWK verification`);
70
- this.name = "JwtSymmetricAlgorithmNotAllowed";
71
- }
72
- };
73
- var JwtAlgorithmNotAllowed = class extends Error {
74
- constructor(alg, allowedAlgorithms) {
75
- super(`algorithm "${alg}" is not in the allowed list: [${allowedAlgorithms.join(", ")}]`);
76
- this.name = "JwtAlgorithmNotAllowed";
77
- }
78
- };
79
- var JwtTokenSignatureMismatched = class extends Error {
80
- constructor(token) {
81
- super(`token(${token}) signature mismatched`);
82
- this.name = "JwtTokenSignatureMismatched";
83
- }
84
- };
85
- var JwtPayloadRequiresAud = class extends Error {
86
- constructor(payload) {
87
- super(`required "aud" in jwt payload: ${JSON.stringify(payload)}`);
88
- this.name = "JwtPayloadRequiresAud";
89
- }
90
- };
91
- var JwtTokenAudience = class extends Error {
92
- constructor(expected, aud) {
93
- super(`expected audience "${Array.isArray(expected) ? expected.join(", ") : expected}", got "${aud}"`);
94
- this.name = "JwtTokenAudience";
95
- }
96
- };
97
- let CryptoKeyUsage = /* @__PURE__ */ function(CryptoKeyUsage) {
98
- CryptoKeyUsage["Encrypt"] = "encrypt";
99
- CryptoKeyUsage["Decrypt"] = "decrypt";
100
- CryptoKeyUsage["Sign"] = "sign";
101
- CryptoKeyUsage["Verify"] = "verify";
102
- CryptoKeyUsage["DeriveKey"] = "deriveKey";
103
- CryptoKeyUsage["DeriveBits"] = "deriveBits";
104
- CryptoKeyUsage["WrapKey"] = "wrapKey";
105
- CryptoKeyUsage["UnwrapKey"] = "unwrapKey";
106
- return CryptoKeyUsage;
107
- }({});
108
- //#endregion
109
- exports.CryptoKeyUsage = CryptoKeyUsage;
110
- exports.JwtAlgorithmMismatch = JwtAlgorithmMismatch;
111
- exports.JwtAlgorithmNotAllowed = JwtAlgorithmNotAllowed;
112
- exports.JwtAlgorithmNotImplemented = JwtAlgorithmNotImplemented;
113
- exports.JwtAlgorithmRequired = JwtAlgorithmRequired;
114
- exports.JwtHeaderInvalid = JwtHeaderInvalid;
115
- exports.JwtHeaderRequiresKid = JwtHeaderRequiresKid;
116
- exports.JwtPayloadRequiresAud = JwtPayloadRequiresAud;
117
- exports.JwtSymmetricAlgorithmNotAllowed = JwtSymmetricAlgorithmNotAllowed;
118
- exports.JwtTokenAudience = JwtTokenAudience;
119
- exports.JwtTokenExpired = JwtTokenExpired;
120
- exports.JwtTokenInvalid = JwtTokenInvalid;
121
- exports.JwtTokenIssuedAt = JwtTokenIssuedAt;
122
- exports.JwtTokenIssuer = JwtTokenIssuer;
123
- exports.JwtTokenNotBefore = JwtTokenNotBefore;
124
- exports.JwtTokenSignatureMismatched = JwtTokenSignatureMismatched;
@@ -1,11 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/jwt/utf8.ts
3
- /**
4
- * @module
5
- * Functions for encoding/decoding UTF8.
6
- */
7
- const utf8Encoder = new TextEncoder();
8
- const utf8Decoder = new TextDecoder();
9
- //#endregion
10
- exports.utf8Decoder = utf8Decoder;
11
- exports.utf8Encoder = utf8Encoder;
@@ -1,80 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/mime.ts
3
- /**
4
- * @module
5
- * MIME utility.
6
- */
7
- const getMimeType = (filename, mimes = baseMimes) => {
8
- const match = filename.match(/\.([a-zA-Z0-9]+?)$/);
9
- if (!match) return;
10
- return mimes[match[1].toLowerCase()];
11
- };
12
- const getExtension = (mimeType) => {
13
- const baseType = mimeType.split(";", 1)[0].trim();
14
- for (const ext in baseMimes) {
15
- const stored = baseMimes[ext];
16
- if (stored === mimeType || stored.split(";", 1)[0].trim() === baseType) return ext;
17
- }
18
- };
19
- const baseMimes = {
20
- aac: "audio/aac",
21
- avi: "video/x-msvideo",
22
- avif: "image/avif",
23
- av1: "video/av1",
24
- bin: "application/octet-stream",
25
- bmp: "image/bmp",
26
- css: "text/css; charset=utf-8",
27
- csv: "text/csv; charset=utf-8",
28
- eot: "application/vnd.ms-fontobject",
29
- epub: "application/epub+zip",
30
- gif: "image/gif",
31
- gz: "application/gzip",
32
- htm: "text/html; charset=utf-8",
33
- html: "text/html; charset=utf-8",
34
- ico: "image/x-icon",
35
- ics: "text/calendar; charset=utf-8",
36
- jpeg: "image/jpeg",
37
- jpg: "image/jpeg",
38
- js: "text/javascript; charset=utf-8",
39
- json: "application/json",
40
- jsonld: "application/ld+json",
41
- map: "application/json",
42
- mid: "audio/x-midi",
43
- midi: "audio/x-midi",
44
- mjs: "text/javascript; charset=utf-8",
45
- mp3: "audio/mpeg",
46
- mp4: "video/mp4",
47
- mpeg: "video/mpeg",
48
- oga: "audio/ogg",
49
- ogv: "video/ogg",
50
- ogx: "application/ogg",
51
- opus: "audio/opus",
52
- otf: "font/otf",
53
- pdf: "application/pdf",
54
- png: "image/png",
55
- rtf: "application/rtf",
56
- svg: "image/svg+xml; charset=utf-8",
57
- tif: "image/tiff",
58
- tiff: "image/tiff",
59
- ts: "video/mp2t",
60
- ttf: "font/ttf",
61
- txt: "text/plain; charset=utf-8",
62
- wasm: "application/wasm",
63
- webm: "video/webm",
64
- weba: "audio/webm",
65
- webmanifest: "application/manifest+json",
66
- webp: "image/webp",
67
- woff: "font/woff",
68
- woff2: "font/woff2",
69
- xhtml: "application/xhtml+xml; charset=utf-8",
70
- xml: "application/xml; charset=utf-8",
71
- zip: "application/zip",
72
- "3gp": "video/3gpp",
73
- "3g2": "video/3gpp2",
74
- gltf: "model/gltf+json",
75
- glb: "model/gltf-binary"
76
- };
77
- //#endregion
78
- exports.getExtension = getExtension;
79
- exports.getMimeType = getMimeType;
80
- exports.mimes = baseMimes;
@@ -1,89 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/stream.ts
3
- /**
4
- * @module
5
- * Stream utility.
6
- */
7
- var StreamingApi = class {
8
- writer;
9
- encoder;
10
- writable;
11
- abortSubscribers = [];
12
- responseReadable;
13
- /**
14
- * Whether the stream has been aborted.
15
- */
16
- aborted = false;
17
- /**
18
- * Whether the stream has been closed normally.
19
- */
20
- closed = false;
21
- constructor(writable, _readable) {
22
- this.writable = writable;
23
- this.writer = writable.getWriter();
24
- this.encoder = new TextEncoder();
25
- const reader = _readable.getReader();
26
- this.abortSubscribers.push(async () => {
27
- await reader.cancel();
28
- });
29
- this.responseReadable = new ReadableStream({
30
- async pull(controller) {
31
- const { done, value } = await reader.read();
32
- done ? controller.close() : controller.enqueue(value);
33
- },
34
- cancel: () => {
35
- if (!this.closed) this.abort();
36
- }
37
- });
38
- }
39
- async write(input) {
40
- try {
41
- if (typeof input === "string") input = this.encoder.encode(input);
42
- await this.writer.write(input);
43
- } catch {}
44
- return this;
45
- }
46
- async writeln(input) {
47
- await this.write(input + "\n");
48
- return this;
49
- }
50
- sleep(ms) {
51
- return new Promise((res) => setTimeout(res, ms));
52
- }
53
- async close() {
54
- this.closed = true;
55
- try {
56
- await this.writer.close();
57
- } catch {}
58
- }
59
- async pipe(body) {
60
- this.writer.releaseLock();
61
- try {
62
- await body.pipeTo(this.writable, {
63
- preventClose: true,
64
- preventAbort: true
65
- });
66
- } finally {
67
- this.writer = this.writable.getWriter();
68
- }
69
- }
70
- onAbort(listener) {
71
- this.abortSubscribers.push(listener);
72
- }
73
- /**
74
- * Abort the stream.
75
- * You can call this method when stream is aborted by external event.
76
- */
77
- abort() {
78
- if (!this.aborted) {
79
- this.aborted = true;
80
- this.abortSubscribers.forEach((subscriber) => {
81
- try {
82
- Promise.resolve(subscriber()).catch(() => {});
83
- } catch {}
84
- });
85
- }
86
- }
87
- };
88
- //#endregion
89
- exports.StreamingApi = StreamingApi;
File without changes
@@ -1,215 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/utils/url.ts
3
- const splitPath = (path) => {
4
- const paths = path.split("/");
5
- if (paths[0] === "") paths.shift();
6
- return paths;
7
- };
8
- const splitRoutingPath = (routePath) => {
9
- const { groups, path } = extractGroupsFromPath(routePath);
10
- const paths = splitPath(path);
11
- return replaceGroupMarks(paths, groups);
12
- };
13
- const extractGroupsFromPath = (path) => {
14
- const groups = [];
15
- path = path.replace(/\{[^}]+\}/g, (match, index) => {
16
- const mark = `@${index}`;
17
- groups.push([mark, match]);
18
- return mark;
19
- });
20
- return {
21
- groups,
22
- path
23
- };
24
- };
25
- const replaceGroupMarks = (paths, groups) => {
26
- for (let i = groups.length - 1; i >= 0; i--) {
27
- const [mark] = groups[i];
28
- for (let j = paths.length - 1; j >= 0; j--) if (paths[j].includes(mark)) {
29
- paths[j] = paths[j].replace(mark, groups[i][1]);
30
- break;
31
- }
32
- }
33
- return paths;
34
- };
35
- const patternCache = {};
36
- const getPattern = (label, next) => {
37
- if (label === "*") return "*";
38
- const match = label.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);
39
- if (match) {
40
- const cacheKey = `${label}#${next}`;
41
- if (!patternCache[cacheKey]) {
42
- if (match[2]) patternCache[cacheKey] = next && next[0] !== ":" && next[0] !== "*" ? [
43
- cacheKey,
44
- match[1],
45
- new RegExp(`^${match[2]}(?=/${next})`)
46
- ] : [
47
- label,
48
- match[1],
49
- new RegExp(`^${match[2]}$`)
50
- ];
51
- else patternCache[cacheKey] = [
52
- label,
53
- match[1],
54
- true
55
- ];
56
- }
57
- return patternCache[cacheKey];
58
- }
59
- return null;
60
- };
61
- const tryDecode = (str, decoder) => {
62
- try {
63
- return decoder(str);
64
- } catch {
65
- return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {
66
- try {
67
- return decoder(match);
68
- } catch {
69
- return match;
70
- }
71
- });
72
- }
73
- };
74
- /**
75
- * Try to apply decodeURI() to given string.
76
- * If it fails, skip invalid percent encoding or invalid UTF-8 sequences, and apply decodeURI() to the rest as much as possible.
77
- * @param str The string to decode.
78
- * @returns The decoded string that sometimes contains undecodable percent encoding.
79
- * @example
80
- * tryDecodeURI('Hello%20World') // 'Hello World'
81
- * tryDecodeURI('Hello%20World/%A4%A2') // 'Hello World/%A4%A2'
82
- */
83
- const tryDecodeURI = (str) => tryDecode(str, decodeURI);
84
- const getPath = (request) => {
85
- const url = request.url;
86
- const start = url.indexOf("/", url.indexOf(":") + 4);
87
- let i = start;
88
- for (; i < url.length; i++) {
89
- const charCode = url.charCodeAt(i);
90
- if (charCode === 37) {
91
- const queryIndex = url.indexOf("?", i);
92
- const hashIndex = url.indexOf("#", i);
93
- const end = queryIndex === -1 ? hashIndex === -1 ? void 0 : hashIndex : hashIndex === -1 ? queryIndex : Math.min(queryIndex, hashIndex);
94
- const path = url.slice(start, end);
95
- return tryDecodeURI(path.includes("%25") ? path.replace(/%25/g, "%2525") : path);
96
- } else if (charCode === 63 || charCode === 35) break;
97
- }
98
- return url.slice(start, i);
99
- };
100
- /**
101
- * @deprecated
102
- * Use the `URL` API instead.
103
- */
104
- const getQueryStrings = (url) => {
105
- const queryIndex = url.indexOf("?", 8);
106
- if (queryIndex === -1) return "";
107
- const hashIndex = url.indexOf("#", 8);
108
- return hashIndex === -1 ? url.slice(queryIndex) : queryIndex < hashIndex ? url.slice(queryIndex, hashIndex) : "";
109
- };
110
- const getPathNoStrict = (request) => {
111
- const result = getPath(request);
112
- return result.length > 1 && result.at(-1) === "/" ? result.slice(0, -1) : result;
113
- };
114
- /**
115
- * Merge paths.
116
- * @param {string[]} ...paths - The paths to merge.
117
- * @returns {string} The merged path.
118
- * @example
119
- * mergePath('/api', '/users') // '/api/users'
120
- * mergePath('/api/', '/users') // '/api/users'
121
- * mergePath('/api', '/') // '/api'
122
- * mergePath('/api/', '/') // '/api/'
123
- */
124
- const mergePath = (base, sub, ...rest) => {
125
- if (rest.length) sub = mergePath(sub, ...rest);
126
- return `${base?.[0] === "/" ? "" : "/"}${base}${sub === "/" ? "" : `${base?.at(-1) === "/" ? "" : "/"}${sub?.[0] === "/" ? sub.slice(1) : sub}`}`;
127
- };
128
- const checkOptionalParameter = (path) => {
129
- if (path.charCodeAt(path.length - 1) !== 63 || !path.includes(":")) return null;
130
- const segments = path.split("/");
131
- const results = [];
132
- let basePath = "";
133
- segments.forEach((segment) => {
134
- if (segment !== "" && !/\:/.test(segment)) basePath += "/" + segment;
135
- else if (/\:/.test(segment)) {
136
- if (segment.charCodeAt(segment.length - 1) === 63) {
137
- if (results.length === 0 && basePath === "") results.push("/");
138
- else results.push(basePath);
139
- const optionalSegment = segment.slice(0, -1);
140
- basePath += "/" + optionalSegment;
141
- results.push(basePath);
142
- } else basePath += "/" + segment;
143
- }
144
- });
145
- return results.filter((v, i, a) => a.indexOf(v) === i);
146
- };
147
- const tryDecodeURIComponent = (str) => str.indexOf("%") !== -1 ? tryDecode(str, decodeURIComponent_) : str;
148
- const _decodeURI = (value) => {
149
- if (value.indexOf("+") !== -1) value = value.replace(/\+/g, " ");
150
- return tryDecodeURIComponent(value);
151
- };
152
- const _getQueryParam = (url, key, multiple) => {
153
- const hashIndex = url.indexOf("#", 8);
154
- if (hashIndex !== -1) url = url.slice(0, hashIndex);
155
- let encoded;
156
- if (!multiple && key && key.indexOf("%") === -1 && key.indexOf("+") === -1) {
157
- let keyIndex = url.indexOf("?", 8);
158
- if (keyIndex === -1) return;
159
- if (!url.startsWith(key, keyIndex + 1)) keyIndex = url.indexOf(`&${key}`, keyIndex + 1);
160
- while (keyIndex !== -1) {
161
- const trailingKeyCode = url.charCodeAt(keyIndex + key.length + 1);
162
- if (trailingKeyCode === 61) {
163
- const valueIndex = keyIndex + key.length + 2;
164
- const endIndex = url.indexOf("&", valueIndex);
165
- return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));
166
- } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) return "";
167
- keyIndex = url.indexOf(`&${key}`, keyIndex + 1);
168
- }
169
- encoded = /[%+]/.test(url);
170
- if (!encoded) return;
171
- }
172
- const results = Object.create(null);
173
- encoded ??= /[%+]/.test(url);
174
- let keyIndex = url.indexOf("?", 8);
175
- while (keyIndex !== -1) {
176
- const nextKeyIndex = url.indexOf("&", keyIndex + 1);
177
- let valueIndex = url.indexOf("=", keyIndex);
178
- if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) valueIndex = -1;
179
- let name = url.slice(keyIndex + 1, valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex);
180
- if (encoded) name = _decodeURI(name);
181
- keyIndex = nextKeyIndex;
182
- if (name === "") continue;
183
- let value;
184
- if (valueIndex === -1) value = "";
185
- else {
186
- value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);
187
- if (encoded) value = _decodeURI(value);
188
- }
189
- if (multiple) {
190
- if (!(results[name] && Array.isArray(results[name]))) results[name] = [];
191
- results[name].push(value);
192
- } else results[name] ??= value;
193
- }
194
- return key ? results[key] : results;
195
- };
196
- const getQueryParam = _getQueryParam;
197
- const getQueryParams = (url, key) => {
198
- return _getQueryParam(url, key, true);
199
- };
200
- const decodeURIComponent_ = decodeURIComponent;
201
- //#endregion
202
- exports.checkOptionalParameter = checkOptionalParameter;
203
- exports.decodeURIComponent_ = decodeURIComponent_;
204
- exports.getPath = getPath;
205
- exports.getPathNoStrict = getPathNoStrict;
206
- exports.getPattern = getPattern;
207
- exports.getQueryParam = getQueryParam;
208
- exports.getQueryParams = getQueryParams;
209
- exports.getQueryStrings = getQueryStrings;
210
- exports.mergePath = mergePath;
211
- exports.splitPath = splitPath;
212
- exports.splitRoutingPath = splitRoutingPath;
213
- exports.tryDecode = tryDecode;
214
- exports.tryDecodeURI = tryDecodeURI;
215
- exports.tryDecodeURIComponent = tryDecodeURIComponent;
@@ -1,3 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_validator_validator = require("./validator.js");
3
- exports.validator = require_validator_validator.validator;
File without changes