exisjs 0.7.5 → 0.7.7

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 (321) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +12 -0
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/clean.d.ts +5 -0
  5. package/dist/cli/commands/clean.d.ts.map +1 -0
  6. package/dist/cli/commands/clean.js +30 -0
  7. package/dist/cli/commands/clean.js.map +1 -0
  8. package/dist/cli/commands/dev.d.ts.map +1 -1
  9. package/dist/cli/commands/dev.js +171 -86
  10. package/dist/cli/commands/dev.js.map +1 -1
  11. package/dist/cli/commands/generate.d.ts +6 -1
  12. package/dist/cli/commands/generate.d.ts.map +1 -1
  13. package/dist/cli/commands/generate.js +57 -2
  14. package/dist/cli/commands/generate.js.map +1 -1
  15. package/dist/cli/commands/start.d.ts.map +1 -1
  16. package/dist/cli/commands/start.js +54 -16
  17. package/dist/cli/commands/start.js.map +1 -1
  18. package/dist/cli/index.js +26 -3
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/manifest.d.ts +1 -0
  21. package/dist/cli/manifest.d.ts.map +1 -1
  22. package/dist/cli/manifest.js +264 -33
  23. package/dist/cli/manifest.js.map +1 -1
  24. package/dist/cli/resolve-aliases.d.ts +1 -1
  25. package/dist/cli/resolve-aliases.d.ts.map +1 -1
  26. package/dist/cli/resolve-aliases.js +30 -13
  27. package/dist/cli/resolve-aliases.js.map +1 -1
  28. package/dist/config/config.d.ts +3 -1
  29. package/dist/config/config.d.ts.map +1 -1
  30. package/dist/config/config.js +9 -0
  31. package/dist/config/config.js.map +1 -1
  32. package/dist/config/types.d.ts +6 -0
  33. package/dist/config/types.d.ts.map +1 -1
  34. package/dist/cron/expressions.d.ts +45 -0
  35. package/dist/cron/expressions.d.ts.map +1 -0
  36. package/dist/cron/expressions.js +87 -0
  37. package/dist/cron/expressions.js.map +1 -0
  38. package/dist/cron/index.d.ts +6 -0
  39. package/dist/cron/index.d.ts.map +1 -0
  40. package/dist/cron/index.js +22 -0
  41. package/dist/cron/index.js.map +1 -0
  42. package/dist/cron/job.d.ts +50 -0
  43. package/dist/cron/job.d.ts.map +1 -0
  44. package/dist/cron/job.js +247 -0
  45. package/dist/cron/job.js.map +1 -0
  46. package/dist/cron/manager.d.ts +105 -0
  47. package/dist/cron/manager.d.ts.map +1 -0
  48. package/dist/cron/manager.js +245 -0
  49. package/dist/cron/manager.js.map +1 -0
  50. package/dist/cron/parser.d.ts +22 -0
  51. package/dist/cron/parser.d.ts.map +1 -0
  52. package/dist/cron/parser.js +269 -0
  53. package/dist/cron/parser.js.map +1 -0
  54. package/dist/cron/types.d.ts +76 -0
  55. package/dist/cron/types.d.ts.map +1 -0
  56. package/dist/cron/types.js +3 -0
  57. package/dist/cron/types.js.map +1 -0
  58. package/dist/decorators/constants.d.ts +2 -0
  59. package/dist/decorators/constants.d.ts.map +1 -1
  60. package/dist/decorators/constants.js +3 -1
  61. package/dist/decorators/constants.js.map +1 -1
  62. package/dist/decorators/core.d.ts +29 -11
  63. package/dist/decorators/core.d.ts.map +1 -1
  64. package/dist/decorators/core.js +49 -11
  65. package/dist/decorators/core.js.map +1 -1
  66. package/dist/decorators/cron.d.ts +57 -0
  67. package/dist/decorators/cron.d.ts.map +1 -0
  68. package/dist/decorators/cron.js +143 -0
  69. package/dist/decorators/cron.js.map +1 -0
  70. package/dist/decorators/index.d.ts +2 -0
  71. package/dist/decorators/index.d.ts.map +1 -1
  72. package/dist/decorators/index.js +2 -0
  73. package/dist/decorators/index.js.map +1 -1
  74. package/dist/decorators/middleware.d.ts +65 -2
  75. package/dist/decorators/middleware.d.ts.map +1 -1
  76. package/dist/decorators/middleware.js +148 -62
  77. package/dist/decorators/middleware.js.map +1 -1
  78. package/dist/decorators/params.d.ts +102 -2
  79. package/dist/decorators/params.d.ts.map +1 -1
  80. package/dist/decorators/params.js +105 -3
  81. package/dist/decorators/params.js.map +1 -1
  82. package/dist/decorators/response.d.ts.map +1 -1
  83. package/dist/decorators/response.js +32 -22
  84. package/dist/decorators/response.js.map +1 -1
  85. package/dist/decorators/routing.d.ts +81 -16
  86. package/dist/decorators/routing.d.ts.map +1 -1
  87. package/dist/decorators/routing.js +81 -16
  88. package/dist/decorators/routing.js.map +1 -1
  89. package/dist/di/container.d.ts.map +1 -1
  90. package/dist/di/container.js +6 -1
  91. package/dist/di/container.js.map +1 -1
  92. package/dist/docs/content/cli/commands.mdx +1 -1
  93. package/dist/docs/content/controllers.mdx +127 -10
  94. package/dist/docs/content/cron.mdx +196 -0
  95. package/dist/docs/content/decorators.mdx +22 -4
  96. package/dist/docs/content/errors.mdx +58 -9
  97. package/dist/docs/content/introduction.mdx +7 -7
  98. package/dist/docs/content/middleware.mdx +269 -6
  99. package/dist/docs/content/requests.mdx +180 -6
  100. package/dist/docs/content/responses.mdx +283 -32
  101. package/dist/docs/content/routing.mdx +46 -0
  102. package/dist/docs/content/swagger.mdx +228 -0
  103. package/dist/docs/content/validation.mdx +190 -11
  104. package/dist/docs/reference/context.mdx +11 -0
  105. package/dist/docs/reference/cron.mdx +300 -0
  106. package/dist/docs/reference/decorators.mdx +22 -4
  107. package/dist/docs/reference/error.mdx +88 -0
  108. package/dist/docs/reference/logger.mdx +175 -43
  109. package/dist/docs/reference/middleware.mdx +31 -0
  110. package/dist/docs/reference/router.mdx +22 -0
  111. package/dist/docs/reference/swagger.mdx +143 -0
  112. package/dist/docs/reference/validator.mdx +83 -23
  113. package/dist/error/errors.d.ts.map +1 -1
  114. package/dist/error/errors.js +95 -43
  115. package/dist/error/errors.js.map +1 -1
  116. package/dist/error/index.d.ts +1 -0
  117. package/dist/error/index.d.ts.map +1 -1
  118. package/dist/error/index.js +11 -1
  119. package/dist/error/index.js.map +1 -1
  120. package/dist/error/overlay.d.ts +42 -0
  121. package/dist/error/overlay.d.ts.map +1 -0
  122. package/dist/error/overlay.js +306 -0
  123. package/dist/error/overlay.js.map +1 -0
  124. package/dist/index.d.ts +1 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +22 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/lib/start-server.js +33 -7
  129. package/dist/lib/start-server.js.map +1 -1
  130. package/dist/logger/index.d.ts +1 -1
  131. package/dist/logger/index.d.ts.map +1 -1
  132. package/dist/logger/index.js +9 -1
  133. package/dist/logger/index.js.map +1 -1
  134. package/dist/middleware/guard.d.ts +2 -2
  135. package/dist/middleware/guard.d.ts.map +1 -1
  136. package/dist/middleware/guard.js.map +1 -1
  137. package/dist/middleware/ip-filter.d.ts +1 -0
  138. package/dist/middleware/ip-filter.d.ts.map +1 -1
  139. package/dist/middleware/ip-filter.js +2 -0
  140. package/dist/middleware/ip-filter.js.map +1 -1
  141. package/dist/middleware/middleware.d.ts +2 -2
  142. package/dist/middleware/middleware.d.ts.map +1 -1
  143. package/dist/middleware/middleware.js +20 -2
  144. package/dist/middleware/middleware.js.map +1 -1
  145. package/dist/middleware/security.d.ts +43 -1
  146. package/dist/middleware/security.d.ts.map +1 -1
  147. package/dist/middleware/security.js +101 -0
  148. package/dist/middleware/security.js.map +1 -1
  149. package/dist/response/index.d.ts +229 -6
  150. package/dist/response/index.d.ts.map +1 -1
  151. package/dist/response/index.js +272 -2
  152. package/dist/response/index.js.map +1 -1
  153. package/dist/router/boundary.d.ts +41 -11
  154. package/dist/router/boundary.d.ts.map +1 -1
  155. package/dist/router/boundary.js +24 -2
  156. package/dist/router/boundary.js.map +1 -1
  157. package/dist/router/controller-registrar.d.ts.map +1 -1
  158. package/dist/router/controller-registrar.js +108 -4
  159. package/dist/router/controller-registrar.js.map +1 -1
  160. package/dist/router/index.d.ts +2 -2
  161. package/dist/router/index.d.ts.map +1 -1
  162. package/dist/router/index.js +2 -1
  163. package/dist/router/index.js.map +1 -1
  164. package/dist/router/route-builder.d.ts +262 -65
  165. package/dist/router/route-builder.d.ts.map +1 -1
  166. package/dist/router/route-builder.js +181 -23
  167. package/dist/router/route-builder.js.map +1 -1
  168. package/dist/router/route-scanner.d.ts +6 -0
  169. package/dist/router/route-scanner.d.ts.map +1 -1
  170. package/dist/router/route-scanner.js +71 -792
  171. package/dist/router/route-scanner.js.map +1 -1
  172. package/dist/router/router.d.ts.map +1 -1
  173. package/dist/router/router.js +62 -17
  174. package/dist/router/router.js.map +1 -1
  175. package/dist/router/scanner/boundary-loader.d.ts +18 -0
  176. package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
  177. package/dist/router/scanner/boundary-loader.js +539 -0
  178. package/dist/router/scanner/boundary-loader.js.map +1 -0
  179. package/dist/router/scanner/cron-mounter.d.ts +15 -0
  180. package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
  181. package/dist/router/scanner/cron-mounter.js +216 -0
  182. package/dist/router/scanner/cron-mounter.js.map +1 -0
  183. package/dist/router/scanner/error-mounter.d.ts +14 -0
  184. package/dist/router/scanner/error-mounter.d.ts.map +1 -0
  185. package/dist/router/scanner/error-mounter.js +200 -0
  186. package/dist/router/scanner/error-mounter.js.map +1 -0
  187. package/dist/router/scanner/fs-scanner.d.ts +25 -0
  188. package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
  189. package/dist/router/scanner/fs-scanner.js +115 -0
  190. package/dist/router/scanner/fs-scanner.js.map +1 -0
  191. package/dist/router/scanner/functional-compiler.d.ts +9 -0
  192. package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
  193. package/dist/router/scanner/functional-compiler.js +233 -0
  194. package/dist/router/scanner/functional-compiler.js.map +1 -0
  195. package/dist/router/scanner/index.d.ts +9 -0
  196. package/dist/router/scanner/index.d.ts.map +1 -0
  197. package/dist/router/scanner/index.js +19 -0
  198. package/dist/router/scanner/index.js.map +1 -0
  199. package/dist/router/types.d.ts +23 -0
  200. package/dist/router/types.d.ts.map +1 -1
  201. package/dist/server/app.d.ts +3 -0
  202. package/dist/server/app.d.ts.map +1 -1
  203. package/dist/server/app.js +13 -0
  204. package/dist/server/app.js.map +1 -1
  205. package/dist/server/bootstrapper.d.ts.map +1 -1
  206. package/dist/server/bootstrapper.js +91 -30
  207. package/dist/server/bootstrapper.js.map +1 -1
  208. package/dist/server/cluster.d.ts.map +1 -1
  209. package/dist/server/cluster.js +13 -2
  210. package/dist/server/cluster.js.map +1 -1
  211. package/dist/server/context.d.ts +8 -0
  212. package/dist/server/context.d.ts.map +1 -1
  213. package/dist/server/context.js +50 -6
  214. package/dist/server/context.js.map +1 -1
  215. package/dist/server/helpers/body-parser.d.ts +18 -0
  216. package/dist/server/helpers/body-parser.d.ts.map +1 -0
  217. package/dist/server/helpers/body-parser.js +246 -0
  218. package/dist/server/helpers/body-parser.js.map +1 -0
  219. package/dist/server/helpers/cookie.d.ts +4 -0
  220. package/dist/server/helpers/cookie.d.ts.map +1 -0
  221. package/dist/server/helpers/cookie.js +61 -0
  222. package/dist/server/helpers/cookie.js.map +1 -0
  223. package/dist/server/helpers/etag.d.ts +3 -0
  224. package/dist/server/helpers/etag.d.ts.map +1 -0
  225. package/dist/server/helpers/etag.js +25 -0
  226. package/dist/server/helpers/etag.js.map +1 -0
  227. package/dist/server/helpers/index.d.ts +6 -0
  228. package/dist/server/helpers/index.d.ts.map +1 -0
  229. package/dist/server/helpers/index.js +21 -0
  230. package/dist/server/helpers/index.js.map +1 -0
  231. package/dist/server/helpers/ip.d.ts +9 -0
  232. package/dist/server/helpers/ip.d.ts.map +1 -0
  233. package/dist/server/helpers/ip.js +62 -0
  234. package/dist/server/helpers/ip.js.map +1 -0
  235. package/dist/server/helpers/stream.d.ts +4 -0
  236. package/dist/server/helpers/stream.d.ts.map +1 -0
  237. package/dist/server/helpers/stream.js +193 -0
  238. package/dist/server/helpers/stream.js.map +1 -0
  239. package/dist/server/lifecycle.d.ts +22 -0
  240. package/dist/server/lifecycle.d.ts.map +1 -0
  241. package/dist/server/lifecycle.js +106 -0
  242. package/dist/server/lifecycle.js.map +1 -0
  243. package/dist/server/request-handler.d.ts +1 -0
  244. package/dist/server/request-handler.d.ts.map +1 -1
  245. package/dist/server/request-handler.js +27 -17
  246. package/dist/server/request-handler.js.map +1 -1
  247. package/dist/server/request.d.ts +1 -139
  248. package/dist/server/request.d.ts.map +1 -1
  249. package/dist/server/request.js +37 -433
  250. package/dist/server/request.js.map +1 -1
  251. package/dist/server/response.d.ts +112 -156
  252. package/dist/server/response.d.ts.map +1 -1
  253. package/dist/server/response.js +129 -279
  254. package/dist/server/response.js.map +1 -1
  255. package/dist/swagger/decorators.d.ts +81 -0
  256. package/dist/swagger/decorators.d.ts.map +1 -0
  257. package/dist/swagger/decorators.js +172 -0
  258. package/dist/swagger/decorators.js.map +1 -0
  259. package/dist/swagger/generator.d.ts +19 -0
  260. package/dist/swagger/generator.d.ts.map +1 -0
  261. package/dist/swagger/generator.js +344 -0
  262. package/dist/swagger/generator.js.map +1 -0
  263. package/dist/swagger/index.d.ts +31 -0
  264. package/dist/swagger/index.d.ts.map +1 -0
  265. package/dist/swagger/index.js +53 -0
  266. package/dist/swagger/index.js.map +1 -0
  267. package/dist/swagger/mounter.d.ts +7 -0
  268. package/dist/swagger/mounter.d.ts.map +1 -0
  269. package/dist/swagger/mounter.js +56 -0
  270. package/dist/swagger/mounter.js.map +1 -0
  271. package/dist/swagger/types.d.ts +190 -0
  272. package/dist/swagger/types.d.ts.map +1 -0
  273. package/dist/swagger/types.js +3 -0
  274. package/dist/swagger/types.js.map +1 -0
  275. package/dist/swagger/ui.d.ts +6 -0
  276. package/dist/swagger/ui.d.ts.map +1 -0
  277. package/dist/swagger/ui.js +118 -0
  278. package/dist/swagger/ui.js.map +1 -0
  279. package/dist/testing/index.d.ts.map +1 -1
  280. package/dist/testing/index.js +6 -1
  281. package/dist/testing/index.js.map +1 -1
  282. package/dist/testing/mocks.d.ts.map +1 -1
  283. package/dist/testing/mocks.js +15 -3
  284. package/dist/testing/mocks.js.map +1 -1
  285. package/dist/utils/logger.d.ts +8 -0
  286. package/dist/utils/logger.d.ts.map +1 -1
  287. package/dist/utils/logger.js +184 -1
  288. package/dist/utils/logger.js.map +1 -1
  289. package/dist/validator/builder.d.ts +223 -0
  290. package/dist/validator/builder.d.ts.map +1 -0
  291. package/dist/validator/builder.js +517 -0
  292. package/dist/validator/builder.js.map +1 -0
  293. package/dist/validator/engine.d.ts +19 -0
  294. package/dist/validator/engine.d.ts.map +1 -0
  295. package/dist/validator/engine.js +568 -0
  296. package/dist/validator/engine.js.map +1 -0
  297. package/dist/validator/error.d.ts +12 -0
  298. package/dist/validator/error.d.ts.map +1 -0
  299. package/dist/validator/error.js +63 -0
  300. package/dist/validator/error.js.map +1 -0
  301. package/dist/validator/pagination.d.ts +40 -0
  302. package/dist/validator/pagination.d.ts.map +1 -0
  303. package/dist/validator/pagination.js +60 -0
  304. package/dist/validator/pagination.js.map +1 -0
  305. package/dist/validator/tex-types.d.ts +2 -1
  306. package/dist/validator/tex-types.d.ts.map +1 -1
  307. package/dist/validator/tex-types.js +2 -1
  308. package/dist/validator/tex-types.js.map +1 -1
  309. package/dist/validator/tex.d.ts +6 -142
  310. package/dist/validator/tex.d.ts.map +1 -1
  311. package/dist/validator/tex.js +14 -733
  312. package/dist/validator/tex.js.map +1 -1
  313. package/dist/validator/types.d.ts +83 -0
  314. package/dist/validator/types.d.ts.map +1 -0
  315. package/dist/validator/types.js +3 -0
  316. package/dist/validator/types.js.map +1 -0
  317. package/package.json +8 -4
  318. package/dist/dev/error-overlay.d.ts +0 -3
  319. package/dist/dev/error-overlay.d.ts.map +0 -1
  320. package/dist/dev/error-overlay.js +0 -118
  321. package/dist/dev/error-overlay.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PARAM_METADATA_PROP = exports.LIFECYCLE_METADATA_PROP = exports.ROUTE_METADATA_PROP = exports.METHOD_MIDDLEWARES = exports.ROUTE_META = exports.MODULE_METADATA = exports.BOUNDARY_CONFIG = exports.SERVER_CONFIG = exports.PARAM_METADATA = exports.LIFECYCLE_METADATA = exports.ROUTE_METADATA = exports.MIDDLEWARE_REGISTRY = exports.CONTROLLER_HOST = exports.CONTROLLER_PREFIX = exports.ROUTE_REGISTRY = void 0;
