@morojs/moro 1.6.2 → 1.6.4

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 (366) hide show
  1. package/dist/core/http/http-server.js +12 -9
  2. package/dist/core/http/http-server.js.map +1 -1
  3. package/dist/core/http/uws-http-server.js +1 -1
  4. package/dist/core/http/uws-http-server.js.map +1 -1
  5. package/dist/core/middleware/built-in/auth/core.d.ts +78 -0
  6. package/dist/core/middleware/built-in/auth/core.js +358 -0
  7. package/dist/core/middleware/built-in/auth/core.js.map +1 -0
  8. package/dist/core/middleware/built-in/{auth-helpers.js → auth/helpers.js} +1 -1
  9. package/dist/core/middleware/built-in/auth/helpers.js.map +1 -0
  10. package/dist/core/middleware/built-in/auth/hook.d.ts +30 -0
  11. package/dist/core/middleware/built-in/auth/hook.js +99 -0
  12. package/dist/core/middleware/built-in/auth/hook.js.map +1 -0
  13. package/dist/core/middleware/built-in/auth/index.d.ts +7 -0
  14. package/dist/core/middleware/built-in/auth/index.js +15 -0
  15. package/dist/core/middleware/built-in/auth/index.js.map +1 -0
  16. package/dist/core/middleware/built-in/{jwt-helpers.js → auth/jwt-helpers.js} +1 -1
  17. package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -0
  18. package/dist/core/middleware/built-in/auth/middleware.d.ts +23 -0
  19. package/dist/core/middleware/built-in/auth/middleware.js +71 -0
  20. package/dist/core/middleware/built-in/auth/middleware.js.map +1 -0
  21. package/dist/core/middleware/built-in/{auth-providers.d.ts → auth/providers.d.ts} +1 -1
  22. package/dist/core/middleware/built-in/{auth-providers.js → auth/providers.js} +1 -1
  23. package/dist/core/middleware/built-in/auth/providers.js.map +1 -0
  24. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.d.ts +1 -1
  25. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.js +1 -1
  26. package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -0
  27. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/index.d.ts +1 -1
  28. package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -0
  29. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.d.ts +1 -1
  30. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.js +1 -1
  31. package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -0
  32. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.d.ts +1 -1
  33. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.js +2 -2
  34. package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -0
  35. package/dist/core/middleware/built-in/{adapters → cache/adapters}/index.d.ts +0 -2
  36. package/{src/core/middleware/built-in/adapters/index.ts → dist/core/middleware/built-in/cache/adapters/index.js} +1 -3
  37. package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -0
  38. package/dist/core/middleware/built-in/cache/core.d.ts +37 -0
  39. package/dist/core/middleware/built-in/cache/core.js +87 -0
  40. package/dist/core/middleware/built-in/cache/core.js.map +1 -0
  41. package/dist/core/middleware/built-in/cache/hook.d.ts +20 -0
  42. package/dist/core/middleware/built-in/{cache.js → cache/hook.js} +22 -5
  43. package/dist/core/middleware/built-in/cache/hook.js.map +1 -0
  44. package/dist/core/middleware/built-in/cache/index.d.ts +3 -0
  45. package/dist/core/middleware/built-in/cache/index.js +9 -0
  46. package/dist/core/middleware/built-in/cache/index.js.map +1 -0
  47. package/dist/core/middleware/built-in/cache/middleware.d.ts +17 -0
  48. package/dist/core/middleware/built-in/cache/middleware.js +44 -0
  49. package/dist/core/middleware/built-in/cache/middleware.js.map +1 -0
  50. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.d.ts +1 -1
  51. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.js +1 -1
  52. package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -0
  53. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.d.ts +1 -1
  54. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.js +1 -1
  55. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -0
  56. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.d.ts +1 -1
  57. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.js +2 -2
  58. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -0
  59. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/index.d.ts +1 -1
  60. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -0
  61. package/dist/core/middleware/built-in/cdn/adapters/index.d.ts +2 -0
  62. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/index.js +0 -2
  63. package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -0
  64. package/dist/core/middleware/built-in/cdn/core.d.ts +43 -0
  65. package/dist/core/middleware/built-in/cdn/core.js +144 -0
  66. package/dist/core/middleware/built-in/cdn/core.js.map +1 -0
  67. package/dist/core/middleware/built-in/cdn/hook.d.ts +22 -0
  68. package/dist/core/middleware/built-in/cdn/hook.js +70 -0
  69. package/dist/core/middleware/built-in/cdn/hook.js.map +1 -0
  70. package/dist/core/middleware/built-in/cdn/index.d.ts +5 -0
  71. package/dist/core/middleware/built-in/cdn/index.js +11 -0
  72. package/dist/core/middleware/built-in/cdn/index.js.map +1 -0
  73. package/dist/core/middleware/built-in/cdn/middleware.d.ts +21 -0
  74. package/dist/core/middleware/built-in/cdn/middleware.js +52 -0
  75. package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -0
  76. package/dist/core/middleware/built-in/cookie/core.d.ts +37 -0
  77. package/dist/core/middleware/built-in/cookie/core.js +83 -0
  78. package/dist/core/middleware/built-in/cookie/core.js.map +1 -0
  79. package/dist/core/middleware/built-in/cookie/hook.d.ts +20 -0
  80. package/dist/core/middleware/built-in/cookie/hook.js +47 -0
  81. package/dist/core/middleware/built-in/cookie/hook.js.map +1 -0
  82. package/dist/core/middleware/built-in/cookie/index.d.ts +3 -0
  83. package/dist/core/middleware/built-in/cookie/index.js +9 -0
  84. package/dist/core/middleware/built-in/cookie/index.js.map +1 -0
  85. package/dist/core/middleware/built-in/cookie/middleware.d.ts +17 -0
  86. package/dist/core/middleware/built-in/cookie/middleware.js +36 -0
  87. package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -0
  88. package/dist/core/middleware/built-in/cors/core.d.ts +23 -0
  89. package/dist/core/middleware/built-in/cors/core.js +51 -0
  90. package/dist/core/middleware/built-in/cors/core.js.map +1 -0
  91. package/dist/core/middleware/built-in/cors/hook.d.ts +17 -0
  92. package/dist/core/middleware/built-in/cors/hook.js +37 -0
  93. package/dist/core/middleware/built-in/cors/hook.js.map +1 -0
  94. package/dist/core/middleware/built-in/cors/index.d.ts +3 -0
  95. package/dist/core/middleware/built-in/cors/index.js +9 -0
  96. package/dist/core/middleware/built-in/cors/index.js.map +1 -0
  97. package/dist/core/middleware/built-in/cors/middleware.d.ts +16 -0
  98. package/dist/core/middleware/built-in/cors/middleware.js +22 -0
  99. package/dist/core/middleware/built-in/cors/middleware.js.map +1 -0
  100. package/dist/core/middleware/built-in/csp/core.d.ts +45 -0
  101. package/dist/core/middleware/built-in/csp/core.js +88 -0
  102. package/dist/core/middleware/built-in/csp/core.js.map +1 -0
  103. package/dist/core/middleware/built-in/csp/hook.d.ts +22 -0
  104. package/dist/core/middleware/built-in/csp/hook.js +47 -0
  105. package/dist/core/middleware/built-in/csp/hook.js.map +1 -0
  106. package/dist/core/middleware/built-in/csp/index.d.ts +3 -0
  107. package/dist/core/middleware/built-in/csp/index.js +9 -0
  108. package/dist/core/middleware/built-in/csp/index.js.map +1 -0
  109. package/dist/core/middleware/built-in/csp/middleware.d.ts +19 -0
  110. package/dist/core/middleware/built-in/csp/middleware.js +29 -0
  111. package/dist/core/middleware/built-in/csp/middleware.js.map +1 -0
  112. package/dist/core/middleware/built-in/csrf/core.d.ts +28 -0
  113. package/dist/core/middleware/built-in/csrf/core.js +69 -0
  114. package/dist/core/middleware/built-in/csrf/core.js.map +1 -0
  115. package/dist/core/middleware/built-in/csrf/hook.d.ts +17 -0
  116. package/dist/core/middleware/built-in/csrf/hook.js +45 -0
  117. package/dist/core/middleware/built-in/csrf/hook.js.map +1 -0
  118. package/dist/core/middleware/built-in/csrf/index.d.ts +3 -0
  119. package/dist/core/middleware/built-in/csrf/index.js +9 -0
  120. package/dist/core/middleware/built-in/csrf/index.js.map +1 -0
  121. package/dist/core/middleware/built-in/csrf/middleware.d.ts +16 -0
  122. package/dist/core/middleware/built-in/csrf/middleware.js +34 -0
  123. package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -0
  124. package/dist/core/middleware/built-in/error-tracker/index.d.ts +1 -0
  125. package/dist/core/middleware/built-in/error-tracker/index.js +4 -0
  126. package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -0
  127. package/dist/core/middleware/built-in/error-tracker/middleware.d.ts +12 -0
  128. package/dist/core/middleware/built-in/{error-tracker.js → error-tracker/middleware.js} +14 -3
  129. package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -0
  130. package/dist/core/middleware/built-in/index.d.ts +25 -59
  131. package/dist/core/middleware/built-in/index.js +31 -31
  132. package/dist/core/middleware/built-in/index.js.map +1 -1
  133. package/dist/core/middleware/built-in/performance-monitor/index.d.ts +1 -0
  134. package/dist/core/middleware/built-in/performance-monitor/index.js +4 -0
  135. package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -0
  136. package/dist/core/middleware/built-in/performance-monitor/middleware.d.ts +12 -0
  137. package/dist/core/middleware/built-in/{performance-monitor.js → performance-monitor/middleware.js} +14 -3
  138. package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -0
  139. package/dist/core/middleware/built-in/rate-limit/core.d.ts +33 -0
  140. package/dist/core/middleware/built-in/rate-limit/core.js +86 -0
  141. package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -0
  142. package/dist/core/middleware/built-in/rate-limit/hook.d.ts +20 -0
  143. package/dist/core/middleware/built-in/{rate-limit.js → rate-limit/hook.js} +22 -16
  144. package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -0
  145. package/dist/core/middleware/built-in/rate-limit/index.d.ts +3 -0
  146. package/dist/core/middleware/built-in/rate-limit/index.js +9 -0
  147. package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -0
  148. package/dist/core/middleware/built-in/rate-limit/middleware.d.ts +16 -0
  149. package/dist/core/middleware/built-in/rate-limit/middleware.js +35 -0
  150. package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -0
  151. package/dist/core/middleware/built-in/request-logger/index.d.ts +1 -0
  152. package/dist/core/middleware/built-in/request-logger/index.js +4 -0
  153. package/dist/core/middleware/built-in/request-logger/index.js.map +1 -0
  154. package/dist/core/middleware/built-in/request-logger/middleware.d.ts +12 -0
  155. package/dist/core/middleware/built-in/{request-logger.js → request-logger/middleware.js} +14 -3
  156. package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -0
  157. package/dist/core/middleware/built-in/session/core.d.ts +73 -0
  158. package/dist/core/middleware/built-in/session/core.js +227 -0
  159. package/dist/core/middleware/built-in/session/core.js.map +1 -0
  160. package/dist/core/middleware/built-in/session/hook.d.ts +17 -0
  161. package/dist/core/middleware/built-in/session/hook.js +53 -0
  162. package/dist/core/middleware/built-in/session/hook.js.map +1 -0
  163. package/dist/core/middleware/built-in/session/index.d.ts +3 -0
  164. package/dist/core/middleware/built-in/session/index.js +9 -0
  165. package/dist/core/middleware/built-in/session/index.js.map +1 -0
  166. package/dist/core/middleware/built-in/session/middleware.d.ts +17 -0
  167. package/dist/core/middleware/built-in/session/middleware.js +38 -0
  168. package/dist/core/middleware/built-in/session/middleware.js.map +1 -0
  169. package/dist/core/middleware/built-in/sse/core.d.ts +44 -0
  170. package/dist/core/middleware/built-in/sse/core.js +117 -0
  171. package/dist/core/middleware/built-in/sse/core.js.map +1 -0
  172. package/dist/core/middleware/built-in/sse/hook.d.ts +18 -0
  173. package/dist/core/middleware/built-in/sse/hook.js +60 -0
  174. package/dist/core/middleware/built-in/sse/hook.js.map +1 -0
  175. package/dist/core/middleware/built-in/sse/index.d.ts +3 -0
  176. package/dist/core/middleware/built-in/sse/index.js +9 -0
  177. package/dist/core/middleware/built-in/sse/index.js.map +1 -0
  178. package/dist/core/middleware/built-in/sse/middleware.d.ts +18 -0
  179. package/dist/core/middleware/built-in/sse/middleware.js +43 -0
  180. package/dist/core/middleware/built-in/sse/middleware.js.map +1 -0
  181. package/dist/core/middleware/built-in/validation/core.d.ts +23 -0
  182. package/dist/core/middleware/built-in/validation/core.js +93 -0
  183. package/dist/core/middleware/built-in/validation/core.js.map +1 -0
  184. package/dist/core/middleware/built-in/validation/hook.d.ts +13 -0
  185. package/dist/core/middleware/built-in/{validation.js → validation/hook.js} +14 -3
  186. package/dist/core/middleware/built-in/validation/hook.js.map +1 -0
  187. package/dist/core/middleware/built-in/validation/index.d.ts +3 -0
  188. package/dist/core/middleware/built-in/validation/index.js +9 -0
  189. package/dist/core/middleware/built-in/validation/index.js.map +1 -0
  190. package/dist/core/middleware/built-in/validation/middleware.d.ts +16 -0
  191. package/dist/core/middleware/built-in/validation/middleware.js +27 -0
  192. package/dist/core/middleware/built-in/validation/middleware.js.map +1 -0
  193. package/dist/core/middleware/index.js +6 -0
  194. package/dist/core/middleware/index.js.map +1 -1
  195. package/dist/core/routing/unified-router.d.ts +4 -20
  196. package/dist/core/routing/unified-router.js +61 -106
  197. package/dist/core/routing/unified-router.js.map +1 -1
  198. package/dist/index.d.ts +3 -2
  199. package/dist/index.js +3 -2
  200. package/dist/index.js.map +1 -1
  201. package/dist/moro.js +12 -18
  202. package/dist/moro.js.map +1 -1
  203. package/dist/types/hooks.d.ts +3 -0
  204. package/package.json +2 -6
  205. package/dist/core/middleware/built-in/adapters/cache/file.js.map +0 -1
  206. package/dist/core/middleware/built-in/adapters/cache/index.js.map +0 -1
  207. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +0 -1
  208. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +0 -1
  209. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +0 -1
  210. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +0 -1
  211. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +0 -1
  212. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +0 -1
  213. package/dist/core/middleware/built-in/adapters/index.js.map +0 -1
  214. package/dist/core/middleware/built-in/auth-helpers.js.map +0 -1
  215. package/dist/core/middleware/built-in/auth-providers.js.map +0 -1
  216. package/dist/core/middleware/built-in/auth.d.ts +0 -30
  217. package/dist/core/middleware/built-in/auth.js +0 -348
  218. package/dist/core/middleware/built-in/auth.js.map +0 -1
  219. package/dist/core/middleware/built-in/cache.d.ts +0 -3
  220. package/dist/core/middleware/built-in/cache.js.map +0 -1
  221. package/dist/core/middleware/built-in/cdn.d.ts +0 -3
  222. package/dist/core/middleware/built-in/cdn.js +0 -109
  223. package/dist/core/middleware/built-in/cdn.js.map +0 -1
  224. package/dist/core/middleware/built-in/cookie.d.ts +0 -14
  225. package/dist/core/middleware/built-in/cookie.js +0 -64
  226. package/dist/core/middleware/built-in/cookie.js.map +0 -1
  227. package/dist/core/middleware/built-in/cors.d.ts +0 -2
  228. package/dist/core/middleware/built-in/cors.js +0 -25
  229. package/dist/core/middleware/built-in/cors.js.map +0 -1
  230. package/dist/core/middleware/built-in/csp.d.ts +0 -22
  231. package/dist/core/middleware/built-in/csp.js +0 -68
  232. package/dist/core/middleware/built-in/csp.js.map +0 -1
  233. package/dist/core/middleware/built-in/csrf.d.ts +0 -9
  234. package/dist/core/middleware/built-in/csrf.js +0 -60
  235. package/dist/core/middleware/built-in/csrf.js.map +0 -1
  236. package/dist/core/middleware/built-in/error-tracker.d.ts +0 -1
  237. package/dist/core/middleware/built-in/error-tracker.js.map +0 -1
  238. package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
  239. package/dist/core/middleware/built-in/performance-monitor.d.ts +0 -1
  240. package/dist/core/middleware/built-in/performance-monitor.js.map +0 -1
  241. package/dist/core/middleware/built-in/rate-limit.d.ts +0 -6
  242. package/dist/core/middleware/built-in/rate-limit.js.map +0 -1
  243. package/dist/core/middleware/built-in/request-logger.d.ts +0 -1
  244. package/dist/core/middleware/built-in/request-logger.js.map +0 -1
  245. package/dist/core/middleware/built-in/session.d.ts +0 -41
  246. package/dist/core/middleware/built-in/session.js +0 -205
  247. package/dist/core/middleware/built-in/session.js.map +0 -1
  248. package/dist/core/middleware/built-in/sse.d.ts +0 -6
  249. package/dist/core/middleware/built-in/sse.js +0 -69
  250. package/dist/core/middleware/built-in/sse.js.map +0 -1
  251. package/dist/core/middleware/built-in/validation.d.ts +0 -2
  252. package/dist/core/middleware/built-in/validation.js.map +0 -1
  253. package/jest.config.mjs +0 -41
  254. package/src/core/auth/README.md +0 -339
  255. package/src/core/auth/morojs-adapter.ts +0 -415
  256. package/src/core/config/config-manager.ts +0 -133
  257. package/src/core/config/config-sources.ts +0 -600
  258. package/src/core/config/config-validator.ts +0 -1116
  259. package/src/core/config/file-loader.ts +0 -150
  260. package/src/core/config/index.ts +0 -109
  261. package/src/core/config/schema.ts +0 -164
  262. package/src/core/config/utils.ts +0 -244
  263. package/src/core/database/README.md +0 -238
  264. package/src/core/database/adapters/drizzle.ts +0 -415
  265. package/src/core/database/adapters/index.ts +0 -42
  266. package/src/core/database/adapters/mongodb.ts +0 -317
  267. package/src/core/database/adapters/mysql.ts +0 -235
  268. package/src/core/database/adapters/postgresql.ts +0 -226
  269. package/src/core/database/adapters/redis.ts +0 -379
  270. package/src/core/database/adapters/sqlite.ts +0 -263
  271. package/src/core/database/index.ts +0 -3
  272. package/src/core/docs/index.ts +0 -231
  273. package/src/core/docs/openapi-generator.ts +0 -576
  274. package/src/core/docs/schema-to-openapi.ts +0 -145
  275. package/src/core/docs/simple-docs.ts +0 -295
  276. package/src/core/docs/swagger-ui.ts +0 -354
  277. package/src/core/docs/zod-to-openapi.ts +0 -532
  278. package/src/core/events/event-bus.ts +0 -231
  279. package/src/core/events/index.ts +0 -12
  280. package/src/core/framework.ts +0 -885
  281. package/src/core/http/http-server.ts +0 -1847
  282. package/src/core/http/index.ts +0 -7
  283. package/src/core/http/uws-http-server.ts +0 -591
  284. package/src/core/logger/filters.ts +0 -153
  285. package/src/core/logger/index.ts +0 -21
  286. package/src/core/logger/logger.ts +0 -1033
  287. package/src/core/logger/outputs.ts +0 -132
  288. package/src/core/middleware/built-in/adapters/cache/file.ts +0 -104
  289. package/src/core/middleware/built-in/adapters/cache/index.ts +0 -23
  290. package/src/core/middleware/built-in/adapters/cache/memory.ts +0 -73
  291. package/src/core/middleware/built-in/adapters/cache/redis.ts +0 -114
  292. package/src/core/middleware/built-in/adapters/cdn/azure.ts +0 -60
  293. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +0 -83
  294. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +0 -94
  295. package/src/core/middleware/built-in/adapters/cdn/index.ts +0 -23
  296. package/src/core/middleware/built-in/auth-helpers.ts +0 -401
  297. package/src/core/middleware/built-in/auth-providers.ts +0 -480
  298. package/src/core/middleware/built-in/auth.ts +0 -410
  299. package/src/core/middleware/built-in/cache.ts +0 -213
  300. package/src/core/middleware/built-in/cdn.ts +0 -124
  301. package/src/core/middleware/built-in/cookie.ts +0 -85
  302. package/src/core/middleware/built-in/cors.ts +0 -38
  303. package/src/core/middleware/built-in/csp.ts +0 -101
  304. package/src/core/middleware/built-in/csrf.ts +0 -82
  305. package/src/core/middleware/built-in/error-tracker.ts +0 -16
  306. package/src/core/middleware/built-in/index.ts +0 -87
  307. package/src/core/middleware/built-in/jwt-helpers.ts +0 -243
  308. package/src/core/middleware/built-in/performance-monitor.ts +0 -25
  309. package/src/core/middleware/built-in/rate-limit.ts +0 -60
  310. package/src/core/middleware/built-in/request-logger.ts +0 -16
  311. package/src/core/middleware/built-in/session.ts +0 -287
  312. package/src/core/middleware/built-in/sse.ts +0 -88
  313. package/src/core/middleware/built-in/validation.ts +0 -33
  314. package/src/core/middleware/index.ts +0 -177
  315. package/src/core/modules/auto-discovery.ts +0 -726
  316. package/src/core/modules/index.ts +0 -3
  317. package/src/core/modules/modules.ts +0 -135
  318. package/src/core/networking/adapters/index.ts +0 -17
  319. package/src/core/networking/adapters/socketio-adapter.ts +0 -254
  320. package/src/core/networking/adapters/uws-adapter.ts +0 -619
  321. package/src/core/networking/adapters/ws-adapter.ts +0 -429
  322. package/src/core/networking/index.ts +0 -4
  323. package/src/core/networking/service-discovery.ts +0 -303
  324. package/src/core/networking/websocket-adapter.ts +0 -217
  325. package/src/core/networking/websocket-manager.ts +0 -308
  326. package/src/core/pooling/object-pool-manager.ts +0 -630
  327. package/src/core/routing/app-integration.ts +0 -164
  328. package/src/core/routing/index.ts +0 -261
  329. package/src/core/routing/path-matcher.ts +0 -222
  330. package/src/core/routing/router.ts +0 -97
  331. package/src/core/routing/unified-router.ts +0 -870
  332. package/src/core/runtime/aws-lambda-adapter.ts +0 -147
  333. package/src/core/runtime/base-adapter.ts +0 -130
  334. package/src/core/runtime/cloudflare-workers-adapter.ts +0 -152
  335. package/src/core/runtime/index.ts +0 -62
  336. package/src/core/runtime/node-adapter.ts +0 -202
  337. package/src/core/runtime/vercel-edge-adapter.ts +0 -114
  338. package/src/core/utilities/circuit-breaker.ts +0 -46
  339. package/src/core/utilities/container.ts +0 -736
  340. package/src/core/utilities/hooks.ts +0 -142
  341. package/src/core/utilities/index.ts +0 -17
  342. package/src/core/utilities/package-utils.ts +0 -59
  343. package/src/core/validation/adapters.ts +0 -147
  344. package/src/core/validation/index.ts +0 -258
  345. package/src/core/validation/schema-interface.ts +0 -100
  346. package/src/index.ts +0 -233
  347. package/src/moro.ts +0 -1728
  348. package/src/types/auth.ts +0 -440
  349. package/src/types/cache.ts +0 -38
  350. package/src/types/cdn.ts +0 -22
  351. package/src/types/config.ts +0 -229
  352. package/src/types/core.ts +0 -58
  353. package/src/types/database.ts +0 -32
  354. package/src/types/discovery.ts +0 -7
  355. package/src/types/events.ts +0 -82
  356. package/src/types/hooks.ts +0 -47
  357. package/src/types/http.ts +0 -89
  358. package/src/types/logger.ts +0 -102
  359. package/src/types/module.ts +0 -99
  360. package/src/types/runtime.ts +0 -76
  361. package/src/types/session.ts +0 -89
  362. package/tsconfig.json +0 -23
  363. /package/dist/core/middleware/built-in/{auth-helpers.d.ts → auth/helpers.d.ts} +0 -0
  364. /package/dist/core/middleware/built-in/{jwt-helpers.d.ts → auth/jwt-helpers.d.ts} +0 -0
  365. /package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/index.js +0 -0
  366. /package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/index.js +0 -0
