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,97 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../../router.js");
3
- const require_router_reg_exp_router_matcher = require("./matcher.js");
4
- const require_router_reg_exp_router_router = require("./router.js");
5
- //#region src/router/reg-exp-router/prepared-router.ts
6
- var PreparedRegExpRouter = class {
7
- name = "PreparedRegExpRouter";
8
- #matchers;
9
- #relocateMap;
10
- constructor(matchers, relocateMap) {
11
- this.#matchers = matchers;
12
- this.#relocateMap = relocateMap;
13
- }
14
- #addWildcard(method, handlerData) {
15
- const matcher = this.#matchers[method];
16
- matcher[1].forEach((list) => list && list.push(handlerData));
17
- Object.values(matcher[2]).forEach((list) => list[0].push(handlerData));
18
- }
19
- #addPath(method, path, handler, indexes, map) {
20
- const matcher = this.#matchers[method];
21
- if (!map) matcher[2][path][0].push([handler, {}]);
22
- else indexes.forEach((index) => {
23
- if (typeof index === "number") matcher[1][index].push([handler, map]);
24
- else matcher[2][index || path][0].push([handler, map]);
25
- });
26
- }
27
- add(method, path, handler) {
28
- if (!this.#matchers[method]) {
29
- const all = this.#matchers["ALL"];
30
- const staticMap = {};
31
- for (const key in all[2]) staticMap[key] = [all[2][key][0].slice(), require_router_reg_exp_router_matcher.emptyParam];
32
- this.#matchers[method] = [
33
- all[0],
34
- all[1].map((list) => Array.isArray(list) ? list.slice() : 0),
35
- staticMap
36
- ];
37
- }
38
- if (path === "/*" || path === "*") {
39
- const handlerData = [handler, {}];
40
- if (method === "ALL") for (const m in this.#matchers) this.#addWildcard(m, handlerData);
41
- else this.#addWildcard(method, handlerData);
42
- return;
43
- }
44
- const data = this.#relocateMap[path];
45
- if (!data) throw new Error(`Path ${path} is not registered`);
46
- for (const [indexes, map] of data) if (method === "ALL") for (const m in this.#matchers) this.#addPath(m, path, handler, indexes, map);
47
- else this.#addPath(method, path, handler, indexes, map);
48
- }
49
- buildAllMatchers() {
50
- return this.#matchers;
51
- }
52
- match = require_router_reg_exp_router_matcher.match;
53
- };
54
- const buildInitParams = ({ paths }) => {
55
- const RegExpRouterWithMatcherExport = class extends require_router_reg_exp_router_router.RegExpRouter {
56
- buildAndExportAllMatchers() {
57
- return this.buildAllMatchers();
58
- }
59
- };
60
- const router = new RegExpRouterWithMatcherExport();
61
- for (const path of paths) router.add("ALL", path, path);
62
- const matchers = router.buildAndExportAllMatchers();
63
- const all = matchers["ALL"];
64
- const relocateMap = {};
65
- for (const path of paths) {
66
- if (path === "/*" || path === "*") continue;
67
- all[1].forEach((list, i) => {
68
- list.forEach(([p, map]) => {
69
- if (p === path) {
70
- if (relocateMap[path]) relocateMap[path][0][1] = {
71
- ...relocateMap[path][0][1],
72
- ...map
73
- };
74
- else relocateMap[path] = [[[], map]];
75
- if (relocateMap[path][0][0].findIndex((j) => j === i) === -1) relocateMap[path][0][0].push(i);
76
- }
77
- });
78
- });
79
- for (const path2 in all[2]) all[2][path2][0].forEach(([p]) => {
80
- if (p === path) {
81
- relocateMap[path] ||= [[[]]];
82
- const value = path2 === path ? "" : path2;
83
- if (relocateMap[path][0][0].findIndex((v) => v === value) === -1) relocateMap[path][0][0].push(value);
84
- }
85
- });
86
- }
87
- for (let i = 0, len = all[1].length; i < len; i++) all[1][i] = all[1][i] ? [] : 0;
88
- for (const path in all[2]) all[2][path][0] = [];
89
- return [matchers, relocateMap];
90
- };
91
- const serializeInitParams = ([matchers, relocateMap]) => {
92
- return `[${JSON.stringify(matchers, (_, value) => value instanceof RegExp ? `##${value.toString()}##` : value).replace(/"##(.+?)##"/g, (_, str) => str.replace(/\\\\/g, "\\"))},${JSON.stringify(relocateMap)}]`;
93
- };
94
- //#endregion
95
- exports.PreparedRegExpRouter = PreparedRegExpRouter;
96
- exports.buildInitParams = buildInitParams;
97
- exports.serializeInitParams = serializeInitParams;
@@ -1,102 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_url = require("../../utils/url.js");
3
- const require_router = require("../../router.js");
4
- const require_router_utils = require("../utils.js");
5
- const require_router_reg_exp_router_matcher = require("./matcher.js");
6
- const require_router_reg_exp_router_node = require("./node.js");
7
- const require_router_reg_exp_router_trie = require("./trie.js");
8
- //#region src/router/reg-exp-router/router.ts
9
- let wildcardRegExpCache = require_router_utils.createNullObject();
10
- function buildWildcardRegExp(path) {
11
- return wildcardRegExpCache[path] ??= new RegExp(`^${path.replace(/\/:[^/{}]+(?:\{\[\^\/]\+})?(?=[/{]|$)|\/?\*$|([.\\+*[^\]$()?{}|])/g, (match, metaChar) => metaChar ? `\\${metaChar}` : match === "/*" ? require_router_reg_exp_router_node.TAIL_WILDCARD_REG_EXP_STR : match === "*" ? ".*" : `/:${require_router_reg_exp_router_node.LABEL_REG_EXP_STR}`)}$`);
12
- }
13
- function findMiddleware(middleware, path) {
14
- for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) if (buildWildcardRegExp(k).test(path)) return [...middleware[k]];
15
- }
16
- var RegExpRouter = class {
17
- name = "RegExpRouter";
18
- #middleware;
19
- #routes;
20
- #tries;
21
- constructor() {
22
- this.#middleware = { ["ALL"]: require_router_utils.createNullObject() };
23
- this.#routes = { ["ALL"]: require_router_utils.createNullObject() };
24
- this.#tries = { ["ALL"]: new require_router_reg_exp_router_trie.Trie() };
25
- }
26
- #insertPath(method, path) {
27
- try {
28
- this.#tries[method].insert(path, !/\*|\/:/.test(path));
29
- } catch (e) {
30
- throw e === require_router_reg_exp_router_node.PATH_ERROR ? new require_router.UnsupportedPathError(path) : e;
31
- }
32
- }
33
- add(method, path, handler) {
34
- const middleware = this.#middleware;
35
- const routes = this.#routes;
36
- if (!middleware) throw new Error(require_router.MESSAGE_MATCHER_IS_ALREADY_BUILT);
37
- if (!middleware[method]) {
38
- this.#tries[method] = new require_router_reg_exp_router_trie.Trie();
39
- for (const handlerMap of [middleware, routes]) {
40
- handlerMap[method] = require_router_utils.createNullObject();
41
- for (const p in handlerMap["ALL"]) {
42
- handlerMap[method][p] = [...handlerMap["ALL"][p]];
43
- this.#insertPath(method, p);
44
- }
45
- }
46
- }
47
- if (path === "/*") path = "*";
48
- const methods = method === "ALL" ? Object.keys(middleware) : [method];
49
- if (/\*$/.test(path)) {
50
- const re = buildWildcardRegExp(path);
51
- for (const m of methods) if (!middleware[m][path]) {
52
- this.#insertPath(m, path);
53
- middleware[m][path] = findMiddleware(middleware[m], path) || findMiddleware(middleware["ALL"], path) || [];
54
- }
55
- for (const handlerMap of [middleware, routes]) for (const m of methods) for (const p in handlerMap[m]) re.test(p) && handlerMap[m][p].push([handler, path]);
56
- return;
57
- }
58
- const paths = require_utils_url.checkOptionalParameter(path) || [path];
59
- for (const path of paths) for (const m of methods) {
60
- if (!routes[m][path]) {
61
- this.#insertPath(m, path);
62
- routes[m][path] = findMiddleware(middleware[m], path) || findMiddleware(middleware["ALL"], path) || [];
63
- }
64
- routes[m][path].push([handler, path]);
65
- }
66
- }
67
- match = require_router_reg_exp_router_matcher.match;
68
- buildAllMatchers() {
69
- const matchers = require_router_utils.createNullObject();
70
- for (const method of Object.keys(this.#routes)) matchers[method] = this.#buildMatcher(method);
71
- this.#middleware = this.#routes = this.#tries = void 0;
72
- wildcardRegExpCache = require_router_utils.createNullObject();
73
- return matchers;
74
- }
75
- #buildMatcher(method) {
76
- const middleware = this.#middleware[method];
77
- const routes = this.#routes[method];
78
- const trie = this.#tries[method];
79
- const staticMap = require_router_utils.createNullObject();
80
- const handlerData = [];
81
- const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();
82
- for (const r of [middleware, routes]) for (const path in r) {
83
- const handlers = r[path];
84
- const pathData = trie.paths[path];
85
- if (!pathData) {
86
- staticMap[path] = [handlers.map(([h]) => [h, require_router_utils.createNullObject()]), require_router_reg_exp_router_matcher.emptyParam];
87
- continue;
88
- }
89
- handlerData[pathData[0]] = handlers.map(([h, handlerPath]) => [h, trie.paths[handlerPath][1].reduceRight((map, [key], i) => {
90
- map[key] = paramReplacementMap[pathData[1][i][1]];
91
- return map;
92
- }, require_router_utils.createNullObject())]);
93
- }
94
- return [
95
- regexp,
96
- indexReplacementMap.map((i) => handlerData[i]),
97
- staticMap
98
- ];
99
- }
100
- };
101
- //#endregion
102
- exports.RegExpRouter = RegExpRouter;
@@ -1,74 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_router_utils = require("../utils.js");
3
- const require_router_reg_exp_router_node = require("./node.js");
4
- //#region src/router/reg-exp-router/trie.ts
5
- var Trie = class {
6
- #context = { varIndex: 0 };
7
- #root = new require_router_reg_exp_router_node.Node();
8
- #index = 0;
9
- paths = require_router_utils.createNullObject();
10
- insert(path, isStatic) {
11
- if (isStatic) {
12
- this.#root.insert(path.split(""), 0, [], this.#context, true);
13
- return;
14
- }
15
- const paramAssoc = [];
16
- const groups = [];
17
- let markedPath = path;
18
- for (let i = 0;;) {
19
- let replaced = false;
20
- markedPath = markedPath.replace(/\{[^}]+\}/g, (m) => {
21
- const mark = `@\\${i}`;
22
- groups[i] = [mark, m];
23
- i++;
24
- replaced = true;
25
- return mark;
26
- });
27
- if (!replaced) break;
28
- }
29
- /**
30
- * - pattern (:label, :label{0-9]+}, ...)
31
- * - /* wildcard
32
- * - character
33
- */
34
- const tokens = markedPath.match(/(?::[^\/]+)|(?:\/\*$)|./g) || [];
35
- for (let i = groups.length - 1; i >= 0; i--) {
36
- const [mark] = groups[i];
37
- for (let j = tokens.length - 1; j >= 0; j--) if (tokens[j].indexOf(mark) !== -1) {
38
- tokens[j] = tokens[j].replace(mark, groups[i][1]);
39
- break;
40
- }
41
- }
42
- this.#root.insert(tokens, this.#index, paramAssoc, this.#context, false);
43
- this.paths[path] = [this.#index++, paramAssoc];
44
- }
45
- buildRegExp() {
46
- let regexp = this.#root.buildRegExpStr();
47
- if (regexp === "") return [
48
- /^$/,
49
- [],
50
- []
51
- ];
52
- let captureIndex = 0;
53
- const indexReplacementMap = [];
54
- const paramReplacementMap = [];
55
- regexp = regexp.replace(/#(\d+)|@(\d+)|\.\*\$/g, (_, handlerIndex, paramIndex) => {
56
- if (handlerIndex !== void 0) {
57
- indexReplacementMap[++captureIndex] = Number(handlerIndex);
58
- return "$()";
59
- }
60
- if (paramIndex !== void 0) {
61
- paramReplacementMap[Number(paramIndex)] = ++captureIndex;
62
- return "";
63
- }
64
- return "";
65
- });
66
- return [
67
- new RegExp(`^${regexp}`),
68
- indexReplacementMap,
69
- paramReplacementMap
70
- ];
71
- }
72
- };
73
- //#endregion
74
- exports.Trie = Trie;
@@ -1,3 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_router_smart_router_router = require("./router.js");
3
- exports.SmartRouter = require_router_smart_router_router.SmartRouter;
@@ -1,50 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_router = require("../../router.js");
3
- //#region src/router/smart-router/router.ts
4
- var SmartRouter = class {
5
- name = "SmartRouter";
6
- #routers = [];
7
- #routes = [];
8
- constructor(init) {
9
- this.#routers = init.routers;
10
- }
11
- add(method, path, handler) {
12
- if (!this.#routes) throw new Error(require_router.MESSAGE_MATCHER_IS_ALREADY_BUILT);
13
- this.#routes.push([
14
- method,
15
- path,
16
- handler
17
- ]);
18
- }
19
- match(method, path) {
20
- if (!this.#routes) throw new Error("Fatal error");
21
- const routers = this.#routers;
22
- const routes = this.#routes;
23
- const len = routers.length;
24
- let i = 0;
25
- let res;
26
- for (; i < len; i++) {
27
- const router = routers[i];
28
- try {
29
- for (let i = 0, len = routes.length; i < len; i++) router.add(...routes[i]);
30
- res = router.match(method, path);
31
- } catch (e) {
32
- if (e instanceof require_router.UnsupportedPathError) continue;
33
- throw e;
34
- }
35
- this.match = router.match.bind(router);
36
- this.#routers = [router];
37
- this.#routes = void 0;
38
- break;
39
- }
40
- if (i === len) throw new Error("Fatal error");
41
- this.name = `SmartRouter + ${this.activeRouter.name}`;
42
- return res;
43
- }
44
- get activeRouter() {
45
- if (this.#routes || this.#routers.length !== 1) throw new Error("No active router has been determined yet.");
46
- return this.#routers[0];
47
- }
48
- };
49
- //#endregion
50
- exports.SmartRouter = SmartRouter;
@@ -1,3 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_router_trie_router_router = require("./router.js");
3
- exports.TrieRouter = require_router_trie_router_router.TrieRouter;
@@ -1,135 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_url = require("../../utils/url.js");
3
- require("../../router.js");
4
- const require_router_utils = require("../utils.js");
5
- //#region src/router/trie-router/node.ts
6
- const emptyParams = require_router_utils.createNullObject();
7
- let order = 0;
8
- var Node = class Node {
9
- #methods = [];
10
- #children = require_router_utils.createNullObject();
11
- #patterns = [];
12
- #pattern;
13
- #params = emptyParams;
14
- insert(method, path, handler) {
15
- let curNode = this;
16
- const parts = require_utils_url.splitRoutingPath(path);
17
- const possibleKeys = /* @__PURE__ */ new Set();
18
- let i = 0;
19
- for (const p of parts) {
20
- const nextP = parts[++i];
21
- const pattern = require_utils_url.getPattern(p, nextP) || (nextP === void 0 && p && p.indexOf("*") === p.length - 1 ? p : null);
22
- const isParam = Array.isArray(pattern);
23
- const key = isParam ? pattern[0] : pattern || p;
24
- const child = curNode.#children[key] ||= new Node();
25
- if (pattern && !child.#pattern) {
26
- child.#pattern = pattern;
27
- curNode.#patterns.push(child);
28
- }
29
- curNode = child;
30
- if (isParam) possibleKeys.add(pattern[1]);
31
- }
32
- curNode.#methods.push({ [method]: {
33
- handler,
34
- possibleKeys: [...possibleKeys],
35
- score: ++order
36
- } });
37
- }
38
- #pushHandlerSets(handlerSets, node, method, nodeParams, params) {
39
- for (let i = 0, len = node.#methods.length; i < len; i++) {
40
- const m = node.#methods[i];
41
- const handlerSet = m[method] || m["ALL"];
42
- if (handlerSet) {
43
- handlerSet.params = require_router_utils.createNullObject();
44
- handlerSets.push(handlerSet);
45
- for (let i = 0, len = handlerSet.possibleKeys.length; i < len; i++) {
46
- const key = handlerSet.possibleKeys[i];
47
- handlerSet.params[key] = params?.[key] && !i ? params[key] : nodeParams[key] ?? params?.[key];
48
- }
49
- }
50
- }
51
- }
52
- search(method, path) {
53
- const handlerSets = [];
54
- this.#params = emptyParams;
55
- let curNodes = [this];
56
- const parts = require_utils_url.splitPath(path);
57
- const curNodesQueue = [];
58
- const len = parts.length;
59
- let partOffsets = null;
60
- for (let i = 0; i < len; i++) {
61
- const part = parts[i];
62
- const isLast = i === len - 1;
63
- const tempNodes = [];
64
- for (let j = 0, len2 = curNodes.length; j < len2; j++) {
65
- const node = curNodes[j];
66
- const nextNode = node.#children[part];
67
- if (nextNode) {
68
- nextNode.#params = node.#params;
69
- if (isLast) {
70
- if (nextNode.#children["*"]) this.#pushHandlerSets(handlerSets, nextNode.#children["*"], method, node.#params);
71
- this.#pushHandlerSets(handlerSets, nextNode, method, node.#params);
72
- } else tempNodes.push(nextNode);
73
- }
74
- for (const child of node.#patterns) {
75
- const pattern = child.#pattern;
76
- const params = node.#params === emptyParams ? {} : { ...node.#params };
77
- if (typeof pattern === "string") {
78
- if (pattern === "*" || part.startsWith(pattern.slice(0, -1))) {
79
- this.#pushHandlerSets(handlerSets, child, method, node.#params);
80
- if (pattern === "*") {
81
- child.#params = params;
82
- tempNodes.push(child);
83
- }
84
- }
85
- continue;
86
- }
87
- const [, name, matcher] = pattern;
88
- if (!part && matcher === true) continue;
89
- if (matcher !== true) {
90
- if (!partOffsets) {
91
- partOffsets = [];
92
- let offset = path[0] === "/" ? 1 : 0;
93
- for (let p = 0; p < len; p++) {
94
- partOffsets[p] = offset;
95
- offset += parts[p].length + 1;
96
- }
97
- }
98
- const restPathString = path.slice(partOffsets[i]);
99
- const m = matcher.exec(restPathString);
100
- if (m) {
101
- params[name] = m[0];
102
- this.#pushHandlerSets(handlerSets, child, method, node.#params, params);
103
- if (m[0].length === restPathString.length && child.#children["*"]) this.#pushHandlerSets(handlerSets, child.#children["*"], method, node.#params, params);
104
- for (const _ in child.#children) {
105
- child.#params = params;
106
- const componentCount = m[0].match(/\//g)?.length ?? 0;
107
- (curNodesQueue[componentCount] ||= []).push(child);
108
- break;
109
- }
110
- continue;
111
- }
112
- }
113
- if (matcher === true || matcher.test(part)) {
114
- params[name] = part;
115
- if (isLast) {
116
- this.#pushHandlerSets(handlerSets, child, method, params, node.#params);
117
- if (child.#children["*"]) this.#pushHandlerSets(handlerSets, child.#children["*"], method, params, node.#params);
118
- } else {
119
- child.#params = params;
120
- tempNodes.push(child);
121
- }
122
- }
123
- }
124
- }
125
- const shifted = curNodesQueue.shift();
126
- curNodes = shifted ? tempNodes.concat(shifted) : tempNodes;
127
- }
128
- if (handlerSets[1]) handlerSets.sort((a, b) => {
129
- return a.score - b.score;
130
- });
131
- return [handlerSets.map(({ handler, params }) => [handler, params])];
132
- }
133
- };
134
- //#endregion
135
- exports.Node = Node;
@@ -1,16 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_url = require("../../utils/url.js");
3
- const require_router_trie_router_node = require("./node.js");
4
- //#region src/router/trie-router/router.ts
5
- var TrieRouter = class {
6
- name = "TrieRouter";
7
- #node = new require_router_trie_router_node.Node();
8
- add(method, path, handler) {
9
- for (const result of require_utils_url.checkOptionalParameter(path) || [path]) this.#node.insert(method, result, handler);
10
- }
11
- match(method, path) {
12
- return this.#node.search(method, path);
13
- }
14
- };
15
- //#endregion
16
- exports.TrieRouter = TrieRouter;
@@ -1,5 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/router/utils.ts
3
- const createNullObject = () => Object.create(null);
4
- //#endregion
5
- exports.createNullObject = createNullObject;
@@ -1,40 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/router.ts
3
- /**
4
- * @module
5
- * This module provides types definitions and variables for the routers.
6
- */
7
- /**
8
- * Constant representing all HTTP methods in uppercase.
9
- */
10
- const METHOD_NAME_ALL = "ALL";
11
- /**
12
- * Constant representing all HTTP methods in lowercase.
13
- */
14
- const METHOD_NAME_ALL_LOWERCASE = "all";
15
- /**
16
- * Array of supported HTTP methods.
17
- */
18
- const METHODS = [
19
- "get",
20
- "post",
21
- "put",
22
- "delete",
23
- "options",
24
- "patch",
25
- "query"
26
- ];
27
- /**
28
- * Error message indicating that a route cannot be added because the matcher is already built.
29
- */
30
- const MESSAGE_MATCHER_IS_ALREADY_BUILT = "Can not add a route since the matcher is already built.";
31
- /**
32
- * Error class representing an unsupported path error.
33
- */
34
- var UnsupportedPathError = class extends Error {};
35
- //#endregion
36
- exports.MESSAGE_MATCHER_IS_ALREADY_BUILT = MESSAGE_MATCHER_IS_ALREADY_BUILT;
37
- exports.METHODS = METHODS;
38
- exports.METHOD_NAME_ALL = METHOD_NAME_ALL;
39
- exports.METHOD_NAME_ALL_LOWERCASE = METHOD_NAME_ALL_LOWERCASE;
40
- exports.UnsupportedPathError = UnsupportedPathError;
package/dist/cjs/types.js DELETED
@@ -1,5 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/types.ts
3
- var FetchEventLike = class {};
4
- //#endregion
5
- exports.FetchEventLike = FetchEventLike;