3
+ exports.PARAM_METADATA_PROP = exports.LIFECYCLE_METADATA_PROP = exports.ROUTE_METADATA_PROP = exports.METHOD_MIDDLEWARES = exports.ROUTE_META = exports.CRON_META = exports.CRON_REGISTRY = exports.MODULE_METADATA = exports.BOUNDARY_CONFIG = exports.SERVER_CONFIG = exports.PARAM_METADATA = exports.LIFECYCLE_METADATA = exports.ROUTE_METADATA = exports.MIDDLEWARE_REGISTRY = exports.CONTROLLER_HOST = exports.CONTROLLER_PREFIX = exports.ROUTE_REGISTRY = void 0;
4
4
  // Store metadata on class prototypes using symbols to avoid reflect-metadata
5
5
  exports.ROUTE_REGISTRY = Symbol.for('exisjs:routes');
6
6
  exports.CONTROLLER_PREFIX = Symbol.for('exisjs:controller_prefix');
@@ -12,6 +12,8 @@ exports.PARAM_METADATA = Symbol.for('exisjs:param_metadata');
12
12
  exports.SERVER_CONFIG = Symbol.for('exisjs:server_config');
13
13
  exports.BOUNDARY_CONFIG = Symbol.for('exisjs:boundary_config');
14
14
  exports.MODULE_METADATA = Symbol.for('exisjs:module_metadata');