@@ -1,164 +0,0 @@
1
- // Integration layer for intelligent routing system with main Moro app
2
- // Provides both chainable and schema-first APIs
3
- //
4
- // NOTE: This is now a thin facade to UnifiedRouter
5
- // All routing logic has been consolidated in unified-router.ts
6
-
7
- import {
8
- RouteBuilder,
9
- RouteSchema,
10
- CompiledRoute,
11
- createRoute,
12
- defineRoute,
13
- HttpMethod,
14
- } from './index.js';
15
- import { HttpRequest, HttpResponse } from '../http/index.js';
16
- import { UnifiedRouter } from './unified-router.js';
17
- import { createFrameworkLogger } from '../logger/index.js';
18
-
19
- const logger = createFrameworkLogger('AppIntegration');
20
-
21
- // ===== RouteRegistry (Public API - Backward Compatibility) =====
22
-
23
- /**
24
- * RouteRegistry - Facade to UnifiedRouter for backward compatibility
25
- * This was part of the public API, so we maintain it as an alias
26
- */
27
- export class RouteRegistry {
28
- private router = UnifiedRouter.getInstance();
29
-
30
- register(route: CompiledRoute): void {
31
- // Routes are automatically registered with UnifiedRouter when created
32
- // This is a no-op for API compatibility
33
- }
34
-
35
- async handleRequest(req: HttpRequest, res: HttpResponse): Promise<boolean> {
36
- return this.router.handleRequest(req, res) as Promise<boolean>;
37
- }
38
-
39
- getRoutes(): CompiledRoute[] {
40
- const routes = this.router.getAllRoutes();
41
- return routes.map(routeSchema => ({
42
- schema: routeSchema as RouteSchema,
43
- execute: async (_req: HttpRequest, _res: HttpResponse) => {
44
- throw new Error('CompiledRoute.execute() not used - routing handled by UnifiedRouter');
45
- },
46
- }));
47
- }
48
- }
49
-
50
- // Extended app interface with intelligent routing
51
- export interface IntelligentApp {
52
- get(path: string): RouteBuilder;
53
- post(path: string): RouteBuilder;
54
- put(path: string): RouteBuilder;
55
- delete(path: string): RouteBuilder;
56
- patch(path: string): RouteBuilder;
57
- head(path: string): RouteBuilder;
58
- options(path: string): RouteBuilder;
59
- route(schema: RouteSchema): CompiledRoute;
60
- register(route: CompiledRoute): void;
61
- directRoute(method: string, path: string, handler: Function, options?: any): void;
62
- }
63
-
64
- // Intelligent routing manager class
65
- // Now a thin facade to UnifiedRouter
66
- export class IntelligentRoutingManager implements IntelligentApp {
67
- private router = UnifiedRouter.getInstance();
68
-
69
- // Chainable route methods - delegate to createRoute
70
- get(path: string): RouteBuilder {
71
- return this.createChainableRoute('GET', path);
72
- }
73
-
74
- post(path: string): RouteBuilder {
75
- return this.createChainableRoute('POST', path);
76
- }
77
-
78
- put(path: string): RouteBuilder {
79
- return this.createChainableRoute('PUT', path);
80
- }
81
-
82
- delete(path: string): RouteBuilder {
83
- return this.createChainableRoute('DELETE', path);
84
- }
85
-
86
- patch(path: string): RouteBuilder {
87
- return this.createChainableRoute('PATCH', path);
88
- }
89
-
90
- head(path: string): RouteBuilder {
91
- return this.createChainableRoute('HEAD', path);
92
- }
93
-
94
- options(path: string): RouteBuilder {
95
- return this.createChainableRoute('OPTIONS', path);
96
- }
97
-
98
- // Schema-first route method
99
- route(schema: RouteSchema): CompiledRoute {
100
- const compiledRoute = defineRoute(schema);
101
- this.register(compiledRoute);
102
- return compiledRoute;
103
- }
104
-
105
- // Register compiled route (no-op, already registered by defineRoute)
106
- register(_route: CompiledRoute): void {
107
- // Routes are automatically registered with UnifiedRouter in defineRoute()
108
- // This is just for API compatibility
109
- }
110
-
111
- // Handle incoming requests - delegates to UnifiedRouter
112
- async handleIntelligentRoute(req: HttpRequest, res: HttpResponse): Promise<boolean> {
113
- return this.router.handleRequest(req, res) as Promise<boolean>;
114
- }
115
-
116
- // Get all registered routes - fetch from UnifiedRouter
117
- getIntelligentRoutes(): CompiledRoute[] {
118
- // Convert UnifiedRouter's internal routes to CompiledRoute format for docs
119
- const routes = this.router.getAllRoutes();
120
- return routes.map(routeSchema => ({
121
- schema: routeSchema as RouteSchema, // Cast to match CompiledRoute interface
122
- execute: async (_req: HttpRequest, _res: HttpResponse) => {
123
- // Not used - routing handled by UnifiedRouter
124
- throw new Error('CompiledRoute.execute() not used - routing handled by UnifiedRouter');
125
- },
126
- }));
127
- }
128
-
129
- // Direct route method (deprecated but kept for compatibility)
130
- directRoute(method: string, path: string, handler: Function, options?: any): void {
131
- logger.warn('Using deprecated direct route method', 'DirectRoute', {
132
- method,
133
- path,
134
- suggestion: 'Use chainable or schema-first API instead',
135
- });
136
-
137
- const schema: RouteSchema = {
138
- method: method.toUpperCase() as HttpMethod,
139
- path,
140
- handler: handler as any,
141
- };
142
-
143
- if (options?.validation) {
144
- schema.validation = { body: options.validation };
145
- }
146
-
147
- if (options?.rateLimit) {
148
- schema.rateLimit = options.rateLimit;
149
- }
150
-
151
- this.route(schema);
152
- }
153
-
154
- private createChainableRoute(method: HttpMethod, path: string): RouteBuilder {
155
- // Just create and return the builder - it auto-registers with UnifiedRouter
156
- return createRoute(method, path);
157
- }
158
- }
159
-
160
- // Convenience type for apps with intelligent routing
161
- export type AppWithIntelligentRouting = IntelligentApp & {
162
- handleIntelligentRoute(req: HttpRequest, res: HttpResponse): Promise<boolean>;
163
- getIntelligentRoutes(): CompiledRoute[];
164
- };
@@ -1,261 +0,0 @@
1
- // Intelligent Routing System for Moro Framework
2
- // Schema-first with automatic middleware ordering and chainable API
3
- //
4
- // NOTE: This file exports types and thin facades to UnifiedRouter
5
- // All routing logic has been consolidated in unified-router.ts
6
-
7
- import { ValidationSchema } from '../validation/schema-interface.js';
8
- import { HttpRequest, HttpResponse } from '../http/index.js';
9
- import { UnifiedRouter } from './unified-router.js';
10
-
11
- // ===== TYPE EXPORTS (Keep all - used by app code) =====
12
-
13
- export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
14
- export type RouteHandler<T = any> = (req: HttpRequest, res: HttpResponse) => T | Promise<T>;
15
- export type Middleware = (
16
- req: HttpRequest,
17
- res: HttpResponse,
18
- next: () => void
19
- ) => void | Promise<void>;
20
-
21
- export interface ValidationConfig {
22
- body?: ValidationSchema;
23
- query?: ValidationSchema;
24
- params?: ValidationSchema;
25
- headers?: ValidationSchema;
26
- }
27
-
28
- export interface AuthConfig {
29
- roles?: string[];
30
- permissions?: string[];
31
- optional?: boolean;
32
- }
33
-
34
- export interface RateLimitConfig {
35
- requests: number;
36
- window: number;
37
- skipSuccessfulRequests?: boolean;
38
- }
39
-
40
- export interface CacheConfig {
41
- ttl: number;
42
- key?: string;
43
- tags?: string[];
44
- }
45
-
46
- export interface MiddlewarePhases {
47
- before?: Middleware[];
48
- after?: Middleware[];
49
- transform?: Middleware[];
50
- }
51
-
52
- export interface RouteSchema {
53
- method: HttpMethod;
54
- path: string;
55
- handler: RouteHandler;
56
- validation?: ValidationConfig;
57
- auth?: AuthConfig;
58
- rateLimit?: RateLimitConfig;
59
- cache?: CacheConfig;
60
- middleware?: MiddlewarePhases;
61
- description?: string;
62
- tags?: string[];
63
- }
64
-
65
- export const EXECUTION_PHASES = [
66
- 'security',
67
- 'parsing',
68
- 'rateLimit',
69
- 'before',
70
- 'auth',
71
- 'validation',
72
- 'transform',
73
- 'cache',
74
- 'after',
75
- 'handler',
76
- ] as const;
77
-
78
- export type ExecutionPhase = (typeof EXECUTION_PHASES)[number];
79
-
80
- export interface ValidatedRequest<T = any> extends HttpRequest {
81
- validatedBody?: T;
82
- validatedQuery?: any;
83
- validatedParams?: any;
84
- validatedHeaders?: any;
85
- user?: any;
86
- }
87
-
88
- // ===== ROUTE BUILDER INTERFACE (Public API) =====
89
-
90
- export interface RouteBuilder {
91
- validate(config: ValidationConfig): RouteBuilder;
92
- body<T>(schema: ValidationSchema<T>): RouteBuilder;
93
- query<T>(schema: ValidationSchema<T>): RouteBuilder;
94
- params<T>(schema: ValidationSchema<T>): RouteBuilder;
95
- headers<T>(schema: ValidationSchema<T>): RouteBuilder;
96
- auth(config: AuthConfig): RouteBuilder;
97
- rateLimit(config: RateLimitConfig): RouteBuilder;
98
- cache(config: CacheConfig): RouteBuilder;
99
- before(...middleware: Middleware[]): RouteBuilder;
100
- after(...middleware: Middleware[]): RouteBuilder;
101
- transform(...middleware: Middleware[]): RouteBuilder;
102
- use(...middleware: Middleware[]): RouteBuilder;
103
- describe(description: string): RouteBuilder;
104
- tag(...tags: string[]): RouteBuilder;
105
- handler<T>(handler: RouteHandler<T>): void;
106
- }
107
-
108
- // ===== COMPILED ROUTE INTERFACE (Public API) =====
109
-
110
- export interface CompiledRoute {
111
- schema: RouteSchema;
112
- execute(req: HttpRequest, res: HttpResponse): Promise<void>;
113
- }
114
-
115
- // ===== FACADE IMPLEMENTATIONS (Delegate to UnifiedRouter) =====
116
-
117
- /**
118
- * Thin facade to UnifiedRouter.RouteBuilder
119
- * Maintains backward compatibility while using optimized implementation
120
- */
121
- export class IntelligentRouteBuilder implements RouteBuilder {
122
- private schema: Partial<RouteSchema>;
123
- private router = UnifiedRouter.getInstance();
124
-
125
- constructor(method: HttpMethod, path: string) {
126
- this.schema = {
127
- method,
128
- path,
129
- middleware: {} as MiddlewarePhases,
130
- };
131
- }
132
-
133
- validate(config: ValidationConfig): RouteBuilder {
134
- this.schema.validation = { ...this.schema.validation, ...config };
135
- return this;
136
- }
137
-
138
- body<T>(schema: ValidationSchema<T>): RouteBuilder {
139
- if (!this.schema.validation) this.schema.validation = {};
140
- this.schema.validation.body = schema;
141
- return this;
142
- }
143
-
144
- query<T>(schema: ValidationSchema<T>): RouteBuilder {
145
- if (!this.schema.validation) this.schema.validation = {};
146
- this.schema.validation.query = schema;
147
- return this;
148
- }
149
-
150
- params<T>(schema: ValidationSchema<T>): RouteBuilder {
151
- if (!this.schema.validation) this.schema.validation = {};
152
- this.schema.validation.params = schema;
153
- return this;
154
- }
155
-
156
- headers<T>(schema: ValidationSchema<T>): RouteBuilder {
157
- if (!this.schema.validation) this.schema.validation = {};
158
- this.schema.validation.headers = schema;
159
- return this;
160
- }
161
-
162
- auth(config: AuthConfig): RouteBuilder {
163
- this.schema.auth = config;
164
- return this;
165
- }
166
-
167
- rateLimit(config: RateLimitConfig): RouteBuilder {
168
- this.schema.rateLimit = config;
169
- return this;
170
- }
171
-
172
- cache(config: CacheConfig): RouteBuilder {
173
- this.schema.cache = config;
174
- return this;
175
- }
176
-
177
- before(...middleware: Middleware[]): RouteBuilder {
178
- if (!this.schema.middleware) this.schema.middleware = {};
179
- const phases = this.schema.middleware as MiddlewarePhases;
180
- phases.before = [...(phases.before || []), ...middleware];
181
- return this;
182
- }
183
-
184
- after(...middleware: Middleware[]): RouteBuilder {
185
- if (!this.schema.middleware) this.schema.middleware = {};
186
- const phases = this.schema.middleware as MiddlewarePhases;
187
- phases.after = [...(phases.after || []), ...middleware];
188
- return this;
189
- }
190
-
191
- transform(...middleware: Middleware[]): RouteBuilder {
192
- if (!this.schema.middleware) this.schema.middleware = {};
193
- const phases = this.schema.middleware as MiddlewarePhases;
194
- phases.transform = [...(phases.transform || []), ...middleware];
195
- return this;
196
- }
197
-
198
- use(...middleware: Middleware[]): RouteBuilder {
199
- return this.after(...middleware);
200
- }
201
-
202
- describe(description: string): RouteBuilder {
203
- this.schema.description = description;
204
- return this;
205
- }
206
-
207
- tag(...tags: string[]): RouteBuilder {
208
- this.schema.tags = [...(this.schema.tags || []), ...tags];
209
- return this;
210
- }
211
-
212
- handler<T>(handler: RouteHandler<T>): void {
213
- if (!handler) {
214
- throw new Error('Handler is required');
215
- }
216
-
217
- const completeSchema: RouteSchema = {
218
- ...(this.schema as RouteSchema),
219
- handler,
220
- };
221
-
222
- // Delegate to UnifiedRouter
223
- this.router.registerRoute(completeSchema);
224
- }
225
- }
226
-
227
- /**
228
- * Thin facade implementing CompiledRoute interface
229
- * Just stores schema for documentation purposes
230
- */
231
- export class ExecutableRoute implements CompiledRoute {
232
- constructor(public readonly schema: RouteSchema) {
233
- // Register with UnifiedRouter
234
- UnifiedRouter.getInstance().registerRoute(schema);
235
- }
236
-
237
- async execute(req: HttpRequest, res: HttpResponse): Promise<void> {
238
- // This is never called - UnifiedRouter handles execution
239
- // But we implement it for interface compatibility
240
- throw new Error(
241
- 'ExecutableRoute.execute() should not be called directly - routing handled by UnifiedRouter'
242
- );
243
- }
244
- }
245
-
246
- // ===== FACTORY FUNCTIONS (Backward Compatibility) =====
247
-
248
- export function createRoute(method: HttpMethod, path: string): RouteBuilder {
249
- return new IntelligentRouteBuilder(method, path);
250
- }
251
-
252
- export function defineRoute(schema: RouteSchema): CompiledRoute {
253
- return new ExecutableRoute(schema);
254
- }
255
-
256
- // ===== RE-EXPORTS FROM UNIFIED ROUTER =====
257
-
258
- export { UnifiedRouter } from './unified-router.js';
259
- export { RouteBuilder as UnifiedRouteBuilder } from './unified-router.js';
260
- export { PathMatcher, type CompiledPath, type MatchResult } from './path-matcher.js';
261
- export { ObjectPoolManager, getPoolManager } from '../pooling/object-pool-manager.js';
@@ -1,222 +0,0 @@
1
- // Shared Path Matching Utility with Caching
2
- // Replaces 6 different pathToRegex implementations across the codebase
3
-
4
- export interface CompiledPath {
5
- pattern: RegExp | null;
6
- paramNames: string[];
7
- isStatic: boolean;
8
- path: string;
9
- segments: number;
10
- }
11
-
12
- export interface MatchResult {
13
- params: Record<string, string>;
14
- }
15
-
16
- /**
17
- * LRU Cache implementation for compiled paths
18
- */
19
- class LRUCache<K, V> {
20
- private cache = new Map<K, V>();
21
- private readonly maxSize: number;
22
-
23
- constructor(maxSize: number = 1000) {
24
- this.maxSize = maxSize;
25
- }
26
-
27
- get(key: K): V | undefined {
28
- const value = this.cache.get(key);
29
- if (value !== undefined) {
30
- // Move to end (most recently used)
31
- this.cache.delete(key);
32
- this.cache.set(key, value);
33
- }
34
- return value;
35
- }
36
-
37
- set(key: K, value: V): void {
38
- // Remove if exists (to update position)
39
- if (this.cache.has(key)) {
40
- this.cache.delete(key);
41
- }
42
-
43
- // Add to end
44
- this.cache.set(key, value);
45
-
46
- // Evict oldest if over capacity
47
- if (this.cache.size > this.maxSize) {
48
- const firstKey = this.cache.keys().next().value;
49
- if (firstKey !== undefined) {
50
- this.cache.delete(firstKey);
51
- }
52
- }
53
- }
54
-
55
- has(key: K): boolean {
56
- return this.cache.has(key);
57
- }
58
-
59
- clear(): void {
60
- this.cache.clear();
61
- }
62
-
63
- get size(): number {
64
- return this.cache.size;
65
- }
66
- }
67
-
68
- /**
69
- * PathMatcher - Single source of truth for path pattern compilation and matching
70
- */
71
- export class PathMatcher {
72
- private static readonly cache = new LRUCache<string, CompiledPath>(1000);
73
- private static compilationCount = 0;
74
- private static cacheHits = 0;
75
- private static cacheMisses = 0;
76
-
77
- /**
78
- * Compile a path pattern into an efficient matching structure
79
- * Results are cached for performance
80
- */
81
- static compile(path: string): CompiledPath {
82
- // Check cache first
83
- const cached = this.cache.get(path);
84
- if (cached) {
85
- this.cacheHits++;
86
- return cached;
87
- }
88
-
89
- this.cacheMisses++;
90
- this.compilationCount++;
91
-
92
- // Compile the pattern
93
- const compiled = this.compileInternal(path);
94
- this.cache.set(path, compiled);
95
- return compiled;
96
- }
97
-
98
- /**
99
- * Internal compilation logic
100
- */
101
- private static compileInternal(path: string): CompiledPath {
102
- const paramNames: string[] = [];
103
- const isStatic = !path.includes(':') && !path.includes('*');
104
-
105
- // Calculate segment count for optimization
106
- const segments = path.split('/').filter(s => s.length > 0).length;
107
-
108
- if (isStatic) {
109
- // No regex needed for static routes
110
- return {
111
- pattern: null,
112
- paramNames: [],
113
- isStatic: true,
114
- path,
115
- segments,
116
- };
117
- }
118
-
119
- // Convert parameterized routes to regex
120
- // Match :paramName and capture the parameter name
121
- const regexPath = path
122
- .replace(/\/:([^/]+)/g, (match, paramName) => {
123
- paramNames.push(paramName);
124
- return '/([^/]+)';
125
- })
126
- .replace(/\//g, '\\/');
127
-
128
- return {
129
- pattern: new RegExp(`^${regexPath}$`),
130
- paramNames,
131
- isStatic: false,
132
- path,
133
- segments,
134
- };
135
- }
136
-
137
- /**
138
- * Match a request path against a compiled pattern
139
- * Returns match result with extracted parameters, or null if no match
140
- */
141
- static match(compiledPath: CompiledPath, requestPath: string): MatchResult | null {
142
- // Path for static routes - simple string comparison
143
- if (compiledPath.isStatic) {
144
- return compiledPath.path === requestPath ? { params: {} } : null;
145
- }
146
-
147
- // Dynamic route - use regex matching
148
- if (!compiledPath.pattern) {
149
- return null;
150
- }
151
-
152
- const matches = requestPath.match(compiledPath.pattern);
153
- if (!matches) {
154
- return null;
155
- }
156
-
157
- // Extract parameters
158
- const params: Record<string, string> = {};
159
- compiledPath.paramNames.forEach((name, index) => {
160
- params[name] = matches[index + 1];
161
- });
162
-
163
- return { params };
164
- }
165
-
166
- /**
167
- * Compile and match in one operation (convenience method)
168
- */
169
- static compileAndMatch(pathPattern: string, requestPath: string): MatchResult | null {
170
- const compiled = this.compile(pathPattern);
171
- return this.match(compiled, requestPath);
172
- }
173
-
174
- /**
175
- * Check if a path pattern is static (no parameters)
176
- */
177
- static isStatic(path: string): boolean {
178
- return !path.includes(':') && !path.includes('*');
179
- }
180
-
181
- /**
182
- * Get performance statistics
183
- */
184
- static getStats() {
185
- const totalRequests = this.cacheHits + this.cacheMisses;
186
- return {
187
- cacheSize: this.cache.size,
188
- cacheHits: this.cacheHits,
189
- cacheMisses: this.cacheMisses,
190
- hitRate: totalRequests > 0 ? this.cacheHits / totalRequests : 0,
191
- compilationCount: this.compilationCount,
192
- };
193
- }
194
-
195
- /**
196
- * Clear the cache (useful for testing)
197
- */
198
- static clearCache(): void {
199
- this.cache.clear();
200
- this.cacheHits = 0;
201
- this.cacheMisses = 0;
202
- }
203
-
204
- /**
205
- * Pre-compile multiple paths (cache warming)
206
- */
207
- static precompile(paths: string[]): void {
208
- paths.forEach(path => this.compile(path));
209
- }
210
- }
211
-
212
- /**
213
- * Legacy compatibility function - maps to PathMatcher.compile
214
- * @deprecated Use PathMatcher.compile instead
215
- */
216
- export function pathToRegex(path: string): { pattern: RegExp; paramNames: string[] } {
217
- const compiled = PathMatcher.compile(path);
218
- return {
219
- pattern: compiled.pattern || new RegExp(`^${path.replace(/\//g, '\\/')}$`),
220
- paramNames: compiled.paramNames,
221
- };
222
- }