exisjs 0.1.2

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 (495) hide show
  1. package/README.md +52 -0
  2. package/bin/exis.js +2 -0
  3. package/dist/adapters/aws-lambda.d.ts +21 -0
  4. package/dist/adapters/aws-lambda.d.ts.map +1 -0
  5. package/dist/adapters/aws-lambda.js +110 -0
  6. package/dist/adapters/aws-lambda.js.map +1 -0
  7. package/dist/adapters/bun.d.ts +9 -0
  8. package/dist/adapters/bun.d.ts.map +1 -0
  9. package/dist/adapters/bun.js +15 -0
  10. package/dist/adapters/bun.js.map +1 -0
  11. package/dist/adapters/cloudflare.d.ts +10 -0
  12. package/dist/adapters/cloudflare.d.ts.map +1 -0
  13. package/dist/adapters/cloudflare.js +14 -0
  14. package/dist/adapters/cloudflare.js.map +1 -0
  15. package/dist/adapters/deno.d.ts +7 -0
  16. package/dist/adapters/deno.d.ts.map +1 -0
  17. package/dist/adapters/deno.js +11 -0
  18. package/dist/adapters/deno.js.map +1 -0
  19. package/dist/adapters/fastly.d.ts +6 -0
  20. package/dist/adapters/fastly.d.ts.map +1 -0
  21. package/dist/adapters/fastly.js +12 -0
  22. package/dist/adapters/fastly.js.map +1 -0
  23. package/dist/adapters/fetch.d.ts +30 -0
  24. package/dist/adapters/fetch.d.ts.map +1 -0
  25. package/dist/adapters/fetch.js +119 -0
  26. package/dist/adapters/fetch.js.map +1 -0
  27. package/dist/adapters/index.d.ts +9 -0
  28. package/dist/adapters/index.d.ts.map +1 -0
  29. package/dist/adapters/index.js +28 -0
  30. package/dist/adapters/index.js.map +1 -0
  31. package/dist/adapters/netlify.d.ts +8 -0
  32. package/dist/adapters/netlify.d.ts.map +1 -0
  33. package/dist/adapters/netlify.js +12 -0
  34. package/dist/adapters/netlify.js.map +1 -0
  35. package/dist/adapters/vercel.d.ts +14 -0
  36. package/dist/adapters/vercel.d.ts.map +1 -0
  37. package/dist/adapters/vercel.js +20 -0
  38. package/dist/adapters/vercel.js.map +1 -0
  39. package/dist/auth/jwt.d.ts +20 -0
  40. package/dist/auth/jwt.d.ts.map +1 -0
  41. package/dist/auth/jwt.js +79 -0
  42. package/dist/auth/jwt.js.map +1 -0
  43. package/dist/auth/password.d.ts +25 -0
  44. package/dist/auth/password.d.ts.map +1 -0
  45. package/dist/auth/password.js +93 -0
  46. package/dist/auth/password.js.map +1 -0
  47. package/dist/auth/rbac.d.ts +10 -0
  48. package/dist/auth/rbac.d.ts.map +1 -0
  49. package/dist/auth/rbac.js +34 -0
  50. package/dist/auth/rbac.js.map +1 -0
  51. package/dist/auth/session.d.ts +23 -0
  52. package/dist/auth/session.d.ts.map +1 -0
  53. package/dist/auth/session.js +105 -0
  54. package/dist/auth/session.js.map +1 -0
  55. package/dist/cache/index.d.ts +2 -0
  56. package/dist/cache/index.d.ts.map +1 -0
  57. package/dist/cache/index.js +9 -0
  58. package/dist/cache/index.js.map +1 -0
  59. package/dist/cache/store.d.ts +48 -0
  60. package/dist/cache/store.d.ts.map +1 -0
  61. package/dist/cache/store.js +211 -0
  62. package/dist/cache/store.js.map +1 -0
  63. package/dist/cli/commands/build.d.ts +7 -0
  64. package/dist/cli/commands/build.d.ts.map +1 -0
  65. package/dist/cli/commands/build.js +183 -0
  66. package/dist/cli/commands/build.js.map +1 -0
  67. package/dist/cli/commands/dev.d.ts +9 -0
  68. package/dist/cli/commands/dev.d.ts.map +1 -0
  69. package/dist/cli/commands/dev.js +290 -0
  70. package/dist/cli/commands/dev.js.map +1 -0
  71. package/dist/cli/commands/exports.d.ts +2 -0
  72. package/dist/cli/commands/exports.d.ts.map +1 -0
  73. package/dist/cli/commands/exports.js +76 -0
  74. package/dist/cli/commands/exports.js.map +1 -0
  75. package/dist/cli/commands/generate.d.ts +5 -0
  76. package/dist/cli/commands/generate.d.ts.map +1 -0
  77. package/dist/cli/commands/generate.js +149 -0
  78. package/dist/cli/commands/generate.js.map +1 -0
  79. package/dist/cli/commands/init.d.ts +2 -0
  80. package/dist/cli/commands/init.d.ts.map +1 -0
  81. package/dist/cli/commands/init.js +37 -0
  82. package/dist/cli/commands/init.js.map +1 -0
  83. package/dist/cli/commands/repl.d.ts +6 -0
  84. package/dist/cli/commands/repl.d.ts.map +1 -0
  85. package/dist/cli/commands/repl.js +75 -0
  86. package/dist/cli/commands/repl.js.map +1 -0
  87. package/dist/cli/commands/start.d.ts +7 -0
  88. package/dist/cli/commands/start.d.ts.map +1 -0
  89. package/dist/cli/commands/start.js +111 -0
  90. package/dist/cli/commands/start.js.map +1 -0
  91. package/dist/cli/commands/test.d.ts +7 -0
  92. package/dist/cli/commands/test.d.ts.map +1 -0
  93. package/dist/cli/commands/test.js +170 -0
  94. package/dist/cli/commands/test.js.map +1 -0
  95. package/dist/cli/index.d.ts +3 -0
  96. package/dist/cli/index.d.ts.map +1 -0
  97. package/dist/cli/index.js +183 -0
  98. package/dist/cli/index.js.map +1 -0
  99. package/dist/cli/manifest.d.ts +2 -0
  100. package/dist/cli/manifest.d.ts.map +1 -0
  101. package/dist/cli/manifest.js +160 -0
  102. package/dist/cli/manifest.js.map +1 -0
  103. package/dist/cli/optimizers/aot-routes.d.ts +2 -0
  104. package/dist/cli/optimizers/aot-routes.d.ts.map +1 -0
  105. package/dist/cli/optimizers/aot-routes.js +59 -0
  106. package/dist/cli/optimizers/aot-routes.js.map +1 -0
  107. package/dist/cli/optimizers/precompile-serializers.d.ts +2 -0
  108. package/dist/cli/optimizers/precompile-serializers.d.ts.map +1 -0
  109. package/dist/cli/optimizers/precompile-serializers.js +68 -0
  110. package/dist/cli/optimizers/precompile-serializers.js.map +1 -0
  111. package/dist/cli/optimizers/tree-shake.d.ts +2 -0
  112. package/dist/cli/optimizers/tree-shake.d.ts.map +1 -0
  113. package/dist/cli/optimizers/tree-shake.js +64 -0
  114. package/dist/cli/optimizers/tree-shake.js.map +1 -0
  115. package/dist/cli/routes.d.ts +2 -0
  116. package/dist/cli/routes.d.ts.map +1 -0
  117. package/dist/cli/routes.js +158 -0
  118. package/dist/cli/routes.js.map +1 -0
  119. package/dist/cli/utils.d.ts +24 -0
  120. package/dist/cli/utils.d.ts.map +1 -0
  121. package/dist/cli/utils.js +54 -0
  122. package/dist/cli/utils.js.map +1 -0
  123. package/dist/config/constants.d.ts +11 -0
  124. package/dist/config/constants.d.ts.map +1 -0
  125. package/dist/config/constants.js +14 -0
  126. package/dist/config/constants.js.map +1 -0
  127. package/dist/cron/parser.d.ts +2 -0
  128. package/dist/cron/parser.d.ts.map +1 -0
  129. package/dist/cron/parser.js +52 -0
  130. package/dist/cron/parser.js.map +1 -0
  131. package/dist/cron/scheduler.d.ts +22 -0
  132. package/dist/cron/scheduler.d.ts.map +1 -0
  133. package/dist/cron/scheduler.js +102 -0
  134. package/dist/cron/scheduler.js.map +1 -0
  135. package/dist/dataloader/dataloader.d.ts +23 -0
  136. package/dist/dataloader/dataloader.d.ts.map +1 -0
  137. package/dist/dataloader/dataloader.js +98 -0
  138. package/dist/dataloader/dataloader.js.map +1 -0
  139. package/dist/dataloader/registry.d.ts +17 -0
  140. package/dist/dataloader/registry.d.ts.map +1 -0
  141. package/dist/dataloader/registry.js +47 -0
  142. package/dist/dataloader/registry.js.map +1 -0
  143. package/dist/decorators/index.d.ts +63 -0
  144. package/dist/decorators/index.d.ts.map +1 -0
  145. package/dist/decorators/index.js +460 -0
  146. package/dist/decorators/index.js.map +1 -0
  147. package/dist/di/container.d.ts +21 -0
  148. package/dist/di/container.d.ts.map +1 -0
  149. package/dist/di/container.js +81 -0
  150. package/dist/di/container.js.map +1 -0
  151. package/dist/di/inject.d.ts +3 -0
  152. package/dist/di/inject.d.ts.map +1 -0
  153. package/dist/di/inject.js +12 -0
  154. package/dist/di/inject.js.map +1 -0
  155. package/dist/exports/auth.d.ts +6 -0
  156. package/dist/exports/auth.d.ts.map +1 -0
  157. package/dist/exports/auth.js +46 -0
  158. package/dist/exports/auth.js.map +1 -0
  159. package/dist/exports/cache.d.ts +4 -0
  160. package/dist/exports/cache.d.ts.map +1 -0
  161. package/dist/exports/cache.js +20 -0
  162. package/dist/exports/cache.js.map +1 -0
  163. package/dist/exports/config.d.ts +4 -0
  164. package/dist/exports/config.d.ts.map +1 -0
  165. package/dist/exports/config.js +23 -0
  166. package/dist/exports/config.js.map +1 -0
  167. package/dist/exports/dataloader.d.ts +3 -0
  168. package/dist/exports/dataloader.d.ts.map +1 -0
  169. package/dist/exports/dataloader.js +19 -0
  170. package/dist/exports/dataloader.js.map +1 -0
  171. package/dist/exports/decorators.d.ts +2 -0
  172. package/dist/exports/decorators.d.ts.map +1 -0
  173. package/dist/exports/decorators.js +18 -0
  174. package/dist/exports/decorators.js.map +1 -0
  175. package/dist/exports/di.d.ts +4 -0
  176. package/dist/exports/di.d.ts.map +1 -0
  177. package/dist/exports/di.js +8 -0
  178. package/dist/exports/di.js.map +1 -0
  179. package/dist/exports/error.d.ts +2 -0
  180. package/dist/exports/error.d.ts.map +1 -0
  181. package/dist/exports/error.js +16 -0
  182. package/dist/exports/error.js.map +1 -0
  183. package/dist/exports/module.d.ts +3 -0
  184. package/dist/exports/module.d.ts.map +1 -0
  185. package/dist/exports/module.js +6 -0
  186. package/dist/exports/module.js.map +1 -0
  187. package/dist/exports/plugin.d.ts +3 -0
  188. package/dist/exports/plugin.d.ts.map +1 -0
  189. package/dist/exports/plugin.js +6 -0
  190. package/dist/exports/plugin.js.map +1 -0
  191. package/dist/exports/queue.d.ts +9 -0
  192. package/dist/exports/queue.d.ts.map +1 -0
  193. package/dist/exports/queue.js +16 -0
  194. package/dist/exports/queue.js.map +1 -0
  195. package/dist/exports/response.d.ts +2 -0
  196. package/dist/exports/response.d.ts.map +1 -0
  197. package/dist/exports/response.js +18 -0
  198. package/dist/exports/response.js.map +1 -0
  199. package/dist/exports/route.d.ts +14 -0
  200. package/dist/exports/route.d.ts.map +1 -0
  201. package/dist/exports/route.js +25 -0
  202. package/dist/exports/route.js.map +1 -0
  203. package/dist/exports/security.d.ts +3 -0
  204. package/dist/exports/security.d.ts.map +1 -0
  205. package/dist/exports/security.js +13 -0
  206. package/dist/exports/security.js.map +1 -0
  207. package/dist/exports/swagger.d.ts +3 -0
  208. package/dist/exports/swagger.d.ts.map +1 -0
  209. package/dist/exports/swagger.js +6 -0
  210. package/dist/exports/swagger.js.map +1 -0
  211. package/dist/exports/validation.d.ts +2 -0
  212. package/dist/exports/validation.d.ts.map +1 -0
  213. package/dist/exports/validation.js +8 -0
  214. package/dist/exports/validation.js.map +1 -0
  215. package/dist/index.d.ts +11 -0
  216. package/dist/index.d.ts.map +1 -0
  217. package/dist/index.js +71 -0
  218. package/dist/index.js.map +1 -0
  219. package/dist/integrations/drizzle.d.ts +10 -0
  220. package/dist/integrations/drizzle.d.ts.map +1 -0
  221. package/dist/integrations/drizzle.js +34 -0
  222. package/dist/integrations/drizzle.js.map +1 -0
  223. package/dist/integrations/jwt.d.ts +12 -0
  224. package/dist/integrations/jwt.d.ts.map +1 -0
  225. package/dist/integrations/jwt.js +27 -0
  226. package/dist/integrations/jwt.js.map +1 -0
  227. package/dist/integrations/mongodb.d.ts +13 -0
  228. package/dist/integrations/mongodb.d.ts.map +1 -0
  229. package/dist/integrations/mongodb.js +48 -0
  230. package/dist/integrations/mongodb.js.map +1 -0
  231. package/dist/integrations/mongoose.d.ts +13 -0
  232. package/dist/integrations/mongoose.d.ts.map +1 -0
  233. package/dist/integrations/mongoose.js +58 -0
  234. package/dist/integrations/mongoose.js.map +1 -0
  235. package/dist/integrations/openai.d.ts +12 -0
  236. package/dist/integrations/openai.d.ts.map +1 -0
  237. package/dist/integrations/openai.js +47 -0
  238. package/dist/integrations/openai.js.map +1 -0
  239. package/dist/integrations/postgres.d.ts +13 -0
  240. package/dist/integrations/postgres.d.ts.map +1 -0
  241. package/dist/integrations/postgres.js +55 -0
  242. package/dist/integrations/postgres.js.map +1 -0
  243. package/dist/integrations/posthog.d.ts +13 -0
  244. package/dist/integrations/posthog.d.ts.map +1 -0
  245. package/dist/integrations/posthog.js +49 -0
  246. package/dist/integrations/posthog.js.map +1 -0
  247. package/dist/integrations/prisma.d.ts +10 -0
  248. package/dist/integrations/prisma.d.ts.map +1 -0
  249. package/dist/integrations/prisma.js +27 -0
  250. package/dist/integrations/prisma.js.map +1 -0
  251. package/dist/integrations/redis.d.ts +12 -0
  252. package/dist/integrations/redis.d.ts.map +1 -0
  253. package/dist/integrations/redis.js +48 -0
  254. package/dist/integrations/redis.js.map +1 -0
  255. package/dist/integrations/resend.d.ts +12 -0
  256. package/dist/integrations/resend.d.ts.map +1 -0
  257. package/dist/integrations/resend.js +47 -0
  258. package/dist/integrations/resend.js.map +1 -0
  259. package/dist/integrations/s3.d.ts +15 -0
  260. package/dist/integrations/s3.d.ts.map +1 -0
  261. package/dist/integrations/s3.js +60 -0
  262. package/dist/integrations/s3.js.map +1 -0
  263. package/dist/integrations/supabase.d.ts +13 -0
  264. package/dist/integrations/supabase.d.ts.map +1 -0
  265. package/dist/integrations/supabase.js +51 -0
  266. package/dist/integrations/supabase.js.map +1 -0
  267. package/dist/lib/start-repl.d.ts +2 -0
  268. package/dist/lib/start-repl.d.ts.map +1 -0
  269. package/dist/lib/start-repl.js +122 -0
  270. package/dist/lib/start-repl.js.map +1 -0
  271. package/dist/lib/start-server.d.ts +2 -0
  272. package/dist/lib/start-server.d.ts.map +1 -0
  273. package/dist/lib/start-server.js +103 -0
  274. package/dist/lib/start-server.js.map +1 -0
  275. package/dist/middleware/backpressure.d.ts +11 -0
  276. package/dist/middleware/backpressure.d.ts.map +1 -0
  277. package/dist/middleware/backpressure.js +55 -0
  278. package/dist/middleware/backpressure.js.map +1 -0
  279. package/dist/middleware/cache.d.ts +10 -0
  280. package/dist/middleware/cache.d.ts.map +1 -0
  281. package/dist/middleware/cache.js +97 -0
  282. package/dist/middleware/cache.js.map +1 -0
  283. package/dist/middleware/compression.d.ts +3 -0
  284. package/dist/middleware/compression.d.ts.map +1 -0
  285. package/dist/middleware/compression.js +132 -0
  286. package/dist/middleware/compression.js.map +1 -0
  287. package/dist/middleware/dedupe.d.ts +10 -0
  288. package/dist/middleware/dedupe.d.ts.map +1 -0
  289. package/dist/middleware/dedupe.js +79 -0
  290. package/dist/middleware/dedupe.js.map +1 -0
  291. package/dist/middleware/exception-filter.d.ts +9 -0
  292. package/dist/middleware/exception-filter.d.ts.map +1 -0
  293. package/dist/middleware/exception-filter.js +26 -0
  294. package/dist/middleware/exception-filter.js.map +1 -0
  295. package/dist/middleware/guard.d.ts +11 -0
  296. package/dist/middleware/guard.d.ts.map +1 -0
  297. package/dist/middleware/guard.js +26 -0
  298. package/dist/middleware/guard.js.map +1 -0
  299. package/dist/middleware/interceptor.d.ts +4 -0
  300. package/dist/middleware/interceptor.d.ts.map +1 -0
  301. package/dist/middleware/interceptor.js +32 -0
  302. package/dist/middleware/interceptor.js.map +1 -0
  303. package/dist/middleware/ip-filter.d.ts +11 -0
  304. package/dist/middleware/ip-filter.d.ts.map +1 -0
  305. package/dist/middleware/ip-filter.js +27 -0
  306. package/dist/middleware/ip-filter.js.map +1 -0
  307. package/dist/middleware/middleware.d.ts +26 -0
  308. package/dist/middleware/middleware.d.ts.map +1 -0
  309. package/dist/middleware/middleware.js +271 -0
  310. package/dist/middleware/middleware.js.map +1 -0
  311. package/dist/middleware/pipe.d.ts +9 -0
  312. package/dist/middleware/pipe.d.ts.map +1 -0
  313. package/dist/middleware/pipe.js +24 -0
  314. package/dist/middleware/pipe.js.map +1 -0
  315. package/dist/middleware/security.d.ts +53 -0
  316. package/dist/middleware/security.d.ts.map +1 -0
  317. package/dist/middleware/security.js +257 -0
  318. package/dist/middleware/security.js.map +1 -0
  319. package/dist/module/module.d.ts +17 -0
  320. package/dist/module/module.d.ts.map +1 -0
  321. package/dist/module/module.js +37 -0
  322. package/dist/module/module.js.map +1 -0
  323. package/dist/observability/health.d.ts +23 -0
  324. package/dist/observability/health.d.ts.map +1 -0
  325. package/dist/observability/health.js +49 -0
  326. package/dist/observability/health.js.map +1 -0
  327. package/dist/observability/index.d.ts +4 -0
  328. package/dist/observability/index.d.ts.map +1 -0
  329. package/dist/observability/index.js +10 -0
  330. package/dist/observability/index.js.map +1 -0
  331. package/dist/observability/otel.d.ts +27 -0
  332. package/dist/observability/otel.d.ts.map +1 -0
  333. package/dist/observability/otel.js +45 -0
  334. package/dist/observability/otel.js.map +1 -0
  335. package/dist/observability/prometheus.d.ts +30 -0
  336. package/dist/observability/prometheus.d.ts.map +1 -0
  337. package/dist/observability/prometheus.js +31 -0
  338. package/dist/observability/prometheus.js.map +1 -0
  339. package/dist/queue/client.d.ts +13 -0
  340. package/dist/queue/client.d.ts.map +1 -0
  341. package/dist/queue/client.js +64 -0
  342. package/dist/queue/client.js.map +1 -0
  343. package/dist/queue/drivers/MemoryDriver.d.ts +17 -0
  344. package/dist/queue/drivers/MemoryDriver.d.ts.map +1 -0
  345. package/dist/queue/drivers/MemoryDriver.js +109 -0
  346. package/dist/queue/drivers/MemoryDriver.js.map +1 -0
  347. package/dist/queue/drivers/RedisDriver.d.ts +18 -0
  348. package/dist/queue/drivers/RedisDriver.d.ts.map +1 -0
  349. package/dist/queue/drivers/RedisDriver.js +120 -0
  350. package/dist/queue/drivers/RedisDriver.js.map +1 -0
  351. package/dist/queue/index.d.ts +12 -0
  352. package/dist/queue/index.d.ts.map +1 -0
  353. package/dist/queue/index.js +27 -0
  354. package/dist/queue/index.js.map +1 -0
  355. package/dist/queue/types.d.ts +51 -0
  356. package/dist/queue/types.d.ts.map +1 -0
  357. package/dist/queue/types.js +3 -0
  358. package/dist/queue/types.js.map +1 -0
  359. package/dist/queue/worker.d.ts +18 -0
  360. package/dist/queue/worker.d.ts.map +1 -0
  361. package/dist/queue/worker.js +160 -0
  362. package/dist/queue/worker.js.map +1 -0
  363. package/dist/response/index.d.ts +16 -0
  364. package/dist/response/index.d.ts.map +1 -0
  365. package/dist/response/index.js +19 -0
  366. package/dist/response/index.js.map +1 -0
  367. package/dist/router/gateway.d.ts +64 -0
  368. package/dist/router/gateway.d.ts.map +1 -0
  369. package/dist/router/gateway.js +11 -0
  370. package/dist/router/gateway.js.map +1 -0
  371. package/dist/router/radix.d.ts +42 -0
  372. package/dist/router/radix.d.ts.map +1 -0
  373. package/dist/router/radix.js +523 -0
  374. package/dist/router/radix.js.map +1 -0
  375. package/dist/router/router.d.ts +59 -0
  376. package/dist/router/router.d.ts.map +1 -0
  377. package/dist/router/router.js +386 -0
  378. package/dist/router/router.js.map +1 -0
  379. package/dist/server/app.d.ts +206 -0
  380. package/dist/server/app.d.ts.map +1 -0
  381. package/dist/server/app.js +2191 -0
  382. package/dist/server/app.js.map +1 -0
  383. package/dist/server/cluster.d.ts +52 -0
  384. package/dist/server/cluster.d.ts.map +1 -0
  385. package/dist/server/cluster.js +165 -0
  386. package/dist/server/cluster.js.map +1 -0
  387. package/dist/server/context.d.ts +40 -0
  388. package/dist/server/context.d.ts.map +1 -0
  389. package/dist/server/context.js +74 -0
  390. package/dist/server/context.js.map +1 -0
  391. package/dist/server/define.d.ts +14 -0
  392. package/dist/server/define.d.ts.map +1 -0
  393. package/dist/server/define.js +22 -0
  394. package/dist/server/define.js.map +1 -0
  395. package/dist/server/dep-graph.d.ts +2 -0
  396. package/dist/server/dep-graph.d.ts.map +1 -0
  397. package/dist/server/dep-graph.js +109 -0
  398. package/dist/server/dep-graph.js.map +1 -0
  399. package/dist/server/dev-error-overlay.d.ts +3 -0
  400. package/dist/server/dev-error-overlay.d.ts.map +1 -0
  401. package/dist/server/dev-error-overlay.js +116 -0
  402. package/dist/server/dev-error-overlay.js.map +1 -0
  403. package/dist/server/hot-reload.d.ts +28 -0
  404. package/dist/server/hot-reload.d.ts.map +1 -0
  405. package/dist/server/hot-reload.js +253 -0
  406. package/dist/server/hot-reload.js.map +1 -0
  407. package/dist/server/request.d.ts +71 -0
  408. package/dist/server/request.d.ts.map +1 -0
  409. package/dist/server/request.js +408 -0
  410. package/dist/server/request.js.map +1 -0
  411. package/dist/server/response.d.ts +36 -0
  412. package/dist/server/response.d.ts.map +1 -0
  413. package/dist/server/response.js +254 -0
  414. package/dist/server/response.js.map +1 -0
  415. package/dist/server/route.d.ts +148 -0
  416. package/dist/server/route.d.ts.map +1 -0
  417. package/dist/server/route.js +56 -0
  418. package/dist/server/route.js.map +1 -0
  419. package/dist/server/sse.d.ts +16 -0
  420. package/dist/server/sse.d.ts.map +1 -0
  421. package/dist/server/sse.js +51 -0
  422. package/dist/server/sse.js.map +1 -0
  423. package/dist/server/uws-adapter.d.ts +101 -0
  424. package/dist/server/uws-adapter.d.ts.map +1 -0
  425. package/dist/server/uws-adapter.js +338 -0
  426. package/dist/server/uws-adapter.js.map +1 -0
  427. package/dist/swagger/index.d.ts +9 -0
  428. package/dist/swagger/index.d.ts.map +1 -0
  429. package/dist/swagger/index.js +147 -0
  430. package/dist/swagger/index.js.map +1 -0
  431. package/dist/testing/client.d.ts +44 -0
  432. package/dist/testing/client.d.ts.map +1 -0
  433. package/dist/testing/client.js +105 -0
  434. package/dist/testing/client.js.map +1 -0
  435. package/dist/testing/index.d.ts +7 -0
  436. package/dist/testing/index.d.ts.map +1 -0
  437. package/dist/testing/index.js +128 -0
  438. package/dist/testing/index.js.map +1 -0
  439. package/dist/testing/mocks.d.ts +25 -0
  440. package/dist/testing/mocks.d.ts.map +1 -0
  441. package/dist/testing/mocks.js +117 -0
  442. package/dist/testing/mocks.js.map +1 -0
  443. package/dist/testing/reporter.d.ts +13 -0
  444. package/dist/testing/reporter.d.ts.map +1 -0
  445. package/dist/testing/reporter.js +101 -0
  446. package/dist/testing/reporter.js.map +1 -0
  447. package/dist/threads/pool.d.ts +13 -0
  448. package/dist/threads/pool.d.ts.map +1 -0
  449. package/dist/threads/pool.js +93 -0
  450. package/dist/threads/pool.js.map +1 -0
  451. package/dist/threads/worker-runner.d.ts +2 -0
  452. package/dist/threads/worker-runner.d.ts.map +1 -0
  453. package/dist/threads/worker-runner.js +71 -0
  454. package/dist/threads/worker-runner.js.map +1 -0
  455. package/dist/types.d.ts +200 -0
  456. package/dist/types.d.ts.map +1 -0
  457. package/dist/types.js +3 -0
  458. package/dist/types.js.map +1 -0
  459. package/dist/utils/circuit-breaker.d.ts +30 -0
  460. package/dist/utils/circuit-breaker.d.ts.map +1 -0
  461. package/dist/utils/circuit-breaker.js +72 -0
  462. package/dist/utils/circuit-breaker.js.map +1 -0
  463. package/dist/utils/config.d.ts +9 -0
  464. package/dist/utils/config.d.ts.map +1 -0
  465. package/dist/utils/config.js +229 -0
  466. package/dist/utils/config.js.map +1 -0
  467. package/dist/utils/env.d.ts +25 -0
  468. package/dist/utils/env.d.ts.map +1 -0
  469. package/dist/utils/env.js +155 -0
  470. package/dist/utils/env.js.map +1 -0
  471. package/dist/utils/errors.d.ts +51 -0
  472. package/dist/utils/errors.d.ts.map +1 -0
  473. package/dist/utils/errors.js +233 -0
  474. package/dist/utils/errors.js.map +1 -0
  475. package/dist/utils/logger.d.ts +6 -0
  476. package/dist/utils/logger.d.ts.map +1 -0
  477. package/dist/utils/logger.js +70 -0
  478. package/dist/utils/logger.js.map +1 -0
  479. package/dist/utils/plugin.d.ts +7 -0
  480. package/dist/utils/plugin.d.ts.map +1 -0
  481. package/dist/utils/plugin.js +30 -0
  482. package/dist/utils/plugin.js.map +1 -0
  483. package/dist/utils/validator.d.ts +300 -0
  484. package/dist/utils/validator.d.ts.map +1 -0
  485. package/dist/utils/validator.js +719 -0
  486. package/dist/utils/validator.js.map +1 -0
  487. package/dist/websocket/server.d.ts +66 -0
  488. package/dist/websocket/server.d.ts.map +1 -0
  489. package/dist/websocket/server.js +156 -0
  490. package/dist/websocket/server.js.map +1 -0
  491. package/dist/websocket/socket.d.ts +119 -0
  492. package/dist/websocket/socket.d.ts.map +1 -0
  493. package/dist/websocket/socket.js +240 -0
  494. package/dist/websocket/socket.js.map +1 -0
  495. package/package.json +270 -0