15
+ exports.CRON_REGISTRY = Symbol.for('exisjs:cron_jobs');
16
+ exports.CRON_META = Symbol.for('exisjs:cron_meta');
15
17
  exports.ROUTE_META = Symbol.for('exisjs:route_meta');
16
18
  exports.METHOD_MIDDLEWARES = Symbol.for('exisjs:method_middlewares');
17
19
  exports.ROUTE_METADATA_PROP = Symbol.for('exisjs:route_metadata_prop');
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/decorators/constants.ts"],"names":[],"mappings":";;;AAEA,6EAA6E;AAChE,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC5C,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAC1D,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACtD,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAClD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AAEtD,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC5C,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAC9D,QAAA,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAC/C,gCAAgC,CACjC,CAAA;AACY,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/decorators/constants.ts"],"names":[],"mappings":";;;AAEA,6EAA6E;AAChE,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC5C,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAC1D,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACtD,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACpD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAClD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACtD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC9C,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAE1C,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC5C,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC5D,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAC9D,QAAA,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAC/C,gCAAgC,CACjC,CAAA;AACY,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA"}
@@ -1,21 +1,39 @@
1
1
  import type { ControllerOptions, ServerConfig, BoundaryConfig, ClassModuleOptions } from './constants';
2
2
  /**
3
3
  * Marks a class as a controller, automatically grouping its routes under the provided prefix.
4
- * Uses standard ES decorators, completely avoiding reflect-metadata bloat.
5
4
  *
6
- * Example:
5
+ * @param prefixOrOptions Base route prefix string or configuration options
7
6
  *
8
- * @Controller('/api/users')
9
- * export class UserController {
10
- * @Get()
11
- * getUsers() { return []; }
12
- * }
13
- *
14
- * @param {string | ControllerOptions} [prefixOrOptions] Route prefix or options
15
- * @public
7
+ * @example
8
+ * ```ts
9
+ * @Controller('/api/users')
10
+ * export class UserController {
11
+ * @Get('/')
12
+ * getUsers() {
13
+ * return []
14
+ * }
15
+ * }
16
+ * ```
16
17
  */
