@engjts/nexus 0.1.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 (843) hide show
  1. package/README.md +164 -0
  2. package/dist/advanced/cache/InMemoryCacheStore.d.ts +18 -0
  3. package/dist/advanced/cache/InMemoryCacheStore.d.ts.map +1 -0
  4. package/dist/advanced/cache/InMemoryCacheStore.js +60 -0
  5. package/dist/advanced/cache/InMemoryCacheStore.js.map +1 -0
  6. package/dist/advanced/cache/MultiTierCache.d.ts +55 -0
  7. package/dist/advanced/cache/MultiTierCache.d.ts.map +1 -0
  8. package/dist/advanced/cache/MultiTierCache.js +159 -0
  9. package/dist/advanced/cache/MultiTierCache.js.map +1 -0
  10. package/dist/advanced/cache/RedisCacheStore.d.ts +153 -0
  11. package/dist/advanced/cache/RedisCacheStore.d.ts.map +1 -0
  12. package/dist/advanced/cache/RedisCacheStore.js +247 -0
  13. package/dist/advanced/cache/RedisCacheStore.js.map +1 -0
  14. package/dist/advanced/cache/index.d.ts +6 -0
  15. package/dist/advanced/cache/index.d.ts.map +1 -0
  16. package/dist/advanced/cache/index.js +26 -0
  17. package/dist/advanced/cache/index.js.map +1 -0
  18. package/dist/advanced/cache/types.d.ts +35 -0
  19. package/dist/advanced/cache/types.d.ts.map +1 -0
  20. package/dist/advanced/cache/types.js +3 -0
  21. package/dist/advanced/cache/types.js.map +1 -0
  22. package/dist/advanced/graphql/SimpleDataLoader.d.ts +8 -0
  23. package/dist/advanced/graphql/SimpleDataLoader.d.ts.map +1 -0
  24. package/dist/advanced/graphql/SimpleDataLoader.js +43 -0
  25. package/dist/advanced/graphql/SimpleDataLoader.js.map +1 -0
  26. package/dist/advanced/graphql/index.d.ts +15 -0
  27. package/dist/advanced/graphql/index.d.ts.map +1 -0
  28. package/dist/advanced/graphql/index.js +19 -0
  29. package/dist/advanced/graphql/index.js.map +1 -0
  30. package/dist/advanced/graphql/server.d.ts +23 -0
  31. package/dist/advanced/graphql/server.d.ts.map +1 -0
  32. package/dist/advanced/graphql/server.js +208 -0
  33. package/dist/advanced/graphql/server.js.map +1 -0
  34. package/dist/advanced/graphql/types.d.ts +45 -0
  35. package/dist/advanced/graphql/types.d.ts.map +1 -0
  36. package/dist/advanced/graphql/types.js +3 -0
  37. package/dist/advanced/graphql/types.js.map +1 -0
  38. package/dist/advanced/jobs/InMemoryQueueStore.d.ts +14 -0
  39. package/dist/advanced/jobs/InMemoryQueueStore.d.ts.map +1 -0
  40. package/dist/advanced/jobs/InMemoryQueueStore.js +59 -0
  41. package/dist/advanced/jobs/InMemoryQueueStore.js.map +1 -0
  42. package/dist/advanced/jobs/JobQueue.d.ts +178 -0
  43. package/dist/advanced/jobs/JobQueue.d.ts.map +1 -0
  44. package/dist/advanced/jobs/JobQueue.js +440 -0
  45. package/dist/advanced/jobs/JobQueue.js.map +1 -0
  46. package/dist/advanced/jobs/RedisQueueStore.d.ts +157 -0
  47. package/dist/advanced/jobs/RedisQueueStore.d.ts.map +1 -0
  48. package/dist/advanced/jobs/RedisQueueStore.js +264 -0
  49. package/dist/advanced/jobs/RedisQueueStore.js.map +1 -0
  50. package/dist/advanced/jobs/index.d.ts +6 -0
  51. package/dist/advanced/jobs/index.d.ts.map +1 -0
  52. package/dist/advanced/jobs/index.js +26 -0
  53. package/dist/advanced/jobs/index.js.map +1 -0
  54. package/dist/advanced/jobs/types.d.ts +64 -0
  55. package/dist/advanced/jobs/types.d.ts.map +1 -0
  56. package/dist/advanced/jobs/types.js +3 -0
  57. package/dist/advanced/jobs/types.js.map +1 -0
  58. package/dist/advanced/observability/APMManager.d.ts +64 -0
  59. package/dist/advanced/observability/APMManager.d.ts.map +1 -0
  60. package/dist/advanced/observability/APMManager.js +150 -0
  61. package/dist/advanced/observability/APMManager.js.map +1 -0
  62. package/dist/advanced/observability/AlertManager.d.ts +30 -0
  63. package/dist/advanced/observability/AlertManager.d.ts.map +1 -0
  64. package/dist/advanced/observability/AlertManager.js +98 -0
  65. package/dist/advanced/observability/AlertManager.js.map +1 -0
  66. package/dist/advanced/observability/MetricRegistry.d.ts +37 -0
  67. package/dist/advanced/observability/MetricRegistry.d.ts.map +1 -0
  68. package/dist/advanced/observability/MetricRegistry.js +129 -0
  69. package/dist/advanced/observability/MetricRegistry.js.map +1 -0
  70. package/dist/advanced/observability/ObservabilityCenter.d.ts +113 -0
  71. package/dist/advanced/observability/ObservabilityCenter.d.ts.map +1 -0
  72. package/dist/advanced/observability/ObservabilityCenter.js +266 -0
  73. package/dist/advanced/observability/ObservabilityCenter.js.map +1 -0
  74. package/dist/advanced/observability/StructuredLogger.d.ts +25 -0
  75. package/dist/advanced/observability/StructuredLogger.d.ts.map +1 -0
  76. package/dist/advanced/observability/StructuredLogger.js +137 -0
  77. package/dist/advanced/observability/StructuredLogger.js.map +1 -0
  78. package/dist/advanced/observability/TracingManager.d.ts +31 -0
  79. package/dist/advanced/observability/TracingManager.d.ts.map +1 -0
  80. package/dist/advanced/observability/TracingManager.js +105 -0
  81. package/dist/advanced/observability/TracingManager.js.map +1 -0
  82. package/dist/advanced/observability/adapters.d.ts +134 -0
  83. package/dist/advanced/observability/adapters.d.ts.map +1 -0
  84. package/dist/advanced/observability/adapters.js +257 -0
  85. package/dist/advanced/observability/adapters.js.map +1 -0
  86. package/dist/advanced/observability/createObservabilityMiddleware.d.ts +8 -0
  87. package/dist/advanced/observability/createObservabilityMiddleware.d.ts.map +1 -0
  88. package/dist/advanced/observability/createObservabilityMiddleware.js +46 -0
  89. package/dist/advanced/observability/createObservabilityMiddleware.js.map +1 -0
  90. package/dist/advanced/observability/index.d.ts +2 -0
  91. package/dist/advanced/observability/index.d.ts.map +1 -0
  92. package/dist/advanced/observability/index.js +13 -0
  93. package/dist/advanced/observability/index.js.map +1 -0
  94. package/dist/advanced/observability/types.d.ts +182 -0
  95. package/dist/advanced/observability/types.d.ts.map +1 -0
  96. package/dist/advanced/observability/types.js +3 -0
  97. package/dist/advanced/observability/types.js.map +1 -0
  98. package/dist/advanced/playground/extractPathParams.d.ts +4 -0
  99. package/dist/advanced/playground/extractPathParams.d.ts.map +1 -0
  100. package/dist/advanced/playground/extractPathParams.js +8 -0
  101. package/dist/advanced/playground/extractPathParams.js.map +1 -0
  102. package/dist/advanced/playground/generateFieldExample.d.ts +2 -0
  103. package/dist/advanced/playground/generateFieldExample.d.ts.map +1 -0
  104. package/dist/advanced/playground/generateFieldExample.js +40 -0
  105. package/dist/advanced/playground/generateFieldExample.js.map +1 -0
  106. package/dist/advanced/playground/generatePlaygroundHTML.d.ts +3 -0
  107. package/dist/advanced/playground/generatePlaygroundHTML.d.ts.map +1 -0
  108. package/dist/advanced/playground/generatePlaygroundHTML.js +1848 -0
  109. package/dist/advanced/playground/generatePlaygroundHTML.js.map +1 -0
  110. package/dist/advanced/playground/generateSummary.d.ts +3 -0
  111. package/dist/advanced/playground/generateSummary.d.ts.map +1 -0
  112. package/dist/advanced/playground/generateSummary.js +19 -0
  113. package/dist/advanced/playground/generateSummary.js.map +1 -0
  114. package/dist/advanced/playground/getTagFromPath.d.ts +2 -0
  115. package/dist/advanced/playground/getTagFromPath.d.ts.map +1 -0
  116. package/dist/advanced/playground/getTagFromPath.js +11 -0
  117. package/dist/advanced/playground/getTagFromPath.js.map +1 -0
  118. package/dist/advanced/playground/index.d.ts +7 -0
  119. package/dist/advanced/playground/index.d.ts.map +1 -0
  120. package/dist/advanced/playground/index.js +10 -0
  121. package/dist/advanced/playground/index.js.map +1 -0
  122. package/dist/advanced/playground/playground.d.ts +4 -0
  123. package/dist/advanced/playground/playground.d.ts.map +1 -0
  124. package/dist/advanced/playground/playground.js +139 -0
  125. package/dist/advanced/playground/playground.js.map +1 -0
  126. package/dist/advanced/playground/types.d.ts +18 -0
  127. package/dist/advanced/playground/types.d.ts.map +1 -0
  128. package/dist/advanced/playground/types.js +3 -0
  129. package/dist/advanced/playground/types.js.map +1 -0
  130. package/dist/advanced/playground/zodToExample.d.ts +2 -0
  131. package/dist/advanced/playground/zodToExample.d.ts.map +1 -0
  132. package/dist/advanced/playground/zodToExample.js +22 -0
  133. package/dist/advanced/playground/zodToExample.js.map +1 -0
  134. package/dist/advanced/playground/zodToParams.d.ts +5 -0
  135. package/dist/advanced/playground/zodToParams.d.ts.map +1 -0
  136. package/dist/advanced/playground/zodToParams.js +18 -0
  137. package/dist/advanced/playground/zodToParams.js.map +1 -0
  138. package/dist/advanced/postman/buildAuth.d.ts +3 -0
  139. package/dist/advanced/postman/buildAuth.d.ts.map +1 -0
  140. package/dist/advanced/postman/buildAuth.js +32 -0
  141. package/dist/advanced/postman/buildAuth.js.map +1 -0
  142. package/dist/advanced/postman/buildBody.d.ts +3 -0
  143. package/dist/advanced/postman/buildBody.d.ts.map +1 -0
  144. package/dist/advanced/postman/buildBody.js +15 -0
  145. package/dist/advanced/postman/buildBody.js.map +1 -0
  146. package/dist/advanced/postman/buildQueryParams.d.ts +3 -0
  147. package/dist/advanced/postman/buildQueryParams.d.ts.map +1 -0
  148. package/dist/advanced/postman/buildQueryParams.js +26 -0
  149. package/dist/advanced/postman/buildQueryParams.js.map +1 -0
  150. package/dist/advanced/postman/buildRequestItem.d.ts +3 -0
  151. package/dist/advanced/postman/buildRequestItem.d.ts.map +1 -0
  152. package/dist/advanced/postman/buildRequestItem.js +33 -0
  153. package/dist/advanced/postman/buildRequestItem.js.map +1 -0
  154. package/dist/advanced/postman/buildResponses.d.ts +3 -0
  155. package/dist/advanced/postman/buildResponses.d.ts.map +1 -0
  156. package/dist/advanced/postman/buildResponses.js +12 -0
  157. package/dist/advanced/postman/buildResponses.js.map +1 -0
  158. package/dist/advanced/postman/buildUrl.d.ts +3 -0
  159. package/dist/advanced/postman/buildUrl.d.ts.map +1 -0
  160. package/dist/advanced/postman/buildUrl.js +30 -0
  161. package/dist/advanced/postman/buildUrl.js.map +1 -0
  162. package/dist/advanced/postman/capitalize.d.ts +2 -0
  163. package/dist/advanced/postman/capitalize.d.ts.map +1 -0
  164. package/dist/advanced/postman/capitalize.js +7 -0
  165. package/dist/advanced/postman/capitalize.js.map +1 -0
  166. package/dist/advanced/postman/generateCollection.d.ts +3 -0
  167. package/dist/advanced/postman/generateCollection.d.ts.map +1 -0
  168. package/dist/advanced/postman/generateCollection.js +50 -0
  169. package/dist/advanced/postman/generateCollection.js.map +1 -0
  170. package/dist/advanced/postman/generateEnvironment.d.ts +3 -0
  171. package/dist/advanced/postman/generateEnvironment.d.ts.map +1 -0
  172. package/dist/advanced/postman/generateEnvironment.js +33 -0
  173. package/dist/advanced/postman/generateEnvironment.js.map +1 -0
  174. package/dist/advanced/postman/generateExampleFromZod.d.ts +2 -0
  175. package/dist/advanced/postman/generateExampleFromZod.d.ts.map +1 -0
  176. package/dist/advanced/postman/generateExampleFromZod.js +22 -0
  177. package/dist/advanced/postman/generateExampleFromZod.js.map +1 -0
  178. package/dist/advanced/postman/generateFieldExample.d.ts +2 -0
  179. package/dist/advanced/postman/generateFieldExample.d.ts.map +1 -0
  180. package/dist/advanced/postman/generateFieldExample.js +55 -0
  181. package/dist/advanced/postman/generateFieldExample.js.map +1 -0
  182. package/dist/advanced/postman/generateName.d.ts +3 -0
  183. package/dist/advanced/postman/generateName.d.ts.map +1 -0
  184. package/dist/advanced/postman/generateName.js +19 -0
  185. package/dist/advanced/postman/generateName.js.map +1 -0
  186. package/dist/advanced/postman/generateUUID.d.ts +2 -0
  187. package/dist/advanced/postman/generateUUID.d.ts.map +1 -0
  188. package/dist/advanced/postman/generateUUID.js +14 -0
  189. package/dist/advanced/postman/generateUUID.js.map +1 -0
  190. package/dist/advanced/postman/getTagFromPath.d.ts +2 -0
  191. package/dist/advanced/postman/getTagFromPath.d.ts.map +1 -0
  192. package/dist/advanced/postman/getTagFromPath.js +12 -0
  193. package/dist/advanced/postman/getTagFromPath.js.map +1 -0
  194. package/dist/advanced/postman/index.d.ts +28 -0
  195. package/dist/advanced/postman/index.d.ts.map +1 -0
  196. package/dist/advanced/postman/index.js +30 -0
  197. package/dist/advanced/postman/index.js.map +1 -0
  198. package/dist/advanced/postman/postman.d.ts +7 -0
  199. package/dist/advanced/postman/postman.d.ts.map +1 -0
  200. package/dist/advanced/postman/postman.js +138 -0
  201. package/dist/advanced/postman/postman.js.map +1 -0
  202. package/dist/advanced/postman/slugify.d.ts +2 -0
  203. package/dist/advanced/postman/slugify.d.ts.map +1 -0
  204. package/dist/advanced/postman/slugify.js +10 -0
  205. package/dist/advanced/postman/slugify.js.map +1 -0
  206. package/dist/advanced/postman/types.d.ts +133 -0
  207. package/dist/advanced/postman/types.d.ts.map +1 -0
  208. package/dist/advanced/postman/types.js +3 -0
  209. package/dist/advanced/postman/types.js.map +1 -0
  210. package/dist/advanced/realtime/index.d.ts +13 -0
  211. package/dist/advanced/realtime/index.d.ts.map +1 -0
  212. package/dist/advanced/realtime/index.js +17 -0
  213. package/dist/advanced/realtime/index.js.map +1 -0
  214. package/dist/advanced/realtime/websocket.d.ts +60 -0
  215. package/dist/advanced/realtime/websocket.d.ts.map +1 -0
  216. package/dist/advanced/realtime/websocket.js +197 -0
  217. package/dist/advanced/realtime/websocket.js.map +1 -0
  218. package/dist/advanced/sentry/index.d.ts +287 -0
  219. package/dist/advanced/sentry/index.d.ts.map +1 -0
  220. package/dist/advanced/sentry/index.js +1002 -0
  221. package/dist/advanced/sentry/index.js.map +1 -0
  222. package/dist/advanced/sentry/types.d.ts +298 -0
  223. package/dist/advanced/sentry/types.d.ts.map +1 -0
  224. package/dist/advanced/sentry/types.js +6 -0
  225. package/dist/advanced/sentry/types.js.map +1 -0
  226. package/dist/advanced/static/generateDirectoryListing.d.ts +5 -0
  227. package/dist/advanced/static/generateDirectoryListing.d.ts.map +1 -0
  228. package/dist/advanced/static/generateDirectoryListing.js +44 -0
  229. package/dist/advanced/static/generateDirectoryListing.js.map +1 -0
  230. package/dist/advanced/static/generateETag.d.ts +8 -0
  231. package/dist/advanced/static/generateETag.d.ts.map +1 -0
  232. package/dist/advanced/static/generateETag.js +10 -0
  233. package/dist/advanced/static/generateETag.js.map +1 -0
  234. package/dist/advanced/static/getMimeType.d.ts +5 -0
  235. package/dist/advanced/static/getMimeType.d.ts.map +1 -0
  236. package/dist/advanced/static/getMimeType.js +11 -0
  237. package/dist/advanced/static/getMimeType.js.map +1 -0
  238. package/dist/advanced/static/index.d.ts +30 -0
  239. package/dist/advanced/static/index.d.ts.map +1 -0
  240. package/dist/advanced/static/index.js +33 -0
  241. package/dist/advanced/static/index.js.map +1 -0
  242. package/dist/advanced/static/isSafePath.d.ts +5 -0
  243. package/dist/advanced/static/isSafePath.d.ts.map +1 -0
  244. package/dist/advanced/static/isSafePath.js +14 -0
  245. package/dist/advanced/static/isSafePath.js.map +1 -0
  246. package/dist/advanced/static/publicDir.d.ts +12 -0
  247. package/dist/advanced/static/publicDir.d.ts.map +1 -0
  248. package/dist/advanced/static/publicDir.js +22 -0
  249. package/dist/advanced/static/publicDir.js.map +1 -0
  250. package/dist/advanced/static/serveStatic.d.ts +7 -0
  251. package/dist/advanced/static/serveStatic.d.ts.map +1 -0
  252. package/dist/advanced/static/serveStatic.js +198 -0
  253. package/dist/advanced/static/serveStatic.js.map +1 -0
  254. package/dist/advanced/static/spa.d.ts +14 -0
  255. package/dist/advanced/static/spa.d.ts.map +1 -0
  256. package/dist/advanced/static/spa.js +23 -0
  257. package/dist/advanced/static/spa.js.map +1 -0
  258. package/dist/advanced/static/types.d.ts +78 -0
  259. package/dist/advanced/static/types.d.ts.map +1 -0
  260. package/dist/advanced/static/types.js +67 -0
  261. package/dist/advanced/static/types.js.map +1 -0
  262. package/dist/advanced/swagger/SwaggerGenerator.d.ts +19 -0
  263. package/dist/advanced/swagger/SwaggerGenerator.d.ts.map +1 -0
  264. package/dist/advanced/swagger/SwaggerGenerator.js +59 -0
  265. package/dist/advanced/swagger/SwaggerGenerator.js.map +1 -0
  266. package/dist/advanced/swagger/buildOperation.d.ts +6 -0
  267. package/dist/advanced/swagger/buildOperation.d.ts.map +1 -0
  268. package/dist/advanced/swagger/buildOperation.js +54 -0
  269. package/dist/advanced/swagger/buildOperation.js.map +1 -0
  270. package/dist/advanced/swagger/buildParameters.d.ts +6 -0
  271. package/dist/advanced/swagger/buildParameters.d.ts.map +1 -0
  272. package/dist/advanced/swagger/buildParameters.js +57 -0
  273. package/dist/advanced/swagger/buildParameters.js.map +1 -0
  274. package/dist/advanced/swagger/buildRequestBody.d.ts +7 -0
  275. package/dist/advanced/swagger/buildRequestBody.d.ts.map +1 -0
  276. package/dist/advanced/swagger/buildRequestBody.js +19 -0
  277. package/dist/advanced/swagger/buildRequestBody.js.map +1 -0
  278. package/dist/advanced/swagger/buildResponses.d.ts +7 -0
  279. package/dist/advanced/swagger/buildResponses.d.ts.map +1 -0
  280. package/dist/advanced/swagger/buildResponses.js +48 -0
  281. package/dist/advanced/swagger/buildResponses.js.map +1 -0
  282. package/dist/advanced/swagger/capitalize.d.ts +2 -0
  283. package/dist/advanced/swagger/capitalize.d.ts.map +1 -0
  284. package/dist/advanced/swagger/capitalize.js +7 -0
  285. package/dist/advanced/swagger/capitalize.js.map +1 -0
  286. package/dist/advanced/swagger/convertPath.d.ts +6 -0
  287. package/dist/advanced/swagger/convertPath.d.ts.map +1 -0
  288. package/dist/advanced/swagger/convertPath.js +11 -0
  289. package/dist/advanced/swagger/convertPath.js.map +1 -0
  290. package/dist/advanced/swagger/createSwagger.d.ts +8 -0
  291. package/dist/advanced/swagger/createSwagger.d.ts.map +1 -0
  292. package/dist/advanced/swagger/createSwagger.js +12 -0
  293. package/dist/advanced/swagger/createSwagger.js.map +1 -0
  294. package/dist/advanced/swagger/generateOperationId.d.ts +6 -0
  295. package/dist/advanced/swagger/generateOperationId.d.ts.map +1 -0
  296. package/dist/advanced/swagger/generateOperationId.js +20 -0
  297. package/dist/advanced/swagger/generateOperationId.js.map +1 -0
  298. package/dist/advanced/swagger/generateSpec.d.ts +6 -0
  299. package/dist/advanced/swagger/generateSpec.d.ts.map +1 -0
  300. package/dist/advanced/swagger/generateSpec.js +85 -0
  301. package/dist/advanced/swagger/generateSpec.js.map +1 -0
  302. package/dist/advanced/swagger/generateSummary.d.ts +6 -0
  303. package/dist/advanced/swagger/generateSummary.d.ts.map +1 -0
  304. package/dist/advanced/swagger/generateSummary.js +22 -0
  305. package/dist/advanced/swagger/generateSummary.js.map +1 -0
  306. package/dist/advanced/swagger/generateSwaggerUI.d.ts +6 -0
  307. package/dist/advanced/swagger/generateSwaggerUI.d.ts.map +1 -0
  308. package/dist/advanced/swagger/generateSwaggerUI.js +69 -0
  309. package/dist/advanced/swagger/generateSwaggerUI.js.map +1 -0
  310. package/dist/advanced/swagger/generateThemeCss.d.ts +6 -0
  311. package/dist/advanced/swagger/generateThemeCss.d.ts.map +1 -0
  312. package/dist/advanced/swagger/generateThemeCss.js +53 -0
  313. package/dist/advanced/swagger/generateThemeCss.js.map +1 -0
  314. package/dist/advanced/swagger/index.d.ts +23 -0
  315. package/dist/advanced/swagger/index.d.ts.map +1 -0
  316. package/dist/advanced/swagger/index.js +26 -0
  317. package/dist/advanced/swagger/index.js.map +1 -0
  318. package/dist/advanced/swagger/swagger.d.ts +36 -0
  319. package/dist/advanced/swagger/swagger.d.ts.map +1 -0
  320. package/dist/advanced/swagger/swagger.js +198 -0
  321. package/dist/advanced/swagger/swagger.js.map +1 -0
  322. package/dist/advanced/swagger/types.d.ts +210 -0
  323. package/dist/advanced/swagger/types.d.ts.map +1 -0
  324. package/dist/advanced/swagger/types.js +3 -0
  325. package/dist/advanced/swagger/types.js.map +1 -0
  326. package/dist/advanced/swagger/zodFieldToOpenAPI.d.ts +6 -0
  327. package/dist/advanced/swagger/zodFieldToOpenAPI.d.ts.map +1 -0
  328. package/dist/advanced/swagger/zodFieldToOpenAPI.js +86 -0
  329. package/dist/advanced/swagger/zodFieldToOpenAPI.js.map +1 -0
  330. package/dist/advanced/swagger/zodSchemaToOpenAPI.d.ts +6 -0
  331. package/dist/advanced/swagger/zodSchemaToOpenAPI.d.ts.map +1 -0
  332. package/dist/advanced/swagger/zodSchemaToOpenAPI.js +44 -0
  333. package/dist/advanced/swagger/zodSchemaToOpenAPI.js.map +1 -0
  334. package/dist/advanced/swagger/zodToOpenAPI.d.ts +6 -0
  335. package/dist/advanced/swagger/zodToOpenAPI.d.ts.map +1 -0
  336. package/dist/advanced/swagger/zodToOpenAPI.js +22 -0
  337. package/dist/advanced/swagger/zodToOpenAPI.js.map +1 -0
  338. package/dist/advanced/testing/factory.d.ts +206 -0
  339. package/dist/advanced/testing/factory.d.ts.map +1 -0
  340. package/dist/advanced/testing/factory.js +433 -0
  341. package/dist/advanced/testing/factory.js.map +1 -0
  342. package/dist/advanced/testing/harness.d.ts +181 -0
  343. package/dist/advanced/testing/harness.d.ts.map +1 -0
  344. package/dist/advanced/testing/harness.js +481 -0
  345. package/dist/advanced/testing/harness.js.map +1 -0
  346. package/dist/advanced/testing/index.d.ts +235 -0
  347. package/dist/advanced/testing/index.d.ts.map +1 -0
  348. package/dist/advanced/testing/index.js +306 -0
  349. package/dist/advanced/testing/index.js.map +1 -0
  350. package/dist/advanced/testing/load-test.d.ts +148 -0
  351. package/dist/advanced/testing/load-test.d.ts.map +1 -0
  352. package/dist/advanced/testing/load-test.js +490 -0
  353. package/dist/advanced/testing/load-test.js.map +1 -0
  354. package/dist/advanced/testing/mock-server.d.ts +166 -0
  355. package/dist/advanced/testing/mock-server.d.ts.map +1 -0
  356. package/dist/advanced/testing/mock-server.js +424 -0
  357. package/dist/advanced/testing/mock-server.js.map +1 -0
  358. package/dist/advanced/testing/mock.d.ts +248 -0
  359. package/dist/advanced/testing/mock.d.ts.map +1 -0
  360. package/dist/advanced/testing/mock.js +549 -0
  361. package/dist/advanced/testing/mock.js.map +1 -0
  362. package/dist/cli/bin.d.ts +3 -0
  363. package/dist/cli/bin.d.ts.map +1 -0
  364. package/dist/cli/bin.js +10 -0
  365. package/dist/cli/bin.js.map +1 -0
  366. package/dist/cli/cli.d.ts +24 -0
  367. package/dist/cli/cli.d.ts.map +1 -0
  368. package/dist/cli/cli.js +131 -0
  369. package/dist/cli/cli.js.map +1 -0
  370. package/dist/cli/commands/build.d.ts +20 -0
  371. package/dist/cli/commands/build.d.ts.map +1 -0
  372. package/dist/cli/commands/build.js +63 -0
  373. package/dist/cli/commands/build.js.map +1 -0
  374. package/dist/cli/commands/create.d.ts +13 -0
  375. package/dist/cli/commands/create.d.ts.map +1 -0
  376. package/dist/cli/commands/create.js +142 -0
  377. package/dist/cli/commands/create.js.map +1 -0
  378. package/dist/cli/commands/dev.d.ts +15 -0
  379. package/dist/cli/commands/dev.d.ts.map +1 -0
  380. package/dist/cli/commands/dev.js +77 -0
  381. package/dist/cli/commands/dev.js.map +1 -0
  382. package/dist/cli/commands/generate.d.ts +13 -0
  383. package/dist/cli/commands/generate.d.ts.map +1 -0
  384. package/dist/cli/commands/generate.js +80 -0
  385. package/dist/cli/commands/generate.js.map +1 -0
  386. package/dist/cli/commands/help.d.ts +13 -0
  387. package/dist/cli/commands/help.d.ts.map +1 -0
  388. package/dist/cli/commands/help.js +83 -0
  389. package/dist/cli/commands/help.js.map +1 -0
  390. package/dist/cli/commands/init.d.ts +11 -0
  391. package/dist/cli/commands/init.d.ts.map +1 -0
  392. package/dist/cli/commands/init.js +76 -0
  393. package/dist/cli/commands/init.js.map +1 -0
  394. package/dist/cli/commands/version.d.ts +9 -0
  395. package/dist/cli/commands/version.d.ts.map +1 -0
  396. package/dist/cli/commands/version.js +35 -0
  397. package/dist/cli/commands/version.js.map +1 -0
  398. package/dist/cli/index.d.ts +3 -0
  399. package/dist/cli/index.d.ts.map +1 -0
  400. package/dist/cli/index.js +7 -0
  401. package/dist/cli/index.js.map +1 -0
  402. package/dist/cli/templates/generators.d.ts +22 -0
  403. package/dist/cli/templates/generators.d.ts.map +1 -0
  404. package/dist/cli/templates/generators.js +282 -0
  405. package/dist/cli/templates/generators.js.map +1 -0
  406. package/dist/cli/templates/index.d.ts +27 -0
  407. package/dist/cli/templates/index.d.ts.map +1 -0
  408. package/dist/cli/templates/index.js +651 -0
  409. package/dist/cli/templates/index.js.map +1 -0
  410. package/dist/cli/utils/exec.d.ts +12 -0
  411. package/dist/cli/utils/exec.d.ts.map +1 -0
  412. package/dist/cli/utils/exec.js +37 -0
  413. package/dist/cli/utils/exec.js.map +1 -0
  414. package/dist/cli/utils/file-system.d.ts +15 -0
  415. package/dist/cli/utils/file-system.d.ts.map +1 -0
  416. package/dist/cli/utils/file-system.js +105 -0
  417. package/dist/cli/utils/file-system.js.map +1 -0
  418. package/dist/cli/utils/logger.d.ts +40 -0
  419. package/dist/cli/utils/logger.d.ts.map +1 -0
  420. package/dist/cli/utils/logger.js +100 -0
  421. package/dist/cli/utils/logger.js.map +1 -0
  422. package/dist/core/adapter.d.ts +73 -0
  423. package/dist/core/adapter.d.ts.map +1 -0
  424. package/dist/core/adapter.js +27 -0
  425. package/dist/core/adapter.js.map +1 -0
  426. package/dist/core/application.d.ts +540 -0
  427. package/dist/core/application.d.ts.map +1 -0
  428. package/dist/core/application.js +1111 -0
  429. package/dist/core/application.js.map +1 -0
  430. package/dist/core/context-pool.d.ts +52 -0
  431. package/dist/core/context-pool.d.ts.map +1 -0
  432. package/dist/core/context-pool.js +111 -0
  433. package/dist/core/context-pool.js.map +1 -0
  434. package/dist/core/context.d.ts +148 -0
  435. package/dist/core/context.d.ts.map +1 -0
  436. package/dist/core/context.js +367 -0
  437. package/dist/core/context.js.map +1 -0
  438. package/dist/core/index.d.ts +23 -0
  439. package/dist/core/index.d.ts.map +1 -0
  440. package/dist/core/index.js +77 -0
  441. package/dist/core/index.js.map +1 -0
  442. package/dist/core/middleware.d.ts +49 -0
  443. package/dist/core/middleware.d.ts.map +1 -0
  444. package/dist/core/middleware.js +215 -0
  445. package/dist/core/middleware.js.map +1 -0
  446. package/dist/core/performance/buffer-pool.d.ts +47 -0
  447. package/dist/core/performance/buffer-pool.d.ts.map +1 -0
  448. package/dist/core/performance/buffer-pool.js +97 -0
  449. package/dist/core/performance/buffer-pool.js.map +1 -0
  450. package/dist/core/performance/jit-compiler.d.ts +73 -0
  451. package/dist/core/performance/jit-compiler.d.ts.map +1 -0
  452. package/dist/core/performance/jit-compiler.js +145 -0
  453. package/dist/core/performance/jit-compiler.js.map +1 -0
  454. package/dist/core/performance/middleware-optimizer.d.ts +73 -0
  455. package/dist/core/performance/middleware-optimizer.d.ts.map +1 -0
  456. package/dist/core/performance/middleware-optimizer.js +138 -0
  457. package/dist/core/performance/middleware-optimizer.js.map +1 -0
  458. package/dist/core/plugin/PluginManager.d.ts +93 -0
  459. package/dist/core/plugin/PluginManager.d.ts.map +1 -0
  460. package/dist/core/plugin/PluginManager.js +351 -0
  461. package/dist/core/plugin/PluginManager.js.map +1 -0
  462. package/dist/core/plugin/builder.d.ts +192 -0
  463. package/dist/core/plugin/builder.d.ts.map +1 -0
  464. package/dist/core/plugin/builder.js +319 -0
  465. package/dist/core/plugin/builder.js.map +1 -0
  466. package/dist/core/plugin/index.d.ts +31 -0
  467. package/dist/core/plugin/index.d.ts.map +1 -0
  468. package/dist/core/plugin/index.js +41 -0
  469. package/dist/core/plugin/index.js.map +1 -0
  470. package/dist/core/plugin/types.d.ts +184 -0
  471. package/dist/core/plugin/types.d.ts.map +1 -0
  472. package/dist/core/plugin/types.js +17 -0
  473. package/dist/core/plugin/types.js.map +1 -0
  474. package/dist/core/router/file-router.d.ts +173 -0
  475. package/dist/core/router/file-router.d.ts.map +1 -0
  476. package/dist/core/router/file-router.js +498 -0
  477. package/dist/core/router/file-router.js.map +1 -0
  478. package/dist/core/router/index.d.ts +44 -0
  479. package/dist/core/router/index.d.ts.map +1 -0
  480. package/dist/core/router/index.js +145 -0
  481. package/dist/core/router/index.js.map +1 -0
  482. package/dist/core/router/radix-tree.d.ts +69 -0
  483. package/dist/core/router/radix-tree.d.ts.map +1 -0
  484. package/dist/core/router/radix-tree.js +196 -0
  485. package/dist/core/router/radix-tree.js.map +1 -0
  486. package/dist/core/store/index.d.ts +15 -0
  487. package/dist/core/store/index.d.ts.map +1 -0
  488. package/dist/core/store/index.js +23 -0
  489. package/dist/core/store/index.js.map +1 -0
  490. package/dist/core/store/registry.d.ts +80 -0
  491. package/dist/core/store/registry.d.ts.map +1 -0
  492. package/dist/core/store/registry.js +156 -0
  493. package/dist/core/store/registry.js.map +1 -0
  494. package/dist/core/store/request-store.d.ts +138 -0
  495. package/dist/core/store/request-store.d.ts.map +1 -0
  496. package/dist/core/store/request-store.js +209 -0
  497. package/dist/core/store/request-store.js.map +1 -0
  498. package/dist/core/store/types.d.ts +140 -0
  499. package/dist/core/store/types.d.ts.map +1 -0
  500. package/dist/core/store/types.js +176 -0
  501. package/dist/core/store/types.js.map +1 -0
  502. package/dist/core/types.d.ts +470 -0
  503. package/dist/core/types.d.ts.map +1 -0
  504. package/dist/core/types.js +106 -0
  505. package/dist/core/types.js.map +1 -0
  506. package/dist/database/adapter.d.ts +32 -0
  507. package/dist/database/adapter.d.ts.map +1 -0
  508. package/dist/database/adapter.js +3 -0
  509. package/dist/database/adapter.js.map +1 -0
  510. package/dist/database/adapters/index.d.ts +2 -0
  511. package/dist/database/adapters/index.d.ts.map +1 -0
  512. package/dist/database/adapters/index.js +18 -0
  513. package/dist/database/adapters/index.js.map +1 -0
  514. package/dist/database/adapters/mysql.d.ts +160 -0
  515. package/dist/database/adapters/mysql.d.ts.map +1 -0
  516. package/dist/database/adapters/mysql.js +501 -0
  517. package/dist/database/adapters/mysql.js.map +1 -0
  518. package/dist/database/database.d.ts +27 -0
  519. package/dist/database/database.d.ts.map +1 -0
  520. package/dist/database/database.js +59 -0
  521. package/dist/database/database.js.map +1 -0
  522. package/dist/database/dialect.d.ts +110 -0
  523. package/dist/database/dialect.d.ts.map +1 -0
  524. package/dist/database/dialect.js +269 -0
  525. package/dist/database/dialect.js.map +1 -0
  526. package/dist/database/index.d.ts +12 -0
  527. package/dist/database/index.d.ts.map +1 -0
  528. package/dist/database/index.js +28 -0
  529. package/dist/database/index.js.map +1 -0
  530. package/dist/database/migrations.d.ts +22 -0
  531. package/dist/database/migrations.d.ts.map +1 -0
  532. package/dist/database/migrations.js +73 -0
  533. package/dist/database/migrations.js.map +1 -0
  534. package/dist/database/optimizer.d.ts +25 -0
  535. package/dist/database/optimizer.d.ts.map +1 -0
  536. package/dist/database/optimizer.js +97 -0
  537. package/dist/database/optimizer.js.map +1 -0
  538. package/dist/database/query-builder.d.ts +49 -0
  539. package/dist/database/query-builder.d.ts.map +1 -0
  540. package/dist/database/query-builder.js +319 -0
  541. package/dist/database/query-builder.js.map +1 -0
  542. package/dist/database/realtime.d.ts +24 -0
  543. package/dist/database/realtime.d.ts.map +1 -0
  544. package/dist/database/realtime.js +38 -0
  545. package/dist/database/realtime.js.map +1 -0
  546. package/dist/database/schema.d.ts +27 -0
  547. package/dist/database/schema.d.ts.map +1 -0
  548. package/dist/database/schema.js +47 -0
  549. package/dist/database/schema.js.map +1 -0
  550. package/dist/database/transactions.d.ts +13 -0
  551. package/dist/database/transactions.d.ts.map +1 -0
  552. package/dist/database/transactions.js +51 -0
  553. package/dist/database/transactions.js.map +1 -0
  554. package/dist/database/types.d.ts +68 -0
  555. package/dist/database/types.d.ts.map +1 -0
  556. package/dist/database/types.js +3 -0
  557. package/dist/database/types.js.map +1 -0
  558. package/dist/deployment/cluster.d.ts +161 -0
  559. package/dist/deployment/cluster.d.ts.map +1 -0
  560. package/dist/deployment/cluster.js +336 -0
  561. package/dist/deployment/cluster.js.map +1 -0
  562. package/dist/deployment/config.d.ts +209 -0
  563. package/dist/deployment/config.d.ts.map +1 -0
  564. package/dist/deployment/config.js +263 -0
  565. package/dist/deployment/config.js.map +1 -0
  566. package/dist/deployment/docker.d.ts +168 -0
  567. package/dist/deployment/docker.d.ts.map +1 -0
  568. package/dist/deployment/docker.js +437 -0
  569. package/dist/deployment/docker.js.map +1 -0
  570. package/dist/deployment/graceful-shutdown.d.ts +130 -0
  571. package/dist/deployment/graceful-shutdown.d.ts.map +1 -0
  572. package/dist/deployment/graceful-shutdown.js +271 -0
  573. package/dist/deployment/graceful-shutdown.js.map +1 -0
  574. package/dist/deployment/index.d.ts +14 -0
  575. package/dist/deployment/index.d.ts.map +1 -0
  576. package/dist/deployment/index.js +33 -0
  577. package/dist/deployment/index.js.map +1 -0
  578. package/dist/index.d.ts +39 -0
  579. package/dist/index.d.ts.map +1 -0
  580. package/dist/index.js +174 -0
  581. package/dist/index.js.map +1 -0
  582. package/dist/security/adapter.d.ts +144 -0
  583. package/dist/security/adapter.d.ts.map +1 -0
  584. package/dist/security/adapter.js +159 -0
  585. package/dist/security/adapter.js.map +1 -0
  586. package/dist/security/auth/JWTPlugin.d.ts +105 -0
  587. package/dist/security/auth/JWTPlugin.d.ts.map +1 -0
  588. package/dist/security/auth/JWTPlugin.js +146 -0
  589. package/dist/security/auth/JWTPlugin.js.map +1 -0
  590. package/dist/security/auth/JWTProvider.d.ts +104 -0
  591. package/dist/security/auth/JWTProvider.d.ts.map +1 -0
  592. package/dist/security/auth/JWTProvider.js +288 -0
  593. package/dist/security/auth/JWTProvider.js.map +1 -0
  594. package/dist/security/auth/adapter.d.ts +8 -0
  595. package/dist/security/auth/adapter.d.ts.map +1 -0
  596. package/dist/security/auth/adapter.js +29 -0
  597. package/dist/security/auth/adapter.js.map +1 -0
  598. package/dist/security/auth/jwt.d.ts +55 -0
  599. package/dist/security/auth/jwt.d.ts.map +1 -0
  600. package/dist/security/auth/jwt.js +198 -0
  601. package/dist/security/auth/jwt.js.map +1 -0
  602. package/dist/security/auth/middleware.d.ts +64 -0
  603. package/dist/security/auth/middleware.d.ts.map +1 -0
  604. package/dist/security/auth/middleware.js +161 -0
  605. package/dist/security/auth/middleware.js.map +1 -0
  606. package/dist/security/csrf.d.ts +41 -0
  607. package/dist/security/csrf.d.ts.map +1 -0
  608. package/dist/security/csrf.js +185 -0
  609. package/dist/security/csrf.js.map +1 -0
  610. package/dist/security/headers.d.ts +34 -0
  611. package/dist/security/headers.d.ts.map +1 -0
  612. package/dist/security/headers.js +95 -0
  613. package/dist/security/headers.js.map +1 -0
  614. package/dist/security/index.d.ts +19 -0
  615. package/dist/security/index.d.ts.map +1 -0
  616. package/dist/security/index.js +65 -0
  617. package/dist/security/index.js.map +1 -0
  618. package/dist/security/rate-limit/adapter.d.ts +7 -0
  619. package/dist/security/rate-limit/adapter.d.ts.map +1 -0
  620. package/dist/security/rate-limit/adapter.js +8 -0
  621. package/dist/security/rate-limit/adapter.js.map +1 -0
  622. package/dist/security/rate-limit/memory.d.ts +28 -0
  623. package/dist/security/rate-limit/memory.d.ts.map +1 -0
  624. package/dist/security/rate-limit/memory.js +85 -0
  625. package/dist/security/rate-limit/memory.js.map +1 -0
  626. package/dist/security/rate-limit/middleware.d.ts +32 -0
  627. package/dist/security/rate-limit/middleware.d.ts.map +1 -0
  628. package/dist/security/rate-limit/middleware.js +159 -0
  629. package/dist/security/rate-limit/middleware.js.map +1 -0
  630. package/dist/security/sanitization.d.ts +29 -0
  631. package/dist/security/sanitization.d.ts.map +1 -0
  632. package/dist/security/sanitization.js +66 -0
  633. package/dist/security/sanitization.js.map +1 -0
  634. package/dist/security/types.d.ts +205 -0
  635. package/dist/security/types.d.ts.map +1 -0
  636. package/dist/security/types.js +8 -0
  637. package/dist/security/types.js.map +1 -0
  638. package/dist/security/utils.d.ts +19 -0
  639. package/dist/security/utils.d.ts.map +1 -0
  640. package/dist/security/utils.js +43 -0
  641. package/dist/security/utils.js.map +1 -0
  642. package/documentation/01-getting-started.md +240 -0
  643. package/documentation/02-context.md +335 -0
  644. package/documentation/03-routing.md +397 -0
  645. package/documentation/04-middleware.md +483 -0
  646. package/documentation/05-validation.md +514 -0
  647. package/documentation/06-error-handling.md +465 -0
  648. package/documentation/07-performance.md +364 -0
  649. package/documentation/08-adapters.md +470 -0
  650. package/documentation/09-api-reference.md +548 -0
  651. package/documentation/10-examples.md +582 -0
  652. package/documentation/11-deployment.md +477 -0
  653. package/documentation/12-sentry.md +620 -0
  654. package/documentation/13-sentry-data-storage.md +996 -0
  655. package/documentation/14-sentry-data-reference.md +457 -0
  656. package/documentation/15-sentry-summary.md +409 -0
  657. package/documentation/16-alerts-system.md +745 -0
  658. package/documentation/17-alert-adapters.md +696 -0
  659. package/documentation/18-alerts-implementation-summary.md +385 -0
  660. package/documentation/19-class-based-routing.md +840 -0
  661. package/documentation/20-websocket-realtime.md +813 -0
  662. package/documentation/21-cache-system.md +510 -0
  663. package/documentation/22-job-queue.md +772 -0
  664. package/documentation/23-sentry-plugin.md +551 -0
  665. package/documentation/24-testing-utilities.md +1287 -0
  666. package/documentation/25-api-versioning.md +533 -0
  667. package/documentation/26-context-store.md +607 -0
  668. package/documentation/27-dependency-injection.md +329 -0
  669. package/documentation/28-lifecycle-hooks.md +521 -0
  670. package/documentation/29-package-structure.md +196 -0
  671. package/documentation/30-plugin-system.md +414 -0
  672. package/documentation/31-jwt-authentication.md +597 -0
  673. package/documentation/32-cli.md +268 -0
  674. package/documentation/ALERTS-COMPLETE-SUMMARY.md +429 -0
  675. package/documentation/ALERTS-INDEX.md +330 -0
  676. package/documentation/ALERTS-QUICK-REFERENCE.md +286 -0
  677. package/documentation/README.md +178 -0
  678. package/documentation/index.html +34 -0
  679. package/modern_framework_paper.md +1870 -0
  680. package/package.json +178 -0
  681. package/public/css/style.css +87 -0
  682. package/public/index.html +34 -0
  683. package/public/js/app.js +27 -0
  684. package/src/advanced/cache/InMemoryCacheStore.ts +68 -0
  685. package/src/advanced/cache/MultiTierCache.ts +194 -0
  686. package/src/advanced/cache/RedisCacheStore.ts +341 -0
  687. package/src/advanced/cache/index.ts +5 -0
  688. package/src/advanced/cache/types.ts +40 -0
  689. package/src/advanced/graphql/SimpleDataLoader.ts +42 -0
  690. package/src/advanced/graphql/index.ts +22 -0
  691. package/src/advanced/graphql/server.ts +252 -0
  692. package/src/advanced/graphql/types.ts +42 -0
  693. package/src/advanced/jobs/InMemoryQueueStore.ts +68 -0
  694. package/src/advanced/jobs/JobQueue.ts +556 -0
  695. package/src/advanced/jobs/RedisQueueStore.ts +367 -0
  696. package/src/advanced/jobs/index.ts +5 -0
  697. package/src/advanced/jobs/types.ts +70 -0
  698. package/src/advanced/observability/APMManager.ts +163 -0
  699. package/src/advanced/observability/AlertManager.ts +109 -0
  700. package/src/advanced/observability/MetricRegistry.ts +151 -0
  701. package/src/advanced/observability/ObservabilityCenter.ts +304 -0
  702. package/src/advanced/observability/StructuredLogger.ts +154 -0
  703. package/src/advanced/observability/TracingManager.ts +117 -0
  704. package/src/advanced/observability/adapters.ts +304 -0
  705. package/src/advanced/observability/createObservabilityMiddleware.ts +63 -0
  706. package/src/advanced/observability/index.ts +11 -0
  707. package/src/advanced/observability/types.ts +174 -0
  708. package/src/advanced/playground/extractPathParams.ts +6 -0
  709. package/src/advanced/playground/generateFieldExample.ts +31 -0
  710. package/src/advanced/playground/generatePlaygroundHTML.ts +1849 -0
  711. package/src/advanced/playground/generateSummary.ts +19 -0
  712. package/src/advanced/playground/getTagFromPath.ts +9 -0
  713. package/src/advanced/playground/index.ts +8 -0
  714. package/src/advanced/playground/playground.ts +170 -0
  715. package/src/advanced/playground/types.ts +20 -0
  716. package/src/advanced/playground/zodToExample.ts +16 -0
  717. package/src/advanced/playground/zodToParams.ts +15 -0
  718. package/src/advanced/postman/buildAuth.ts +31 -0
  719. package/src/advanced/postman/buildBody.ts +15 -0
  720. package/src/advanced/postman/buildQueryParams.ts +27 -0
  721. package/src/advanced/postman/buildRequestItem.ts +36 -0
  722. package/src/advanced/postman/buildResponses.ts +11 -0
  723. package/src/advanced/postman/buildUrl.ts +33 -0
  724. package/src/advanced/postman/capitalize.ts +4 -0
  725. package/src/advanced/postman/generateCollection.ts +59 -0
  726. package/src/advanced/postman/generateEnvironment.ts +34 -0
  727. package/src/advanced/postman/generateExampleFromZod.ts +21 -0
  728. package/src/advanced/postman/generateFieldExample.ts +45 -0
  729. package/src/advanced/postman/generateName.ts +20 -0
  730. package/src/advanced/postman/generateUUID.ts +11 -0
  731. package/src/advanced/postman/getTagFromPath.ts +10 -0
  732. package/src/advanced/postman/index.ts +28 -0
  733. package/src/advanced/postman/postman.ts +156 -0
  734. package/src/advanced/postman/slugify.ts +7 -0
  735. package/src/advanced/postman/types.ts +140 -0
  736. package/src/advanced/realtime/index.ts +18 -0
  737. package/src/advanced/realtime/websocket.ts +211 -0
  738. package/src/advanced/sentry/index.ts +1236 -0
  739. package/src/advanced/sentry/types.ts +355 -0
  740. package/src/advanced/static/generateDirectoryListing.ts +47 -0
  741. package/src/advanced/static/generateETag.ts +7 -0
  742. package/src/advanced/static/getMimeType.ts +9 -0
  743. package/src/advanced/static/index.ts +32 -0
  744. package/src/advanced/static/isSafePath.ts +13 -0
  745. package/src/advanced/static/publicDir.ts +21 -0
  746. package/src/advanced/static/serveStatic.ts +225 -0
  747. package/src/advanced/static/spa.ts +24 -0
  748. package/src/advanced/static/types.ts +159 -0
  749. package/src/advanced/swagger/SwaggerGenerator.ts +66 -0
  750. package/src/advanced/swagger/buildOperation.ts +61 -0
  751. package/src/advanced/swagger/buildParameters.ts +61 -0
  752. package/src/advanced/swagger/buildRequestBody.ts +21 -0
  753. package/src/advanced/swagger/buildResponses.ts +54 -0
  754. package/src/advanced/swagger/capitalize.ts +5 -0
  755. package/src/advanced/swagger/convertPath.ts +9 -0
  756. package/src/advanced/swagger/createSwagger.ts +12 -0
  757. package/src/advanced/swagger/generateOperationId.ts +21 -0
  758. package/src/advanced/swagger/generateSpec.ts +105 -0
  759. package/src/advanced/swagger/generateSummary.ts +24 -0
  760. package/src/advanced/swagger/generateSwaggerUI.ts +70 -0
  761. package/src/advanced/swagger/generateThemeCss.ts +53 -0
  762. package/src/advanced/swagger/index.ts +25 -0
  763. package/src/advanced/swagger/swagger.ts +237 -0
  764. package/src/advanced/swagger/types.ts +206 -0
  765. package/src/advanced/swagger/zodFieldToOpenAPI.ts +94 -0
  766. package/src/advanced/swagger/zodSchemaToOpenAPI.ts +50 -0
  767. package/src/advanced/swagger/zodToOpenAPI.ts +22 -0
  768. package/src/advanced/testing/factory.ts +509 -0
  769. package/src/advanced/testing/harness.ts +612 -0
  770. package/src/advanced/testing/index.ts +430 -0
  771. package/src/advanced/testing/load-test.ts +618 -0
  772. package/src/advanced/testing/mock-server.ts +498 -0
  773. package/src/advanced/testing/mock.ts +670 -0
  774. package/src/cli/bin.ts +9 -0
  775. package/src/cli/cli.ts +155 -0
  776. package/src/cli/commands/build.ts +73 -0
  777. package/src/cli/commands/create.ts +166 -0
  778. package/src/cli/commands/dev.ts +85 -0
  779. package/src/cli/commands/generate.ts +97 -0
  780. package/src/cli/commands/help.ts +95 -0
  781. package/src/cli/commands/init.ts +91 -0
  782. package/src/cli/commands/version.ts +38 -0
  783. package/src/cli/index.ts +6 -0
  784. package/src/cli/templates/generators.ts +309 -0
  785. package/src/cli/templates/index.ts +679 -0
  786. package/src/cli/utils/exec.ts +52 -0
  787. package/src/cli/utils/file-system.ts +78 -0
  788. package/src/cli/utils/logger.ts +111 -0
  789. package/src/core/adapter.ts +88 -0
  790. package/src/core/application.ts +1283 -0
  791. package/src/core/context-pool.ts +127 -0
  792. package/src/core/context.ts +412 -0
  793. package/src/core/index.ts +80 -0
  794. package/src/core/middleware.ts +262 -0
  795. package/src/core/performance/buffer-pool.ts +108 -0
  796. package/src/core/performance/middleware-optimizer.ts +162 -0
  797. package/src/core/plugin/PluginManager.ts +435 -0
  798. package/src/core/plugin/builder.ts +358 -0
  799. package/src/core/plugin/index.ts +50 -0
  800. package/src/core/plugin/types.ts +214 -0
  801. package/src/core/router/file-router.ts +594 -0
  802. package/src/core/router/index.ts +182 -0
  803. package/src/core/router/radix-tree.ts +226 -0
  804. package/src/core/store/index.ts +30 -0
  805. package/src/core/store/registry.ts +178 -0
  806. package/src/core/store/request-store.ts +240 -0
  807. package/src/core/store/types.ts +233 -0
  808. package/src/core/types.ts +574 -0
  809. package/src/database/adapter.ts +35 -0
  810. package/src/database/adapters/index.ts +1 -0
  811. package/src/database/adapters/mysql.ts +669 -0
  812. package/src/database/database.ts +70 -0
  813. package/src/database/dialect.ts +388 -0
  814. package/src/database/index.ts +12 -0
  815. package/src/database/migrations.ts +86 -0
  816. package/src/database/optimizer.ts +125 -0
  817. package/src/database/query-builder.ts +404 -0
  818. package/src/database/realtime.ts +53 -0
  819. package/src/database/schema.ts +71 -0
  820. package/src/database/transactions.ts +56 -0
  821. package/src/database/types.ts +87 -0
  822. package/src/deployment/cluster.ts +471 -0
  823. package/src/deployment/config.ts +454 -0
  824. package/src/deployment/docker.ts +599 -0
  825. package/src/deployment/graceful-shutdown.ts +373 -0
  826. package/src/deployment/index.ts +56 -0
  827. package/src/index.ts +264 -0
  828. package/src/security/adapter.ts +318 -0
  829. package/src/security/auth/JWTPlugin.ts +234 -0
  830. package/src/security/auth/JWTProvider.ts +316 -0
  831. package/src/security/auth/adapter.ts +12 -0
  832. package/src/security/auth/jwt.ts +234 -0
  833. package/src/security/auth/middleware.ts +188 -0
  834. package/src/security/csrf.ts +220 -0
  835. package/src/security/headers.ts +108 -0
  836. package/src/security/index.ts +60 -0
  837. package/src/security/rate-limit/adapter.ts +7 -0
  838. package/src/security/rate-limit/memory.ts +108 -0
  839. package/src/security/rate-limit/middleware.ts +181 -0
  840. package/src/security/sanitization.ts +75 -0
  841. package/src/security/types.ts +240 -0
  842. package/src/security/utils.ts +52 -0
  843. package/tsconfig.json +39 -0
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * ContextStore Types
4
+ * State management system inspired by Flutter's Provider pattern
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ContextStore = void 0;
8
+ /**
9
+ * Base abstract class for ContextStore
10
+ * Extend this class to create your own stores
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * interface UserState {
15
+ * users: User[];
16
+ * loading: boolean;
17
+ * }
18
+ *
19
+ * class UserStore extends ContextStore<UserState> {
20
+ * protected initial(): UserState {
21
+ * return { users: [], loading: false };
22
+ * }
23
+ *
24
+ * async fetchUsers() {
25
+ * this.set({ ...this.state, loading: true });
26
+ * const users = await api.getUsers();
27
+ * this.set({ users, loading: false });
28
+ * }
29
+ * }
30
+ * ```
31
+ */
32
+ class ContextStore {
33
+ _state;
34
+ _listeners = new Set();
35
+ _disposeCallbacks = [];
36
+ _options;
37
+ _initialized = false;
38
+ constructor(options = {}) {
39
+ this._options = options;
40
+ this._state = this.initial();
41
+ this._initialized = true;
42
+ }
43
+ /**
44
+ * Get current state (readonly)
45
+ */
46
+ get state() {
47
+ return this._state;
48
+ }
49
+ /**
50
+ * Get store name for debugging
51
+ */
52
+ get name() {
53
+ return this._options.name || this.constructor.name;
54
+ }
55
+ /**
56
+ * Update state and notify all listeners
57
+ *
58
+ * @param newState - New state or partial state update
59
+ */
60
+ set(newState) {
61
+ const prevState = this._state;
62
+ this._state = newState;
63
+ if (this._options.debug) {
64
+ console.log(`[ContextStore:${this.name}] State updated:`, {
65
+ prev: prevState,
66
+ next: newState
67
+ });
68
+ }
69
+ // Notify all listeners
70
+ this._listeners.forEach(listener => {
71
+ try {
72
+ listener(this._state, prevState);
73
+ }
74
+ catch (error) {
75
+ console.error(`[ContextStore:${this.name}] Listener error:`, error);
76
+ }
77
+ });
78
+ }
79
+ /**
80
+ * Update state partially (merge with current state)
81
+ * Only works if state is an object
82
+ *
83
+ * @param partial - Partial state to merge
84
+ */
85
+ update(partial) {
86
+ if (typeof this._state === 'object' && this._state !== null) {
87
+ this.set({ ...this._state, ...partial });
88
+ }
89
+ else {
90
+ throw new Error(`[ContextStore:${this.name}] update() only works with object state`);
91
+ }
92
+ }
93
+ /**
94
+ * Listen to state changes
95
+ * Returns unsubscribe function
96
+ *
97
+ * @param listener - Callback function called on state change
98
+ * @returns Unsubscribe function
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * const unsubscribe = store.listen((state, prevState) => {
103
+ * console.log('State changed:', state);
104
+ * });
105
+ *
106
+ * // Later: cleanup
107
+ * unsubscribe();
108
+ * ```
109
+ */
110
+ listen(listener) {
111
+ this._listeners.add(listener);
112
+ const unsubscribe = () => {
113
+ this._listeners.delete(listener);
114
+ };
115
+ // Track for auto-dispose
116
+ this._disposeCallbacks.push(unsubscribe);
117
+ return unsubscribe;
118
+ }
119
+ /**
120
+ * Get listener count (useful for debugging)
121
+ */
122
+ get listenerCount() {
123
+ return this._listeners.size;
124
+ }
125
+ /**
126
+ * Check if store is initialized
127
+ */
128
+ get isInitialized() {
129
+ return this._initialized;
130
+ }
131
+ /**
132
+ * Reset state to initial value
133
+ */
134
+ reset() {
135
+ this.set(this.initial());
136
+ }
137
+ /**
138
+ * Dispose store and cleanup all listeners
139
+ * Called automatically when store is removed from registry
140
+ */
141
+ dispose() {
142
+ if (this._options.debug) {
143
+ console.log(`[ContextStore:${this.name}] Disposing...`);
144
+ }
145
+ // Clear all listeners
146
+ this._listeners.clear();
147
+ // Call all dispose callbacks
148
+ this._disposeCallbacks.forEach(cb => {
149
+ try {
150
+ cb();
151
+ }
152
+ catch (error) {
153
+ console.error(`[ContextStore:${this.name}] Dispose callback error:`, error);
154
+ }
155
+ });
156
+ this._disposeCallbacks = [];
157
+ // Call lifecycle hook
158
+ this.onDispose();
159
+ }
160
+ /**
161
+ * Lifecycle hook: called when store is disposed
162
+ * Override to add custom cleanup logic
163
+ */
164
+ onDispose() {
165
+ // Override in subclass if needed
166
+ }
167
+ /**
168
+ * Lifecycle hook: called when store is first accessed
169
+ * Override to add initialization logic (e.g., fetch initial data)
170
+ */
171
+ onInit() {
172
+ // Override in subclass if needed
173
+ }
174
+ }
175
+ exports.ContextStore = ContextStore;
176
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/store/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,470 @@
1
+ /**
2
+ * Core type definitions for the Nexus Framework
3
+ * Provides type-safe interfaces for requests, responses, middleware, and routing
4
+ */
5
+ import { IncomingMessage, ServerResponse } from 'http';
6
+ import { ZodSchema } from 'zod';
7
+ import { Application } from './application';
8
+ import { ContextStore, StoreConstructor, RequestStore, RequestStoreConstructor } from './store';
9
+ /**
10
+ * HTTP methods supported by the framework
11
+ */
12
+ export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
13
+ /**
14
+ * HTTP headers type-safe wrapper
15
+ */
16
+ export interface Headers {
17
+ [key: string]: string | string[] | undefined;
18
+ }
19
+ /**
20
+ * Cookie parser and manager
21
+ */
22
+ export interface Cookies {
23
+ get(name: string): string | undefined;
24
+ set(name: string, value: string, options?: CookieOptions): void;
25
+ delete(name: string): void;
26
+ }
27
+ /**
28
+ * Cookie configuration options
29
+ */
30
+ export interface CookieOptions {
31
+ maxAge?: number;
32
+ expires?: Date;
33
+ path?: string;
34
+ domain?: string;
35
+ secure?: boolean;
36
+ httpOnly?: boolean;
37
+ sameSite?: 'strict' | 'lax' | 'none';
38
+ }
39
+ /**
40
+ * Response builder for fluent API
41
+ */
42
+ export interface ResponseBuilder {
43
+ status(code: number): ResponseBuilder;
44
+ header(name: string, value: string): ResponseBuilder;
45
+ json<T>(data: T): Response;
46
+ html(content: string): Response;
47
+ text(content: string): Response;
48
+ redirect(url: string, status?: number): Response;
49
+ stream(readable: NodeJS.ReadableStream): Response;
50
+ }
51
+ /**
52
+ * Framework response object
53
+ */
54
+ export interface Response {
55
+ statusCode: number;
56
+ headers: Headers;
57
+ body: any;
58
+ stream?: NodeJS.ReadableStream;
59
+ }
60
+ /**
61
+ * Unified context object containing request and response data
62
+ * This replaces the traditional req/res pattern with an immutable context
63
+ */
64
+ export interface Context {
65
+ method: HTTPMethod;
66
+ path: string;
67
+ url: URL;
68
+ params: Record<string, string>;
69
+ query: Record<string, any>;
70
+ body: any;
71
+ headers: Headers;
72
+ cookies: Cookies;
73
+ raw: {
74
+ req: IncomingMessage;
75
+ res: ServerResponse;
76
+ };
77
+ response: ResponseBuilder;
78
+ /** Access a registered global store by its class (singleton, persist across requests) */
79
+ store<T extends ContextStore<any>>(StoreClass: StoreConstructor<T>): T;
80
+ /** Access a request-scoped store by its class (per-request, disposed after response) */
81
+ requestStore<T extends RequestStore<any>>(StoreClass: RequestStoreConstructor<T>): T;
82
+ /** Set a value in request-scoped storage */
83
+ set<T = any>(key: string, value: T): void;
84
+ /** Get a value from request-scoped storage */
85
+ get<T = any>(key: string): T | undefined;
86
+ json<T>(data: T, status?: number): Response;
87
+ html(content: string, status?: number): Response;
88
+ text(content: string, status?: number): Response;
89
+ redirect(url: string, status?: number): Response;
90
+ stream(readable: NodeJS.ReadableStream): Response;
91
+ [key: string]: any;
92
+ }
93
+ /**
94
+ * Next function for middleware chain
95
+ */
96
+ export type Next<TContext = Context> = (ctx: TContext) => Promise<Response>;
97
+ /**
98
+ * Middleware function signature
99
+ * Middleware can transform the context and pass it to the next handler
100
+ * Now supports optional dependency injection as the third parameter.
101
+ *
102
+ * @template TIn - Input context type
103
+ * @template TOut - Output context type (after transformation)
104
+ * @template TDeps - Dependencies type (injected from app.provide())
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * // Simple middleware (no deps)
109
+ * const loggerMiddleware: Middleware = async (ctx, next) => {
110
+ * console.log(`${ctx.method} ${ctx.path}`);
111
+ * return next(ctx);
112
+ * };
113
+ *
114
+ * // Middleware with dependencies
115
+ * const authMiddleware: Middleware<Context, Context, { jwt: JWTService; db: Database }> =
116
+ * async (ctx, next, { jwt, db }) => {
117
+ * const token = ctx.headers.authorization?.replace('Bearer ', '');
118
+ * const payload = await jwt.verify(token);
119
+ * ctx.user = await db.findUser(payload.userId);
120
+ * return next(ctx);
121
+ * };
122
+ * ```
123
+ */
124
+ export type Middleware<TIn = Context, TOut = Context, TDeps = any> = (ctx: TIn, next: Next<TOut>, deps: TDeps) => Promise<Response>;
125
+ /**
126
+ * Route handler function signature
127
+ * Handlers can return data directly or a Response object
128
+ */
129
+ export type Handler<TContext = Context, TDeps = any> = (ctx: TContext, deps: TDeps) => Promise<Response | any>;
130
+ /**
131
+ * Dependency container type
132
+ * Maps dependency names to their instances
133
+ */
134
+ export type DependencyContainer = Record<string, any>;
135
+ /**
136
+ * Extract dependency types from container
137
+ */
138
+ export type ExtractDeps<T extends DependencyContainer, K extends keyof T> = {
139
+ [P in K]: T[P];
140
+ };
141
+ /**
142
+ * Route configuration with dependency injection
143
+ */
144
+ export interface InjectedRouteConfig<TContext = Context, TDeps extends DependencyContainer = DependencyContainer, TKeys extends keyof TDeps = keyof TDeps> {
145
+ /** Dependencies to inject into handler */
146
+ inject?: TKeys[];
147
+ /** Route handler with injected dependencies */
148
+ handler: (ctx: TContext, deps: Pick<TDeps, TKeys>) => Promise<Response | any>;
149
+ /** Middleware chain */
150
+ middlewares?: Middleware<any, any>[];
151
+ /** Schema validation */
152
+ schema?: SchemaConfig;
153
+ /** Route metadata */
154
+ meta?: RouteMeta;
155
+ }
156
+ /**
157
+ * Validation error detail from Zod
158
+ */
159
+ export interface ValidationErrorDetail {
160
+ path: (string | number)[];
161
+ message: string;
162
+ code: string;
163
+ }
164
+ /**
165
+ * Custom validation error handler
166
+ */
167
+ export type ValidationErrorHandler = (errors: ValidationErrorDetail[], ctx: Context) => Response | any;
168
+ /**
169
+ * Schema validation configuration
170
+ */
171
+ export interface SchemaConfig {
172
+ params?: ZodSchema;
173
+ query?: ZodSchema;
174
+ body?: ZodSchema;
175
+ headers?: ZodSchema;
176
+ onValidationError?: ValidationErrorHandler;
177
+ }
178
+ /**
179
+ * Route metadata for documentation and API generation
180
+ */
181
+ export interface RouteMeta {
182
+ description?: string;
183
+ tags?: string[];
184
+ responses?: Record<number, string>;
185
+ deprecated?: boolean;
186
+ summary?: string;
187
+ example?: string;
188
+ }
189
+ /**
190
+ * Route configuration object
191
+ */
192
+ export interface RouteConfig<TContext = Context> {
193
+ method: HTTPMethod;
194
+ path: string;
195
+ handler: Handler<TContext>;
196
+ middlewares?: Middleware<any, any>[];
197
+ schema?: SchemaConfig;
198
+ meta?: RouteMeta;
199
+ }
200
+ /**
201
+ * Route match result from router
202
+ */
203
+ export interface RouteMatch {
204
+ handler: Handler;
205
+ params: Record<string, string>;
206
+ middlewares: Middleware[];
207
+ schema?: SchemaConfig;
208
+ }
209
+ /**
210
+ * Error handler function signature
211
+ */
212
+ export type ErrorHandler = (error: Error, ctx: Context) => Response | Promise<Response>;
213
+ /**
214
+ * Application configuration options
215
+ */
216
+ export interface AppConfig {
217
+ contextPoolSize?: number;
218
+ enableJIT?: boolean;
219
+ onError?: ErrorHandler;
220
+ debug?: boolean;
221
+ logRequests?: boolean;
222
+ }
223
+ /**
224
+ * Plugin interface for extensibility
225
+ */
226
+ export interface Plugin {
227
+ name: string;
228
+ version: string;
229
+ install: (app: Application) => void | Promise<void>;
230
+ }
231
+ /**
232
+ * Base interface for class-based route definitions
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * class UserRegister implements RouteBase {
237
+ * pathName = '/api/users/register';
238
+ *
239
+ * schema() {
240
+ * return { body: z.object({ email: z.string().email() }) };
241
+ * }
242
+ *
243
+ * meta() {
244
+ * return { summary: 'Register user', tags: ['Users'] };
245
+ * }
246
+ *
247
+ * async handler(ctx: Context) {
248
+ * return { success: true };
249
+ * }
250
+ * }
251
+ *
252
+ * app.post(new UserRegister());
253
+ * ```
254
+ */
255
+ export interface RouteBase<TContext = Context> {
256
+ /** The route path (e.g., '/api/users/:id') - Optional for file-based routing */
257
+ pathName?: string;
258
+ /**
259
+ * HTTP method(s) this route handles - Optional for file-based routing
260
+ * When using file-based routing, you can define method handlers (GET, POST, etc.) as methods
261
+ */
262
+ method?: HTTPMethod | HTTPMethod[];
263
+ /** Optional schema validation */
264
+ schema?: () => SchemaConfig;
265
+ /** Optional route metadata for documentation */
266
+ meta?: () => RouteMeta;
267
+ /** Optional route-specific middlewares */
268
+ middlewares?: () => Middleware<any, any>[];
269
+ /** The route handler (can be omitted if using method-named handlers like GET, POST, etc.) */
270
+ handler?: Handler<TContext>;
271
+ /** Method-specific handlers for file-based routing */
272
+ GET?: Handler<TContext>;
273
+ POST?: Handler<TContext>;
274
+ PUT?: Handler<TContext>;
275
+ DELETE?: Handler<TContext>;
276
+ PATCH?: Handler<TContext>;
277
+ HEAD?: Handler<TContext>;
278
+ OPTIONS?: Handler<TContext>;
279
+ }
280
+ /**
281
+ * Abstract base class for class-based routes with REQUIRED handler implementation.
282
+ * Use this when you want TypeScript to enforce that the handler method is implemented.
283
+ * Also provides lifecycle hooks for request processing and dependency injection.
284
+ *
285
+ * @example
286
+ * ```typescript
287
+ * // With dependency injection
288
+ * class UserRegister extends Route<Context, { db: Database; cache: Redis }> {
289
+ * pathName = '/api/users/register';
290
+ *
291
+ * // Optional: run before handler (with deps)
292
+ * async onBefore(ctx: Context, { db }: { db: Database }) {
293
+ * console.log('Before handler, db connected:', db.isConnected);
294
+ * }
295
+ *
296
+ * // Optional: transform response after handler (with deps)
297
+ * async onAfter(ctx: Context, result: any, { cache }: { cache: Redis }) {
298
+ * await cache.set('last-register', JSON.stringify(result));
299
+ * return { ...result, timestamp: Date.now() };
300
+ * }
301
+ *
302
+ * // Optional: custom error handling (with deps)
303
+ * async onError(ctx: Context, error: Error, deps) {
304
+ * return { error: error.message, code: 'CUSTOM_ERROR' };
305
+ * }
306
+ *
307
+ * // REQUIRED: handler with dependencies
308
+ * async handler(ctx: Context, { db, cache }) {
309
+ * const user = await db.query('INSERT INTO users...');
310
+ * await cache.set(`user:${user.id}`, user);
311
+ * return { success: true, user };
312
+ * }
313
+ * }
314
+ *
315
+ * app.provide({ db, cache }).post(new UserRegister());
316
+ * ```
317
+ */
318
+ export declare abstract class Route<TContext = Context, TDeps = any> {
319
+ pathName?: string;
320
+ /**
321
+ * The main route handler - REQUIRED!
322
+ * TypeScript will enforce this is implemented.
323
+ * @param ctx - Request context
324
+ * @param deps - Injected dependencies from app.provide()
325
+ */
326
+ abstract handler(ctx: TContext, deps: TDeps): Promise<any> | any;
327
+ /**
328
+ * Return a successful JSON response
329
+ * @param data - The response data to send
330
+ * @returns Object with success: true merged with data
331
+ *
332
+ * @example
333
+ * ```typescript
334
+ * return this.ok({ user: { id: 1, name: 'John' } });
335
+ * // Returns: { success: true, user: { id: 1, name: 'John' } }
336
+ * ```
337
+ */
338
+ protected ok<T extends Record<string, any>>(data: T): {
339
+ success: true;
340
+ } & T;
341
+ /**
342
+ * Return a failed JSON response with status code
343
+ * @param ctx - The request context
344
+ * @param status - HTTP status code (e.g., 400, 404, 500)
345
+ * @param message - Error message
346
+ * @param data - Optional additional error data
347
+ * @returns Response object with error details
348
+ *
349
+ * @example
350
+ * ```typescript
351
+ * return this.fail(ctx, 404, 'User not found');
352
+ * // Returns 404 with: { success: false, message: 'User not found' }
353
+ *
354
+ * return this.fail(ctx, 400, 'Validation failed', { errors: [...] });
355
+ * // Returns 400 with: { success: false, message: 'Validation failed', data: { errors: [...] } }
356
+ * ```
357
+ */
358
+ protected fail(ctx: TContext, status: number, message: string, data?: any): Response;
359
+ /**
360
+ * HTTP method(s) this route handles - Optional
361
+ * When using file-based routing, you can also define method handlers (GET, POST, etc.)
362
+ */
363
+ method?: HTTPMethod | HTTPMethod[];
364
+ /**
365
+ * Hook: Called BEFORE the handler.
366
+ * - Return undefined/void to continue to handler
367
+ * - Return a value to skip handler and use that as response
368
+ * - Throw an error to trigger onError
369
+ * @param ctx - Request context
370
+ * @param deps - Injected dependencies from app.provide()
371
+ */
372
+ onBefore?(ctx: TContext, deps: TDeps): Promise<any | void> | any | void;
373
+ /**
374
+ * Hook: Called AFTER the handler completes successfully.
375
+ * - Receives the handler result
376
+ * - Can transform/modify the response
377
+ * - Return the (modified) result
378
+ * @param ctx - Request context
379
+ * @param result - Handler result
380
+ * @param deps - Injected dependencies from app.provide()
381
+ */
382
+ onAfter?(ctx: TContext, result: any, deps: TDeps): Promise<any> | any;
383
+ /**
384
+ * Hook: Called when handler or onBefore throws an error.
385
+ * - Can return a custom error response
386
+ * - If not defined, error propagates to global error handler
387
+ * @param ctx - Request context
388
+ * @param error - Error thrown
389
+ * @param deps - Injected dependencies from app.provide()
390
+ */
391
+ onError?(ctx: TContext, error: Error, deps: TDeps): Promise<any> | any;
392
+ /** Optional schema validation */
393
+ schema?(): SchemaConfig;
394
+ /** Optional route metadata for documentation */
395
+ meta?(): RouteMeta;
396
+ /** Optional route-specific middlewares */
397
+ middlewares?(): Middleware<any, any>[];
398
+ }
399
+ /**
400
+ * Type guard to check if a route is a Route class instance (with hooks support)
401
+ */
402
+ export declare function isRouteClass(route: RouteBase | Route): route is Route;
403
+ /**
404
+ * Lifecycle hooks for request processing
405
+ *
406
+ * @example
407
+ * ```typescript
408
+ * app.hooks({
409
+ * onRequest: async (ctx) => {
410
+ * ctx.requestId = crypto.randomUUID();
411
+ * },
412
+ * beforeHandler: async (ctx) => {
413
+ * ctx.user = await getUser(ctx.headers.authorization);
414
+ * },
415
+ * afterHandler: async (ctx, result) => {
416
+ * return { ...result, timestamp: Date.now() };
417
+ * },
418
+ * onError: async (ctx, error) => {
419
+ * await logToSentry(error);
420
+ * }
421
+ * });
422
+ * ```
423
+ */
424
+ export interface LifecycleHooks {
425
+ /** Called when request is received, before any processing */
426
+ onRequest?: (ctx: Context) => Promise<void | Response> | void | Response;
427
+ /** Called before schema validation */
428
+ beforeValidation?: (ctx: Context) => Promise<void | Response> | void | Response;
429
+ /** Called after schema validation succeeds (ctx.body, ctx.query, ctx.params are validated) */
430
+ afterValidation?: (ctx: Context) => Promise<void | Response> | void | Response;
431
+ /** Called before route handler executes */
432
+ beforeHandler?: (ctx: Context) => Promise<void | Response> | void | Response;
433
+ /** Called after handler, can transform result. Return new result to override */
434
+ afterHandler?: (ctx: Context, result: any) => Promise<any> | any;
435
+ /** Called when an error occurs. Can return Response to handle error */
436
+ onError?: (ctx: Context, error: Error) => Promise<void | Response> | void | Response;
437
+ /** Called before response is sent (after all processing) */
438
+ onResponse?: (ctx: Context, response: Response) => Promise<void | Response> | void | Response;
439
+ }
440
+ /**
441
+ * Versioning strategy types
442
+ */
443
+ export type VersioningStrategy = 'path' | 'header' | 'query';
444
+ /**
445
+ * Versioning configuration for API versioning
446
+ *
447
+ * @example
448
+ * ```typescript
449
+ * app.configVersions({
450
+ * strategies: ['header', 'query'],
451
+ * header: 'api-version',
452
+ * queryParam: 'v',
453
+ * defaultVersion: 'v1',
454
+ * register: ['v1', 'v2']
455
+ * });
456
+ * ```
457
+ */
458
+ export interface VersioningConfig {
459
+ /** Versioning strategies to use */
460
+ strategies: VersioningStrategy[];
461
+ /** Header name for version (default: 'api-version') */
462
+ header?: string;
463
+ /** Query param name for version (default: 'v') */
464
+ queryParam?: string;
465
+ /** Default version when not specified */
466
+ defaultVersion: string;
467
+ /** List of versions to register */
468
+ register: string[];
469
+ }
470
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}