@@ -0,0 +1,523 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadixNode = exports.RadixTree = void 0;
4
+ // ─── Radix Node ──────────────────────────────────────────────────────────────
5
+ // Flat, cache-friendly structure. No Map, no Record — just plain properties.
6
+ class RadixNode {
7
+ constructor() {
8
+ // Node identity
9
+ this.kind = 0 /* NodeKind.STATIC */;
10
+ this.part = '';
11
+ // ─── Method Store ──────────────────────────────────────────────────────────
12
+ // Stores routes keyed by HTTP method. Uses a flat object for fastest property
13
+ // lookup. For hot-path methods (GET/POST), we use dedicated slots to skip
14
+ // the property lookup entirely.
15
+ this.routeGET = null;
16
+ this.routePOST = null;
17
+ this.routeALL = null;
18
+ this.routeOther = null;
19
+ // ─── Children ──────────────────────────────────────────────────────────────
20
+ // Static children are stored as a direct-index array keyed by the first
21
+ // character code of the segment. This avoids Map overhead entirely.
22
+ // For segments sharing the same first char, we chain in a small array.
23
+ this.staticChildren = null;
24
+ this.staticChildKeys = null;
25
+ // Param child — at most one per node level
26
+ this.paramChild = null;
27
+ this.paramName = '';
28
+ // Wildcard child — at most one per node level
29
+ this.wildcardChild = null;
30
+ this.wildcardName = '';
31
+ }
32
+ _addRouteToArray(existing, route) {
33
+ if (!existing)
34
+ return route;
35
+ if (Array.isArray(existing)) {
36
+ if (route.host)
37
+ existing.unshift(route);
38
+ else
39
+ existing.push(route);
40
+ return existing;
41
+ }
42
+ const arr = [existing];
43
+ if (route.host)
44
+ arr.unshift(route);
45
+ else
46
+ arr.push(route);
47
+ return arr;
48
+ }
49
+ setRoute(method, route) {
50
+ if (route.host && !route._hostRegexes) {
51
+ const hostList = Array.isArray(route.host) ? route.host : [route.host];
52
+ route._hostRegexes = {};
53
+ for (const h of hostList) {
54
+ if (h.includes(':')) {
55
+ const regexStr = h.replace(/:([a-zA-Z0-9_]+)/g, '(?<$1>[^.]+)');
56
+ route._hostRegexes[h] = new RegExp('^' + regexStr + '$');
57
+ }
58
+ }
59
+ }
60
+ switch (method) {
61
+ case 'GET':
62
+ this.routeGET = this._addRouteToArray(this.routeGET, route);
63
+ return;
64
+ case 'POST':
65
+ this.routePOST = this._addRouteToArray(this.routePOST, route);
66
+ return;
67
+ case 'ALL':
68
+ this.routeALL = this._addRouteToArray(this.routeALL, route);
69
+ return;
70
+ default:
71
+ if (!this.routeOther)
72
+ this.routeOther = Object.create(null);
73
+ this.routeOther[method] = this._addRouteToArray(this.routeOther[method] || null, route);
74
+ }
75
+ }
76
+ getRoute(method, host) {
77
+ let routes;
78
+ switch (method) {
79
+ case 'GET':
80
+ routes = this.routeGET || this.routeALL;
81
+ break;
82
+ case 'POST':
83
+ routes = this.routePOST || this.routeALL;
84
+ break;
85
+ default:
86
+ if (this.routeOther) {
87
+ const r = this.routeOther[method];
88
+ routes = r || this.routeALL;
89
+ }
90
+ else {
91
+ routes = this.routeALL;
92
+ }
93
+ }
94
+ if (!routes)
95
+ return null;
96
+ if (!Array.isArray(routes)) {
97
+ if (routes.host) {
98
+ if (!host)
99
+ return null;
100
+ const hostList = Array.isArray(routes.host) ? routes.host : [routes.host];
101
+ let matched = false;
102
+ let hostParams = undefined;
103
+ for (const h of hostList) {
104
+ if (routes._hostRegexes && routes._hostRegexes[h]) {
105
+ const match = host.match(routes._hostRegexes[h]);
106
+ if (match) {
107
+ matched = true;
108
+ if (match.groups)
109
+ hostParams = match.groups;
110
+ break;
111
+ }
112
+ }
113
+ else if (h === host) {
114
+ matched = true;
115
+ break;
116
+ }
117
+ }
118
+ if (!matched)
119
+ return null;
120
+ return hostParams ? { route: routes, hostParams } : { route: routes };
121
+ }
122
+ return { route: routes };
123
+ }
124
+ for (const route of routes) {
125
+ if (!route.host)
126
+ return { route }; // fallback matches any host
127
+ if (!host)
128
+ continue;
129
+ const hostList = Array.isArray(route.host) ? route.host : [route.host];
130
+ for (const h of hostList) {
131
+ if (route._hostRegexes && route._hostRegexes[h]) {
132
+ const match = host.match(route._hostRegexes[h]);
133
+ if (match)
134
+ return { route, hostParams: match.groups };
135
+ }
136
+ else if (h === host) {
137
+ return { route };
138
+ }
139
+ }
140
+ }
141
+ return null;
142
+ }
143
+ findStaticChild(segment) {
144
+ const keys = this.staticChildKeys;
145
+ if (keys === null)
146
+ return null;
147
+ // Linear scan — number of children per node is small (< 20 typically)
148
+ for (let i = 0; i < keys.length; i++) {
149
+ if (keys[i] === segment)
150
+ return this.staticChildren[i];
151
+ }
152
+ return null;
153
+ }
154
+ addStaticChild(segment, child) {
155
+ if (this.staticChildKeys === null) {
156
+ this.staticChildKeys = [segment];
157
+ this.staticChildren = [child];
158
+ }
159
+ else {
160
+ this.staticChildKeys.push(segment);
161
+ this.staticChildren.push(child);
162
+ }
163
+ }
164
+ }
165
+ exports.RadixNode = RadixNode;
166
+ // ─── Radix Tree ──────────────────────────────────────────────────────────────
167
+ class RadixTree {
168
+ constructor() {
169
+ this.root = new RadixNode();
170
+ this.cache = new Map();
171
+ this.cacheSize = 0;
172
+ this.maxCacheSize = 1000;
173
+ }
174
+ // ─── Insert ──────────────────────────────────────────────────────────────────
175
+ insert(method, path, route) {
176
+ let current = this.root;
177
+ const len = path.length;
178
+ // Fast segment iterator — avoids split() + filter() allocations
179
+ let i = 0;
180
+ // Skip leading slash
181
+ if (i < len && path.charCodeAt(i) === 47 /* / */)
182
+ i++;
183
+ while (i < len) {
184
+ // Find end of segment
185
+ let j = i;
186
+ while (j < len && path.charCodeAt(j) !== 47 /* / */)
187
+ j++;
188
+ const segment = path.substring(i, j);
189
+ const firstChar = segment.charCodeAt(0);
190
+ if (firstChar === 58 /* : */) {
191
+ // ─── Param ─────────────────────────────────────────────────────
192
+ const paramName = segment.substring(1);
193
+ if (!current.paramChild) {
194
+ const child = new RadixNode();
195
+ child.kind = 1 /* NodeKind.PARAM */;
196
+ child.part = segment;
197
+ child.paramName = paramName;
198
+ current.paramChild = child;
199
+ }
200
+ current = current.paramChild;
201
+ }
202
+ else if (firstChar === 42 /* * */) {
203
+ // ─── Wildcard ──────────────────────────────────────────────────
204
+ const wildcardName = segment.length > 1 ? segment.substring(1) : '*';
205
+ if (!current.wildcardChild) {
206
+ const child = new RadixNode();
207
+ child.kind = 2 /* NodeKind.WILDCARD */;
208
+ child.part = segment;
209
+ child.wildcardName = wildcardName;
210
+ current.wildcardChild = child;
211
+ }
212
+ current = current.wildcardChild;
213
+ break; // Wildcard eats the rest
214
+ }
215
+ else {
216
+ // ─── Static ────────────────────────────────────────────────────
217
+ let child = current.findStaticChild(segment);
218
+ if (!child) {
219
+ child = new RadixNode();
220
+ child.part = segment;
221
+ current.addStaticChild(segment, child);
222
+ }
223
+ current = child;
224
+ }
225
+ // Skip the slash separator
226
+ i = j + 1;
227
+ }
228
+ current.setRoute(method, route);
229
+ // Clear cache when new routes are inserted
230
+ this.cache.clear();
231
+ this.cacheSize = 0;
232
+ }
233
+ // ─── Search ──────────────────────────────────────────────────────────────────
234
+ // Zero-allocation fast path for the common case (static-only routes).
235
+ // Falls back to backtracking only when param/wildcard children exist.
236
+ search(method, path, host) {
237
+ const cacheKey = method + '|' + path + '|' + (host || '');
238
+ const cached = this.cache.get(cacheKey);
239
+ if (cached !== undefined)
240
+ return cached;
241
+ const len = path.length;
242
+ // Fast-path 1: try the direct static walk first (zero allocations)
243
+ let result = this._staticWalk(method, path, len, host);
244
+ if (result) {
245
+ this._addToCache(cacheKey, result);
246
+ return result;
247
+ }
248
+ // Fast-path 2: linear walk for simple param/wildcard routes
249
+ result = this._linearWalk(method, path, len, host);
250
+ if (result) {
251
+ this._addToCache(cacheKey, result);
252
+ return result;
253
+ }
254
+ // Slow-path: full backtracking search
255
+ result = this._backtrackSearch(method, path, len, host);
256
+ this._addToCache(cacheKey, result);
257
+ return result;
258
+ }
259
+ _addToCache(key, result) {
260
+ if (this.cacheSize >= this.maxCacheSize) {
261
+ this.cache.clear();
262
+ this.cacheSize = 0;
263
+ }
264
+ this.cache.set(key, result);
265
+ this.cacheSize++;
266
+ }
267
+ // ─── Static Walk (Zero Allocation) ─────────────────────────────────────────
268
+ // Walks the tree following only static children. If the route is purely
269
+ // static (no :params or *wildcards involved), this returns in a single
270
+ // straight-line walk with ZERO heap allocations.
271
+ _staticWalk(method, path, len, host) {
272
+ let current = this.root;
273
+ let i = 0;
274
+ if (i < len && path.charCodeAt(i) === 47)
275
+ i++; // skip leading /
276
+ while (i < len) {
277
+ let j = i;
278
+ while (j < len && path.charCodeAt(j) !== 47)
279
+ j++;
280
+ const segment = path.substring(i, j);
281
+ const child = current.findStaticChild(segment);
282
+ if (!child)
283
+ return null;
284
+ current = child;
285
+ i = j + 1;
286
+ }
287
+ const res = current.getRoute(method, host);
288
+ if (!res)
289
+ return null;
290
+ // Static match → empty params or host params
291
+ return { route: res.route, params: res.hostParams || emptyParams };
292
+ }
293
+ // ─── Linear Walk (Minimal Allocation) ───────────────────────────────────────
294
+ // For routes like /api/users/:id — walks linearly through the tree
295
+ // trying static → param → wildcard at each level. If at any point
296
+ // there are multiple possible children (needing backtracking), bail out
297
+ // and let _backtrackSearch handle it.
298
+ //
299
+ // Key optimization: stores raw segments and defers decodeURIComponent
300
+ // until a match is confirmed. Most URLs contain no %-encoding at all,
301
+ // so we skip it entirely in the common case.
302
+ _linearWalk(method, path, len, host) {
303
+ let current = this.root;
304
+ let i = 0;
305
+ if (i < len && path.charCodeAt(i) === 47)
306
+ i++;
307
+ let paramCount = 0;
308
+ let paramKeys = null;
309
+ let paramVals = null;
310
+ let needsDecode = false;
311
+ while (i < len) {
312
+ let j = path.indexOf('/', i);
313
+ if (j === -1)
314
+ j = len;
315
+ const segment = path.substring(i, j);
316
+ // Try static first
317
+ const staticChild = current.findStaticChild(segment);
318
+ if (staticChild) {
319
+ if (current.paramChild || current.wildcardChild)
320
+ return null;
321
+ current = staticChild;
322
+ i = j + 1;
323
+ continue;
324
+ }
325
+ // Try param
326
+ if (current.paramChild) {
327
+ if (current.wildcardChild)
328
+ return null;
329
+ if (!paramKeys) {
330
+ paramKeys = [];
331
+ paramVals = [];
332
+ }
333
+ paramKeys[paramCount] = current.paramChild.paramName;
334
+ paramVals[paramCount] = segment;
335
+ if (!needsDecode && segment.indexOf('%') !== -1)
336
+ needsDecode = true;
337
+ paramCount++;
338
+ current = current.paramChild;
339
+ i = j + 1;
340
+ continue;
341
+ }
342
+ // Try wildcard
343
+ if (current.wildcardChild) {
344
+ const wName = current.wildcardChild.wildcardName;
345
+ if (wName !== '*') {
346
+ if (!paramKeys) {
347
+ paramKeys = [];
348
+ paramVals = [];
349
+ }
350
+ const rawRemainder = path.substring(i);
351
+ paramKeys[paramCount] = wName;
352
+ paramVals[paramCount] = rawRemainder;
353
+ if (!needsDecode && rawRemainder.indexOf('%') !== -1)
354
+ needsDecode = true;
355
+ paramCount++;
356
+ }
357
+ current = current.wildcardChild;
358
+ break;
359
+ }
360
+ // No match at all
361
+ return null;
362
+ }
363
+ const res = current.getRoute(method, host);
364
+ if (!res) {
365
+ // Check wildcard matching empty remainder
366
+ if (current.wildcardChild) {
367
+ const wRes = current.wildcardChild.getRoute(method, host);
368
+ if (wRes) {
369
+ const wRoute = wRes.route;
370
+ const wName = current.wildcardChild.wildcardName;
371
+ if (wName !== '*') {
372
+ if (!paramKeys) {
373
+ paramKeys = [];
374
+ paramVals = [];
375
+ }
376
+ paramKeys[paramCount] = wName;
377
+ paramVals[paramCount] = '';
378
+ paramCount++;
379
+ }
380
+ const wParams = buildParamsLazy(paramKeys, paramVals, paramCount, needsDecode);
381
+ if (wRes.hostParams)
382
+ Object.assign(wParams, wRes.hostParams);
383
+ return {
384
+ route: wRoute,
385
+ params: wParams,
386
+ };
387
+ }
388
+ }
389
+ return null;
390
+ }
391
+ if (paramCount === 0 && !res.hostParams)
392
+ return { route: res.route, params: emptyParams };
393
+ const params = buildParamsLazy(paramKeys, paramVals, paramCount, needsDecode);
394
+ if (res.hostParams)
395
+ Object.assign(params, res.hostParams);
396
+ return {
397
+ route: res.route,
398
+ params,
399
+ };
400
+ }
401
+ // ─── Backtrack Search ──────────────────────────────────────────────────────
402
+ // Uses an iterative approach with minimal allocations. Builds params
403
+ // only when a match is confirmed (lazy param construction).
404
+ _backtrackSearch(method, path, len, host) {
405
+ // Stack frames: [node, pathIdx, paramKeysSnapshot, paramValsSnapshot]
406
+ const sNodes = [this.root];
407
+ let startIdx = 0;
408
+ if (startIdx < len && path.charCodeAt(startIdx) === 47)
409
+ startIdx++;
410
+ const sIdxs = [startIdx];
411
+ const sParamKeys = [[]];
412
+ const sParamVals = [[]];
413
+ let stackLen = 1;
414
+ while (stackLen > 0) {
415
+ stackLen--;
416
+ const node = sNodes[stackLen];
417
+ const idx = sIdxs[stackLen];
418
+ const pKeys = sParamKeys[stackLen];
419
+ const pVals = sParamVals[stackLen];
420
+ // ─── End of path ──────────────────────────────────────────────────
421
+ if (idx >= len) {
422
+ const res = node.getRoute(method, host);
423
+ if (res) {
424
+ const params = buildParams(pKeys, pVals);
425
+ if (res.hostParams)
426
+ Object.assign(params, res.hostParams);
427
+ return { route: res.route, params };
428
+ }
429
+ // Check wildcard matching empty remainder
430
+ if (node.wildcardChild) {
431
+ const wRes = node.wildcardChild.getRoute(method, host);
432
+ if (wRes) {
433
+ const wRoute = wRes.route;
434
+ const wName = node.wildcardChild.wildcardName;
435
+ let wParams;
436
+ if (wName !== '*') {
437
+ wParams = buildParams([...pKeys, wName], [...pVals, '']);
438
+ }
439
+ else {
440
+ wParams = buildParams(pKeys, pVals);
441
+ }
442
+ if (wRes.hostParams)
443
+ Object.assign(wParams, wRes.hostParams);
444
+ return { route: wRoute, params: wParams };
445
+ }
446
+ }
447
+ continue;
448
+ }
449
+ let nextSlash = path.indexOf('/', idx);
450
+ if (nextSlash === -1)
451
+ nextSlash = len;
452
+ const segment = path.substring(idx, nextSlash);
453
+ // Push in priority order: wildcard (lowest) → param → static (highest)
454
+ // 1. Wildcard
455
+ if (node.wildcardChild) {
456
+ const wRes = node.wildcardChild.getRoute(method, host);
457
+ if (wRes) {
458
+ const wName = node.wildcardChild.wildcardName;
459
+ const rawRemainder = path.substring(idx);
460
+ const wKeys = wName !== '*' ? [...pKeys, wName] : pKeys.slice();
461
+ const wVals = wName !== '*' ? [...pVals, rawRemainder] : pVals.slice();
462
+ sNodes[stackLen] = node.wildcardChild;
463
+ sIdxs[stackLen] = len;
464
+ sParamKeys[stackLen] = wKeys;
465
+ sParamVals[stackLen] = wVals;
466
+ stackLen++;
467
+ }
468
+ }
469
+ // 2. Param
470
+ if (node.paramChild) {
471
+ sNodes[stackLen] = node.paramChild;
472
+ sIdxs[stackLen] = nextSlash + 1;
473
+ sParamKeys[stackLen] = [...pKeys, node.paramChild.paramName];
474
+ sParamVals[stackLen] = [...pVals, segment];
475
+ stackLen++;
476
+ }
477
+ // 3. Static
478
+ const staticChild = node.findStaticChild(segment);
479
+ if (staticChild) {
480
+ sNodes[stackLen] = staticChild;
481
+ sIdxs[stackLen] = nextSlash + 1;
482
+ sParamKeys[stackLen] = pKeys;
483
+ sParamVals[stackLen] = pVals;
484
+ stackLen++;
485
+ }
486
+ }
487
+ return null;
488
+ }
489
+ }
490
+ exports.RadixTree = RadixTree;
491
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
492
+ // Frozen empty params object — reused across all pure-static matches
493
+ const emptyParams = Object.freeze(Object.create(null));
494
+ // Build a params object from parallel key/value arrays
495
+ function buildParams(keys, vals, count) {
496
+ const len = count !== undefined ? count : keys.length;
497
+ if (len === 0)
498
+ return emptyParams;
499
+ const params = {};
500
+ for (let i = 0; i < len; i++) {
501
+ const v = vals[i];
502
+ params[keys[i]] = v.indexOf('%') !== -1 ? decodeURIComponent(v) : v;
503
+ }
504
+ return params;
505
+ }
506
+ // Build params, lazily decoding only if %-encoded chars were found
507
+ function buildParamsLazy(keys, vals, count, needsDecode) {
508
+ if (count === 0 || !keys || !vals)
509
+ return emptyParams;
510
+ const params = {};
511
+ if (needsDecode) {
512
+ for (let i = 0; i < count; i++) {
513
+ params[keys[i]] = decodeURIComponent(vals[i]);
514
+ }
515
+ }
516
+ else {
517
+ for (let i = 0; i < count; i++) {
518
+ params[keys[i]] = vals[i];
519
+ }
520
+ }
521
+ return params;
522
+ }
523
+ //# sourceMappingURL=radix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix.js","sourceRoot":"","sources":["../../src/router/radix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { Handler, Route, RouteHandler, RouteSchema, RouteMatch, Request, Response } from '../types';
2
+ export declare class Router<TRoutes extends Record<string, any> = {}> {
3
+ private routes;
4
+ private middlewares;
5
+ private prefix;
6
+ private tree;
7
+ constructor(prefix?: string);
8
+ getRoutes(): Route[];
9
+ private rebuildTree;
10
+ use(...handlers: Handler<any, any, any>[]): this;
11
+ private addRoute;
12
+ get<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
13
+ get: Record<Path, Schema>;
14
+ }>;
15
+ post<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
16
+ post: Record<Path, Schema>;
17
+ }>;
18
+ put<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
19
+ put: Record<Path, Schema>;
20
+ }>;
21
+ patch<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
22
+ patch: Record<Path, Schema>;
23
+ }>;
24
+ delete<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
25
+ delete: Record<Path, Schema>;
26
+ }>;
27
+ options<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
28
+ options: Record<Path, Schema>;
29
+ }>;
30
+ head<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
31
+ head: Record<Path, Schema>;
32
+ }>;
33
+ connect<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
34
+ connect: Record<Path, Schema>;
35
+ }>;
36
+ trace<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
37
+ trace: Record<Path, Schema>;
38
+ }>;
39
+ query<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
40
+ query: Record<Path, Schema>;
41
+ }>;
42
+ ws<Path extends string>(path: Path, ...handlers: (Handler<any, any, any> | import('../types').WsHandler)[]): Router<TRoutes & {
43
+ ws: Record<Path, any>;
44
+ }>;
45
+ sse<Path extends string>(path: Path, ...handlers: (Handler<any, any, any> | import('../types').SseHandler)[]): Router<TRoutes & {
46
+ sse: Record<Path, any>;
47
+ }>;
48
+ all<Path extends string, Schema extends RouteSchema<any, any, any, any>>(path: Path, ...handlers: [...Handler<any, any, any>[], Schema, Handler<any, any, any>] | RouteHandler<any, any, any, any>[]): Router<TRoutes & {
49
+ all: Record<Path, Schema>;
50
+ }>;
51
+ group(prefix: string, callback: (router: Router) => void): this;
52
+ match(method: string, path: string, host?: string): RouteMatch | null;
53
+ handle(req: Request, res: Response, fallthrough?: (err?: Error) => void): void;
54
+ addRawRoute(route: Route): void;
55
+ getMiddlewares(): Handler[];
56
+ removeRoutesBySource(sourceFile: string): number;
57
+ }
58
+ export declare function runHandlers(handlers: Handler<any, any, any>[], req: Request, res: Response, done?: (err?: Error) => void, filters?: any[]): void;
59
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}