17
18
  export declare function Controller(prefixOrOptions?: string | ControllerOptions): any;
18
19
  export declare const INJECTABLE_REGISTRY: Set<any>;
20
+ /**
21
+ * Decorates a class as a Dependency Injection provider managed by the Exis container.
22
+ *
23
+ * @param options Scope options (`singleton`, `request`, `transient`)
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * @Injectable()
28
+ * export class UserService {
29
+ * constructor(@Inject(DatabaseService) private db: DatabaseService) {}
30
+ *
31
+ * async findById(id: string) {
32
+ * return this.db.query('SELECT * FROM users WHERE id = $1', [id])
33
+ * }
34
+ * }
35
+ * ```
36
+ */
19
37
  export declare function Injectable(options?: {
20
38
  scope?: 'singleton' | 'request' | 'transient';
21
39
  }): any;
@@ -30,7 +48,7 @@ export declare function Boundary(options?: BoundaryConfig): any;
30
48
  /**
31
49
  * Marks a class as an OOP Module, configuring its imported modules, controllers, providers, and exports.
32
50
  *
33
- * Example:
51
+ * @example
34
52
  * ```ts
35
53
  * @Module({
36
54
  * imports: [DatabaseModule],
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAGpB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,GAAG,CA8F5E;AAED,eAAO,MAAM,mBAAmB,UAAiB,CAAA;AAEjD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IACnC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;CAC9C,GAAG,GAAG,CAWN;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,GAAG,CAIlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,GAAG,CAItD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,kBAAuB,GAAG,GAAG,CAO5D"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAGpB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,GAAG,CA8F5E;AAED,eAAO,MAAM,mBAAmB,UAAiB,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IACnC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;CAC9C,GAAG,GAAG,CAiCN;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,GAAG,CAIlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,GAAG,CAItD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,kBAAuB,GAAG,GAAG,CAO5D"}
@@ -10,18 +10,19 @@ const constants_1 = require("./constants");
10
10
  const metadata_1 = require("./core/metadata");
11
11
  /**
12
12
  * Marks a class as a controller, automatically grouping its routes under the provided prefix.
13
- * Uses standard ES decorators, completely avoiding reflect-metadata bloat.
14
13
  *
15
- * Example:
14
+ * @param prefixOrOptions Base route prefix string or configuration options
16
15
  *
17
- * @Controller('/api/users')
18
- * export class UserController {
19
- * @Get()
20
- * getUsers() { return []; }
21
- * }
22
- *
23
- * @param {string | ControllerOptions} [prefixOrOptions] Route prefix or options
24
- * @public
16
+ * @example
17
+ * ```ts
18
+ * @Controller('/api/users')
19
+ * export class UserController {
20
+ * @Get('/')
21
+ * getUsers() {
22
+ * return []
23
+ * }
24
+ * }
25
+ * ```
25
26
  */
26
27
  function Controller(prefixOrOptions) {
27
28
  return function (target, context) {
@@ -104,12 +105,49 @@ function Controller(prefixOrOptions) {
104
105
  };
105
106
  }
106
107
  exports.INJECTABLE_REGISTRY = new Set();
108
+ /**
109
+ * Decorates a class as a Dependency Injection provider managed by the Exis container.
110
+ *
111
+ * @param options Scope options (`singleton`, `request`, `transient`)
112
+ *
113
+ * @example
114
+ * ```ts
115
+ * @Injectable()
116
+ * export class UserService {
117
+ * constructor(@Inject(DatabaseService) private db: DatabaseService) {}
118
+ *
119
+ * async findById(id: string) {
120
+ * return this.db.query('SELECT * FROM users WHERE id = $1', [id])
121
+ * }
122
+ * }
123
+ * ```
124
+ */
107
125
  function Injectable(options) {
108
126
  return function (target, _context) {
109
127
  exports.INJECTABLE_REGISTRY.add(target);
110
128
  if (options?.scope) {
111
129
  metadata_1.MetadataEngine.set(target.prototype, Symbol.for('exisjs:scope'), options.scope);
112
130
  }
131
+ const proto = target.prototype;
132
+ if (proto) {
133
+ const CRON_REGISTRY = Symbol.for('exisjs:cron_jobs');
134
+ const CRON_META = Symbol.for('exisjs:cron_meta');
135
+ metadata_1.MetadataEngine.init(proto, CRON_REGISTRY, []);
136
+ const cronRegistry = metadata_1.MetadataEngine.get(proto, CRON_REGISTRY);
137
+ for (const key of Object.getOwnPropertyNames(proto)) {
138
+ const descriptor = Object.getOwnPropertyDescriptor(proto, key);
139
+ if (descriptor && typeof descriptor.value === 'function') {
140
+ const fn = descriptor.value;
141
+ const cronMeta = metadata_1.MetadataEngine.get(fn, CRON_META);
142
+ if (cronMeta) {
143
+ const exists = cronRegistry.some((c) => c.methodName === key);
144
+ if (!exists) {
145
+ cronRegistry.push({ ...cronMeta, methodName: key });
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
113
151
  };
114
152
  }
115
153
  /**
@@ -131,7 +169,7 @@ function Boundary(options) {
131
169
  /**
132
170
  * Marks a class as an OOP Module, configuring its imported modules, controllers, providers, and exports.
133
171
  *
134
- * Example:
172
+ * @example
135
173
  * ```ts
136
174
  * @Module({
137
175
  * imports: [DatabaseModule],
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/decorators/core.ts"],"names":[],"mappings":";;;AAyCA,gCA8FC;AAqBD,gCAmCC;AAKD,wBAIC;AAKD,4BAIC;AAeD,wBAOC;AAvOD,2CAgBoB;AAOpB,8CAAgD;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,UAAU,CAAC,eAA4C;IACrE,OAAO,UAAU,MAAW,EAAE,OAA+B;QAC3D,MAAM,MAAM,GACV,OAAO,eAAe,KAAK,QAAQ;YACjC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,eAAe,EAAE,MAAM,IAAI,EAAE,CAAA;QACnC,MAAM,IAAI,GACR,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QAExE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;QAC9B,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,6BAAiB,EAAE,MAAM,CAAC,CAAA;QACpD,IAAI,IAAI;YAAE,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,2BAAe,EAAE,IAAI,CAAC,CAAA;QAE1D,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,QAAQ,CAAC,6BAAiB,CAAC,GAAG,MAAM,CAAA;YAC5C,IAAI,IAAI;gBAAE,OAAO,CAAC,QAAQ,CAAC,2BAAe,CAAC,GAAG,IAAI,CAAA;QACpD,CAAC;QAED,yBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,0BAAc,EAAE,EAAE,CAAC,CAAA;QAE9C,cAAc;QACd,MAAM,kBAAkB,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,+BAAmB,CAAC,CAAA;QACzE,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,+BAAmB,EAAE;gBAC7C,iBAAiB,EAAE,kBAAkB;aACtC,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,CAAC,kBAAkB,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YACzE,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,+BAAmB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3E,CAAC;aAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;YACjD,kBAAkB,CAAC,iBAAiB,GAAG,EAAE,CAAA;QAC3C,CAAC;QAED,MAAM,cAAc,GAClB,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,mCAAuB,CAAC,IAAI,EAAE,CAAA;QAC1D,yBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,0BAAc,EAAE,EAAE,CAAC,CAAA;QAC9C,yBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,8BAAkB,EAAE,EAAE,CAAC,CAAA;QAClD,yBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,0BAAc,EAAE,EAAE,CAAC,CAAA;QAE9C,MAAM,aAAa,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,CAAA;QAC/D,MAAM,kBAAkB,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,+BAAmB,CAAC,CAAA;QACzE,MAAM,gBAAgB,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,CAAA;QAClE,MAAM,oBAAoB,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,8BAAkB,CAAC,CAAA;QAC1E,MAAM,gBAAgB,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,CAAA;QAElE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC9D,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzD,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAA;gBAE3B,MAAM,SAAS,GAAG,yBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,sBAAU,CAAC,CAAA;gBACpD,IAAI,SAAS,EAAE,CAAC;oBACd,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;gBACxD,CAAC;gBAED,MAAM,iBAAiB,GAAG,yBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,8BAAkB,CAAC,CAAA;gBACpE,IAAI,iBAAiB,EAAE,CAAC;oBACtB,kBAAkB,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;oBACvD,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAA;gBACpD,CAAC;gBAED,MAAM,kBAAkB,GACtB,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,+BAAmB,CAAC,IAAI,EAAE,CAAA;gBACtD,MAAM,aAAa,GAAG,yBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,+BAAmB,CAAC,IAAI,EAAE,CAAA;gBACvE,IACE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EACrC,CAAC;oBACD,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAAA;gBACrE,CAAC;gBAED,MAAM,iBAAiB,GACrB,yBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,mCAAuB,CAAC,IAAI,EAAE,CAAA;gBACvD,oBAAoB,CAAC,GAAG,CAAC,GAAG;oBAC1B,MAAM,EAAE;wBACN,GAAG,CAAC,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC;wBACtC,GAAG,CAAC,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC;qBACpC;oBACD,YAAY,EAAE;wBACZ,GAAG,CAAC,cAAc,CAAC,kBAAkB,IAAI,EAAE,CAAC;wBAC5C,GAAG,CAAC,iBAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;qBAC1C;oBACD,OAAO,EAAE;wBACP,GAAG,CAAC,cAAc,CAAC,aAAa,IAAI,EAAE,CAAC;wBACvC,GAAG,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;qBACrC;iBACF,CAAA;gBAED,MAAM,aAAa,GAAG,yBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,+BAAmB,CAAC,CAAA;gBACjE,IAAI,aAAa,EAAE,CAAC;oBAClB,gBAAgB,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAG,IAAI,GAAG,EAAO,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,UAAU,CAAC,OAE1B;IACC,OAAO,UAAU,MAAW,EAAE,QAAgC;QAC5D,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,yBAAc,CAAC,GAAG,CAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAC1B,OAAO,CAAC,KAAK,CACd,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACpD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YAChD,yBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;YAC7C,MAAM,YAAY,GAAG,yBAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YAE7D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAC9D,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACzD,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAA;oBAC3B,MAAM,QAAQ,GAAG,yBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;oBAClD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,CAAA;wBAClE,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;wBACrD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,OAAsB;IAC3C,OAAO,UAAU,MAAW,EAAE,QAAgC;QAC5D,yBAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,yBAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UAAU,MAAW,EAAE,QAAgC;QAC5D,yBAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,2BAAe,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,MAAM,CAAC,UAA8B,EAAE;IACrD,OAAO,UAAU,MAAW,EAAE,QAAgC;QAC5D,yBAAc,CAAC,GAAG,CAAC,MAAM,EAAE,2BAAe,EAAE,OAAO,CAAC,CAAA;QACpD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,yBAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,2BAAe,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { CronJobOptions } from '../cron/types';
2
+ export interface DecoratedCronJobMeta {
3
+ methodName: string;
4
+ options: CronJobOptions;
5
+ }
6
+ /**
7
+ * Extracts decorated cron jobs from a class constructor or prototype.
8
+ */
9
+ export declare function getCronJobsFromClass(target: any): DecoratedCronJobMeta[];
10
+ /**
11
+ * Method decorator to schedule a method on a class as a Cron Job.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * @Injectable()
16
+ * export class CleanupService {
17
+ * @Cron('0 0 * * *', { name: 'nightly-purge', timezone: 'UTC', preventOverlap: true })
18
+ * async purgeOldSessions() {
19
+ * // Run nightly
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export declare function Cron(schedule: string, options?: Omit<CronJobOptions, 'schedule' | 'run' | 'handle'>): any;
25
+ /**
26
+ * Method decorator to schedule a method on a class to run at recurring millisecond intervals.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * @Injectable()
31
+ * export class HealthService {
32
+ * @Interval(60000, { name: 'health-check' })
33
+ * async pingHealth() {
34
+ * // Runs every 60s
35
+ * }
36
+ * }
37
+ * ```
38
+ */
39
+ export declare function Interval(ms: number, options?: Omit<CronJobOptions, 'interval' | 'run' | 'handle'>): any;
40
+ /**
41
+ * Method decorator to schedule a method on a class to run once after a millisecond delay after server start.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * @Injectable()
46
+ * export class CacheService {
47
+ * @Timeout(5000, { name: 'warmup-cache' })
48
+ * async warmupCache() {
49
+ * // Runs once 5s after startup
50
+ * }
51
+ * }
52
+ * ```
53
+ */
54
+ export declare function TimeoutTask(ms: number, options?: Omit<CronJobOptions, 'timeout' | 'run' | 'handle'>): any;
55
+ export declare const ScheduledTimeout: typeof TimeoutTask;
56
+ export declare const Scheduled: typeof Cron;
57
+ //# sourceMappingURL=cron.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/decorators/cron.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAiDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,oBAAoB,EAAE,CAuBxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAM,GAChE,GAAG,CAYL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAM,GAChE,GAAG,CAYL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAM,GAC/D,GAAG,CAYL;AAED,eAAO,MAAM,gBAAgB,oBAAc,CAAA;AAC3C,eAAO,MAAM,SAAS,aAAO,CAAA"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Scheduled = exports.ScheduledTimeout = void 0;
4
+ exports.getCronJobsFromClass = getCronJobsFromClass;
5
+ exports.Cron = Cron;
6
+ exports.Interval = Interval;
7
+ exports.TimeoutTask = TimeoutTask;
8
+ const constants_1 = require("./constants");
9
+ const metadata_1 = require("./core/metadata");
10
+ function applyCronDecorator(target, contextOrPropertyKey, descriptor, cronOptions) {
11
+ const isStandard = typeof contextOrPropertyKey === 'object' &&
12
+ contextOrPropertyKey !== null &&
13
+ 'name' in contextOrPropertyKey;
14
+ if (isStandard) {
15
+ const methodName = String(contextOrPropertyKey.name);
16
+ const options = {
17
+ ...cronOptions,
18
+ name: cronOptions.name || methodName,
19
+ };
20
+ metadata_1.MetadataEngine.set(target, constants_1.CRON_META, {
21
+ methodName,
22
+ options,
23
+ });
24
+ }
25
+ else {
26
+ const proto = typeof target === 'function' && target.prototype
27
+ ? target.prototype
28
+ : target || {};
29
+ const fn = descriptor ? descriptor.value : proto[contextOrPropertyKey];
30
+ const methodName = String(contextOrPropertyKey || descriptor?.name || '');
31
+ const options = {
32
+ ...cronOptions,
33
+ name: cronOptions.name || methodName,
34
+ };
35
+ metadata_1.MetadataEngine.push(proto, constants_1.CRON_REGISTRY, {
36
+ methodName,
37
+ options,
38
+ });
39
+ if (fn && typeof fn === 'function') {
40
+ metadata_1.MetadataEngine.set(fn, constants_1.CRON_META, {
41
+ methodName,
42
+ options,
43
+ });
44
+ }
45
+ }
46
+ }
47
+ /**
48
+ * Extracts decorated cron jobs from a class constructor or prototype.
49
+ */
50
+ function getCronJobsFromClass(target) {
51
+ const proto = typeof target === 'function' ? target.prototype : target;
52
+ if (!proto)
53
+ return [];
54
+ const registry = [
55
+ ...(metadata_1.MetadataEngine.get(proto, constants_1.CRON_REGISTRY) || []),
56
+ ];
57
+ for (const key of Object.getOwnPropertyNames(proto)) {
58
+ const descriptor = Object.getOwnPropertyDescriptor(proto, key);
59
+ if (descriptor && typeof descriptor.value === 'function') {
60
+ const fn = descriptor.value;
61
+ const cronMeta = metadata_1.MetadataEngine.get(fn, constants_1.CRON_META);
62
+ if (cronMeta) {
63
+ const exists = registry.some((c) => c.methodName === key);
64
+ if (!exists) {
65
+ registry.push({ ...cronMeta, methodName: key });
66
+ }
67
+ }
68
+ }
69
+ }
70
+ return registry;
71
+ }
72
+ /**
73
+ * Method decorator to schedule a method on a class as a Cron Job.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * @Injectable()
78
+ * export class CleanupService {
79
+ * @Cron('0 0 * * *', { name: 'nightly-purge', timezone: 'UTC', preventOverlap: true })
80
+ * async purgeOldSessions() {
81
+ * // Run nightly
82
+ * }
83
+ * }
84
+ * ```
85
+ */
86
+ function Cron(schedule, options = {}) {
87
+ return function (target, contextOrPropertyKey, descriptor) {
88
+ applyCronDecorator(target, contextOrPropertyKey, descriptor, {
89
+ ...options,
90
+ schedule,
91
+ });
92
+ return descriptor;
93
+ };
94
+ }
95
+ /**
96
+ * Method decorator to schedule a method on a class to run at recurring millisecond intervals.
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * @Injectable()
101
+ * export class HealthService {
102
+ * @Interval(60000, { name: 'health-check' })
103
+ * async pingHealth() {
104
+ * // Runs every 60s
105
+ * }
106
+ * }
107
+ * ```
108
+ */
109
+ function Interval(ms, options = {}) {
110
+ return function (target, contextOrPropertyKey, descriptor) {
111
+ applyCronDecorator(target, contextOrPropertyKey, descriptor, {
112
+ ...options,
113
+ interval: ms,
114
+ });
115
+ return descriptor;
116
+ };
117
+ }
118
+ /**
119
+ * Method decorator to schedule a method on a class to run once after a millisecond delay after server start.
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * @Injectable()
124
+ * export class CacheService {
125
+ * @Timeout(5000, { name: 'warmup-cache' })
126
+ * async warmupCache() {
127
+ * // Runs once 5s after startup
128
+ * }
129
+ * }
130
+ * ```
131
+ */
132
+ function TimeoutTask(ms, options = {}) {
133
+ return function (target, contextOrPropertyKey, descriptor) {
134
+ applyCronDecorator(target, contextOrPropertyKey, descriptor, {
135
+ ...options,
136
+ timeout: ms,
137
+ });
138
+ return descriptor;
139
+ };
140
+ }
141
+ exports.ScheduledTimeout = TimeoutTask;
142
+ exports.Scheduled = Cron;
143
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/decorators/cron.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,6 @@ export * from './params';
6
6
  export * from './middleware';
7
7
  export * from './response';
8
8
  export * from './upload';
9
+ export * from './cron';
10
+ export * from '../swagger/decorators';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,uBAAuB,CAAA"}
@@ -22,4 +22,6 @@ __exportStar(require("./params"), exports);
22
22
  __exportStar(require("./middleware"), exports);
23
23
  __exportStar(require("./response"), exports);
24
24
  __exportStar(require("./upload"), exports);
25
+ __exportStar(require("./cron"), exports);
26
+ __exportStar(require("../swagger/decorators"), exports);
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,yCAAsB;AACtB,+CAA4B;AAC5B,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,6CAA0B;AAC1B,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,yCAAsB;AACtB,+CAA4B;AAC5B,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,6CAA0B;AAC1B,2CAAwB;AACxB,yCAAsB;AACtB,wDAAqC"}
@@ -1,3 +1,4 @@
1
+ import { type BlockProbesOptions } from '../middleware/security';
1
2
  /**
2
3
  * Applies middleware, guards, interceptors, or exception filters to a Controller class or route method.
3
4
  * Unifies @Use, @UseGuards, @UseInterceptors, and @UseFilters into a single, cohesive decorator.
@@ -27,6 +28,7 @@ export declare function UseFilters(...filters: any[]): any;
27
28
  /**
28
29
  * Idempotency Decorator.
29
30
  * Caches responses based on the provided Idempotency-Key header.
31
+ * Works on both Controller classes and individual route methods.
30
32
  *
31
33
  * Example:
32
34
  * @Post('/checkout')
@@ -35,8 +37,8 @@ export declare function UseFilters(...filters: any[]): any;
35
37
  */
36
38
  export declare function Idempotent(options?: import('../middleware/idempotency').IdempotentOptions): any;
37
39
  /**
38
- * Route-Level Timeout Decorator.
39
- * Configures an explicit timeout override for a long-running endpoint.
40
+ * Route-Level / Controller-Level Timeout Decorator.
41
+ * Configures an explicit timeout override for a route method or entire controller.
40
42
  *
41
43
  * Example:
42
44
  * @Post('/heavy-task')
@@ -44,4 +46,65 @@ export declare function Idempotent(options?: import('../middleware/idempotency')
44
46
  * heavyTask() {}
45
47
  */
46
48
  export declare function Timeout(msOrOptions: number | import('../middleware/security').TimeoutOptions): any;
49
+ /**
50
+ * Rate Limiting Decorator.
51
+ * Enforces request rate limits on a Controller class or route method.
52
+ *
53
+ * Example:
54
+ * @Get('/sensitive-data')
55
+ * @RateLimit({ max: 10, windowMs: 60000 })
56
+ * getSensitiveData() {}
57
+ */
58
+ export declare function RateLimit(options?: import('../middleware/rate-limit').RateLimitOptions): any;
59
+ /**
60
+ * CORS Decorator.
61
+ * Configures Cross-Origin Resource Sharing on a Controller class or route method.
62
+ *
63
+ * Example:
64
+ * @Get('/public-api')
65
+ * @Cors({ origin: '*' })
66
+ * getPublicData() {}
67
+ */
68
+ export declare function Cors(options?: import('../types').CorsConfig): any;
69
+ /**
70
+ * IP Filter Decorator.
71
+ * Enforces IP/CIDR allowlist and denylist on a Controller class or route method.
72
+ *
73
+ * Example:
74
+ * @Controller('/admin')
75
+ * @IpFilter({ allow: ['127.0.0.1', '10.0.0.0/8'] })
76
+ * export class AdminController {}
77
+ */
78
+ export declare function IpFilter(options: import('../middleware/ip-filter').IpFilterOptions): any;
79
+ /**
80
+ * Compression Decorator.
81
+ * Enables automatic gzip/brotli response compression on a Controller class or route method.
82
+ *
83
+ * Example:
84
+ * @Get('/large-dataset')
85
+ * @Compress()
86
+ * getDataset() {}
87
+ */
88
+ export declare function Compress(): any;
89
+ /**
90
+ * Request Deduplication Decorator.
91
+ * Prevents duplicate parallel requests sharing the same key.
92
+ *
93
+ * Example:
94
+ * @Post('/order/charge')
95
+ * @Dedupe({ keyGenerator: (req) => req.user?.id || req.ip })
96
+ * chargeOrder() {}
97
+ */
98
+ export declare function Dedupe(options: import('../middleware/dedupe').DedupeOptions): any;
99
+ /**
100
+ * Security Scanner Noise Suppression & Blackhole Decorator.
101
+ * Intercepts exploit probes (`.env`, `/.git`, `/.DS_Store`) and blackholes them.
102
+ *
103
+ * Example:
104
+ * @Controller('/api')
105
+ * @BlockProbes({ statusCode: 404, silent: true })
106
+ * export default class ApiController {}
107
+ */
108
+ export declare function BlockProbes(options?: BlockProbesOptions): any;
109
+ export declare const BlockSuspiciousProbes: typeof BlockProbes;
47
110
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAsFxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAEjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE,OAAO,2BAA2B,EAAE,iBAAsB,GAClE,GAAG,CA8BL;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,GAAG,OAAO,wBAAwB,EAAE,cAAc,GACpE,GAAG,CA4BL"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAA;AA6B/B;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAsFxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAEjD;AAqDD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE,OAAO,2BAA2B,EAAE,iBAAsB,GAClE,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,GAAG,OAAO,wBAAwB,EAAE,cAAc,GACpE,GAAG,CAeL;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,OAAO,GAAE,OAAO,0BAA0B,EAAE,gBAAqB,GAChE,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,OAAO,UAAU,EAAE,UAAe,GAAG,GAAG,CAerE;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,yBAAyB,EAAE,eAAe,GACzD,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,GAAG,CAS9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,OAAO,sBAAsB,EAAE,aAAa,GACpD,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAS7D;AAED,eAAO,MAAM,qBAAqB,oBAAc,CAAA"}