exisjs 0.7.6 → 0.7.8

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 (211) 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 +15 -1
  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/index.js +16 -2
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/manifest.d.ts +1 -0
  18. package/dist/cli/manifest.d.ts.map +1 -1
  19. package/dist/cli/manifest.js +161 -23
  20. package/dist/cli/manifest.js.map +1 -1
  21. package/dist/config/config.d.ts.map +1 -1
  22. package/dist/config/config.js +9 -0
  23. package/dist/config/config.js.map +1 -1
  24. package/dist/config/types.d.ts +4 -0
  25. package/dist/config/types.d.ts.map +1 -1
  26. package/dist/cron/expressions.d.ts +45 -0
  27. package/dist/cron/expressions.d.ts.map +1 -0
  28. package/dist/cron/expressions.js +87 -0
  29. package/dist/cron/expressions.js.map +1 -0
  30. package/dist/cron/index.d.ts +6 -0
  31. package/dist/cron/index.d.ts.map +1 -0
  32. package/dist/cron/index.js +22 -0
  33. package/dist/cron/index.js.map +1 -0
  34. package/dist/cron/job.d.ts +50 -0
  35. package/dist/cron/job.d.ts.map +1 -0
  36. package/dist/cron/job.js +247 -0
  37. package/dist/cron/job.js.map +1 -0
  38. package/dist/cron/manager.d.ts +105 -0
  39. package/dist/cron/manager.d.ts.map +1 -0
  40. package/dist/cron/manager.js +245 -0
  41. package/dist/cron/manager.js.map +1 -0
  42. package/dist/cron/parser.d.ts +22 -0
  43. package/dist/cron/parser.d.ts.map +1 -0
  44. package/dist/cron/parser.js +269 -0
  45. package/dist/cron/parser.js.map +1 -0
  46. package/dist/cron/types.d.ts +76 -0
  47. package/dist/cron/types.d.ts.map +1 -0
  48. package/dist/cron/types.js +3 -0
  49. package/dist/cron/types.js.map +1 -0
  50. package/dist/decorators/constants.d.ts +2 -0
  51. package/dist/decorators/constants.d.ts.map +1 -1
  52. package/dist/decorators/constants.js +3 -1
  53. package/dist/decorators/constants.js.map +1 -1
  54. package/dist/decorators/core.d.ts +29 -11
  55. package/dist/decorators/core.d.ts.map +1 -1
  56. package/dist/decorators/core.js +49 -11
  57. package/dist/decorators/core.js.map +1 -1
  58. package/dist/decorators/cron.d.ts +57 -0
  59. package/dist/decorators/cron.d.ts.map +1 -0
  60. package/dist/decorators/cron.js +143 -0
  61. package/dist/decorators/cron.js.map +1 -0
  62. package/dist/decorators/index.d.ts +2 -0
  63. package/dist/decorators/index.d.ts.map +1 -1
  64. package/dist/decorators/index.js +2 -0
  65. package/dist/decorators/index.js.map +1 -1
  66. package/dist/decorators/params.d.ts +97 -2
  67. package/dist/decorators/params.d.ts.map +1 -1
  68. package/dist/decorators/params.js +94 -2
  69. package/dist/decorators/params.js.map +1 -1
  70. package/dist/decorators/routing.d.ts +81 -16
  71. package/dist/decorators/routing.d.ts.map +1 -1
  72. package/dist/decorators/routing.js +81 -16
  73. package/dist/decorators/routing.js.map +1 -1
  74. package/dist/docs/content/cron.mdx +196 -0
  75. package/dist/docs/content/errors.mdx +58 -9
  76. package/dist/docs/content/structure.mdx +1 -1
  77. package/dist/docs/content/swagger.mdx +289 -0
  78. package/dist/docs/reference/cron.mdx +300 -0
  79. package/dist/docs/reference/decorators.mdx +8 -0
  80. package/dist/docs/reference/error.mdx +44 -0
  81. package/dist/docs/reference/swagger.mdx +226 -0
  82. package/dist/docs/reference/validator.mdx +1 -1
  83. package/dist/router/boundary.d.ts +24 -2
  84. package/dist/router/boundary.d.ts.map +1 -1
  85. package/dist/router/boundary.js +24 -2
  86. package/dist/router/boundary.js.map +1 -1
  87. package/dist/router/controller-registrar.d.ts.map +1 -1
  88. package/dist/router/controller-registrar.js +52 -3
  89. package/dist/router/controller-registrar.js.map +1 -1
  90. package/dist/router/route-builder.d.ts +196 -33
  91. package/dist/router/route-builder.d.ts.map +1 -1
  92. package/dist/router/route-builder.js +171 -11
  93. package/dist/router/route-builder.js.map +1 -1
  94. package/dist/router/route-scanner.d.ts +6 -0
  95. package/dist/router/route-scanner.d.ts.map +1 -1
  96. package/dist/router/route-scanner.js +69 -812
  97. package/dist/router/route-scanner.js.map +1 -1
  98. package/dist/router/router.d.ts.map +1 -1
  99. package/dist/router/router.js +27 -0
  100. package/dist/router/router.js.map +1 -1
  101. package/dist/router/scanner/boundary-loader.d.ts +18 -0
  102. package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
  103. package/dist/router/scanner/boundary-loader.js +539 -0
  104. package/dist/router/scanner/boundary-loader.js.map +1 -0
  105. package/dist/router/scanner/cron-mounter.d.ts +15 -0
  106. package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
  107. package/dist/router/scanner/cron-mounter.js +216 -0
  108. package/dist/router/scanner/cron-mounter.js.map +1 -0
  109. package/dist/router/scanner/error-mounter.d.ts +14 -0
  110. package/dist/router/scanner/error-mounter.d.ts.map +1 -0
  111. package/dist/router/scanner/error-mounter.js +200 -0
  112. package/dist/router/scanner/error-mounter.js.map +1 -0
  113. package/dist/router/scanner/fs-scanner.d.ts +25 -0
  114. package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
  115. package/dist/router/scanner/fs-scanner.js +115 -0
  116. package/dist/router/scanner/fs-scanner.js.map +1 -0
  117. package/dist/router/scanner/functional-compiler.d.ts +9 -0
  118. package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
  119. package/dist/router/scanner/functional-compiler.js +233 -0
  120. package/dist/router/scanner/functional-compiler.js.map +1 -0
  121. package/dist/router/scanner/index.d.ts +9 -0
  122. package/dist/router/scanner/index.d.ts.map +1 -0
  123. package/dist/router/scanner/index.js +19 -0
  124. package/dist/router/scanner/index.js.map +1 -0
  125. package/dist/router/types.d.ts +15 -0
  126. package/dist/router/types.d.ts.map +1 -1
  127. package/dist/server/app.d.ts +2 -0
  128. package/dist/server/app.d.ts.map +1 -1
  129. package/dist/server/app.js +3 -0
  130. package/dist/server/app.js.map +1 -1
  131. package/dist/server/helpers/body-parser.d.ts +18 -0
  132. package/dist/server/helpers/body-parser.d.ts.map +1 -0
  133. package/dist/server/helpers/body-parser.js +246 -0
  134. package/dist/server/helpers/body-parser.js.map +1 -0
  135. package/dist/server/helpers/cookie.d.ts +4 -0
  136. package/dist/server/helpers/cookie.d.ts.map +1 -0
  137. package/dist/server/helpers/cookie.js +61 -0
  138. package/dist/server/helpers/cookie.js.map +1 -0
  139. package/dist/server/helpers/etag.d.ts +3 -0
  140. package/dist/server/helpers/etag.d.ts.map +1 -0
  141. package/dist/server/helpers/etag.js +25 -0
  142. package/dist/server/helpers/etag.js.map +1 -0
  143. package/dist/server/helpers/index.d.ts +6 -0
  144. package/dist/server/helpers/index.d.ts.map +1 -0
  145. package/dist/server/helpers/index.js +21 -0
  146. package/dist/server/helpers/index.js.map +1 -0
  147. package/dist/server/helpers/ip.d.ts +9 -0
  148. package/dist/server/helpers/ip.d.ts.map +1 -0
  149. package/dist/server/helpers/ip.js +62 -0
  150. package/dist/server/helpers/ip.js.map +1 -0
  151. package/dist/server/helpers/stream.d.ts +4 -0
  152. package/dist/server/helpers/stream.d.ts.map +1 -0
  153. package/dist/server/helpers/stream.js +193 -0
  154. package/dist/server/helpers/stream.js.map +1 -0
  155. package/dist/server/request.d.ts +1 -139
  156. package/dist/server/request.d.ts.map +1 -1
  157. package/dist/server/request.js +19 -433
  158. package/dist/server/request.js.map +1 -1
  159. package/dist/server/response.d.ts +105 -158
  160. package/dist/server/response.d.ts.map +1 -1
  161. package/dist/server/response.js +121 -423
  162. package/dist/server/response.js.map +1 -1
  163. package/dist/swagger/decorators.d.ts +81 -0
  164. package/dist/swagger/decorators.d.ts.map +1 -0
  165. package/dist/swagger/decorators.js +172 -0
  166. package/dist/swagger/decorators.js.map +1 -0
  167. package/dist/swagger/generator.d.ts +19 -0
  168. package/dist/swagger/generator.d.ts.map +1 -0
  169. package/dist/swagger/generator.js +344 -0
  170. package/dist/swagger/generator.js.map +1 -0
  171. package/dist/swagger/index.d.ts +31 -0
  172. package/dist/swagger/index.d.ts.map +1 -0
  173. package/dist/swagger/index.js +53 -0
  174. package/dist/swagger/index.js.map +1 -0
  175. package/dist/swagger/mounter.d.ts +7 -0
  176. package/dist/swagger/mounter.d.ts.map +1 -0
  177. package/dist/swagger/mounter.js +56 -0
  178. package/dist/swagger/mounter.js.map +1 -0
  179. package/dist/swagger/types.d.ts +190 -0
  180. package/dist/swagger/types.d.ts.map +1 -0
  181. package/dist/swagger/types.js +3 -0
  182. package/dist/swagger/types.js.map +1 -0
  183. package/dist/swagger/ui.d.ts +6 -0
  184. package/dist/swagger/ui.d.ts.map +1 -0
  185. package/dist/swagger/ui.js +118 -0
  186. package/dist/swagger/ui.js.map +1 -0
  187. package/dist/validator/builder.d.ts +223 -0
  188. package/dist/validator/builder.d.ts.map +1 -0
  189. package/dist/validator/builder.js +517 -0
  190. package/dist/validator/builder.js.map +1 -0
  191. package/dist/validator/engine.d.ts +19 -0
  192. package/dist/validator/engine.d.ts.map +1 -0
  193. package/dist/validator/engine.js +568 -0
  194. package/dist/validator/engine.js.map +1 -0
  195. package/dist/validator/error.d.ts +12 -0
  196. package/dist/validator/error.d.ts.map +1 -0
  197. package/dist/validator/error.js +63 -0
  198. package/dist/validator/error.js.map +1 -0
  199. package/dist/validator/pagination.d.ts +40 -0
  200. package/dist/validator/pagination.d.ts.map +1 -0
  201. package/dist/validator/pagination.js +60 -0
  202. package/dist/validator/pagination.js.map +1 -0
  203. package/dist/validator/tex.d.ts +6 -158
  204. package/dist/validator/tex.d.ts.map +1 -1
  205. package/dist/validator/tex.js +14 -971
  206. package/dist/validator/tex.js.map +1 -1
  207. package/dist/validator/types.d.ts +83 -0
  208. package/dist/validator/types.d.ts.map +1 -0
  209. package/dist/validator/types.js +3 -0
  210. package/dist/validator/types.js.map +1 -0
  211. package/package.json +9 -1
@@ -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"}
@@ -15,7 +15,10 @@ export type CustomParamFactory<TData = any, TResult = any> = (data: TData, ctx:
15
15
  /**
16
16
  * Creates a custom route parameter decorator.
17
17
  *
18
- * Example:
18
+ * @param factory Function extracting custom data from request context
19
+ * @returns Parameter decorator
20
+ *
21
+ * @example
19
22
  * ```ts
20
23
  * export const CurrentUser = createParamDecorator(
21
24
  * (data: string | undefined, ctx) => {
@@ -31,35 +34,127 @@ export type CustomParamFactory<TData = any, TResult = any> = (data: TData, ctx:
31
34
  */
32
35
  export declare function createParamDecorator<TData = any>(factory: CustomParamFactory<TData>): (data?: TData, ...pipes: any[]) => ParameterDecorator;
33
36
  export declare function createParamDecorator(type: string, nameOrPipe?: string | any, ...pipes: any[]): ParameterDecorator;
37
+ /**
38
+ * Injects a route parameter from the URL path (e.g. `:id`).
39
+ *
40
+ * @param name Parameter name matching the route path placeholder
41
+ * @param pipes Optional validation pipes
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * @Get('/:id')
46
+ * getUser(@Param('id') id: string) {
47
+ * return { id }
48
+ * }
49
+ * ```
50
+ */
34
51
  export declare const Param: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
52
+ /**
53
+ * Injects the parsed request body into a controller method argument.
54
+ *
55
+ * @param nameOrPipe Optional body property key or validation pipe/schema
56
+ * @param pipes Optional transformation pipes
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * @Post('/')
61
+ * createUser(@Body() body: CreateUserDto) {
62
+ * return body
63
+ * }
64
+ * ```
65
+ */
35
66
  export declare const Body: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
67
+ /**
68
+ * Injects request headers or a specific header value.
69
+ *
70
+ * @param name Optional header name (case-insensitive)
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * @Get('/')
75
+ * getInfo(@Headers('authorization') auth: string) {}
76
+ * ```
77
+ */
36
78
  export declare const Headers: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
37
79
  export declare const HostParam: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
80
+ /**
81
+ * Injects the ExisJS request instance (`ExisRequest`).
82
+ */
38
83
  export declare const Req: () => ParameterDecorator;
39
84
  export declare const Socket: () => ParameterDecorator;
40
85
  export declare const Stream: () => ParameterDecorator;
86
+ /**
87
+ * Injects the active session object if session middleware is enabled.
88
+ */
41
89
  export declare const Session: () => ParameterDecorator;
42
90
  export declare const Next: () => ParameterDecorator;
91
+ /**
92
+ * Injects the client's IP address.
93
+ */
43
94
  export declare const Ip: () => ParameterDecorator;
95
+ /**
96
+ * Injects an uploaded file from multipart form data.
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * @Post('/avatar')
101
+ * @Upload()
102
+ * uploadAvatar(@UploadedFile() file: ExisFile) {
103
+ * return { filename: file.filename, size: file.size }
104
+ * }
105
+ * ```
106
+ */
44
107
  export declare const UploadedFile: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
108
+ /**
109
+ * Injects all uploaded files from multipart form data.
110
+ */
45
111
  export declare const UploadedFiles: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
112
+ /**
113
+ * Injects all parsed request cookies as a key-value record.
114
+ */
46
115
  export declare const Cookies: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
116
+ /**
117
+ * Injects a specific cookie by name.
118
+ */
47
119
  export declare const Cookie: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
120
+ /**
121
+ * Injects custom execution state from AsyncLocalStorage context.
122
+ */
48
123
  export declare const State: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
124
+ /**
125
+ * Injects the ExisJS App application instance.
126
+ */
49
127
  export declare const AppCtx: () => ParameterDecorator;
50
128
  export declare const Fields: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
129
+ /**
130
+ * Injects the ExisJS response instance (`ExisResponse`).
131
+ * By default, injecting `@Res()` switches the handler into manual response mode unless `{ passthrough: true }` is specified.
132
+ *
133
+ * @param options Pass `{ passthrough: true }` to allow returning values from handler while retaining response object access
134
+ */
51
135
  export declare const Res: (options?: {
52
136
  passthrough?: boolean;
53
137
  }) => any;
54
138
  /**
55
139
  * Injects a query parameter from the URL query string.
56
140
  *
57
- * Example:
141
+ * @example
58
142
  * ```ts
59
143
  * @Get('/search')
60
144
  * search(@QueryParam('q') q: string) { return { q }; }
61
145
  * ```
62
146
  */
63
147
  export declare const QueryParam: (nameOrPipe?: string | any, ...pipes: any[]) => ParameterDecorator;
148
+ /**
149
+ * Injects query parameters from the URL query string, or defines a QUERY HTTP route.
150
+ *
151
+ * @example
152
+ * ```ts
153
+ * @Get('/search')
154
+ * search(@Query('q') query: string) {
155
+ * return { query }
156
+ * }
157
+ * ```
158
+ */
64
159
  export declare function Query(pathOrName?: string | any, schemaOrPipe?: RouteSchema<any, any, any, any> | any, ...pipes: any[]): any;
65
160
  //# sourceMappingURL=params.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ exports.createParamDecorator = createParamDecorator;
5
5
  exports.Query = Query;
6
6
  const constants_1 = require("./constants");
7
7
  const metadata_1 = require("./core/metadata");
8
+ const logger_1 = require("../logger");
8
9
  function createParamDecorator(typeOrFactory, nameOrPipe, ...pipes) {
9
10
  if (typeof typeOrFactory === 'function') {
10
11
  const factory = typeOrFactory;
@@ -39,9 +40,36 @@ function createParamDecorator(typeOrFactory, nameOrPipe, ...pipes) {
39
40
  paramMeta[parameterIndex] = { type, name, pipes: allPipes };
40
41
  };
41
42
  }
42
- const logger_1 = require("../logger");
43
+ /**
44
+ * Injects a route parameter from the URL path (e.g. `:id`).
45
+ *
46
+ * @param name Parameter name matching the route path placeholder
47
+ * @param pipes Optional validation pipes
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * @Get('/:id')
52
+ * getUser(@Param('id') id: string) {
53
+ * return { id }
54
+ * }
55
+ * ```
56
+ */
43
57
  const Param = (nameOrPipe, ...pipes) => createParamDecorator('param', nameOrPipe, ...pipes);
44
58
  exports.Param = Param;
59
+ /**
60
+ * Injects the parsed request body into a controller method argument.
61
+ *
62
+ * @param nameOrPipe Optional body property key or validation pipe/schema
63
+ * @param pipes Optional transformation pipes
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * @Post('/')
68
+ * createUser(@Body() body: CreateUserDto) {
69
+ * return body
70
+ * }
71
+ * ```
72
+ */
45
73
  const Body = (nameOrPipe, ...pipes) => {
46
74
  if (nameOrPipe === undefined && pipes.length === 0) {
47
75
  logger_1.logger.warn(`@Body() decorator used without a validation schema or pipe. It is highly recommended to validate incoming payloads.`);
@@ -49,36 +77,89 @@ const Body = (nameOrPipe, ...pipes) => {
49
77
  return createParamDecorator('body', nameOrPipe, ...pipes);
50
78
  };
51
79
  exports.Body = Body;
80
+ /**
81
+ * Injects request headers or a specific header value.
82
+ *
83
+ * @param name Optional header name (case-insensitive)
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * @Get('/')
88
+ * getInfo(@Headers('authorization') auth: string) {}
89
+ * ```
90
+ */
52
91
  const Headers = (nameOrPipe, ...pipes) => createParamDecorator('header', nameOrPipe, ...pipes);
53
92
  exports.Headers = Headers;
54
93
  const HostParam = (nameOrPipe, ...pipes) => createParamDecorator('host', nameOrPipe, ...pipes);
55
94
  exports.HostParam = HostParam;
95
+ /**
96
+ * Injects the ExisJS request instance (`ExisRequest`).
97
+ */
56
98
  const Req = () => createParamDecorator('req');
57
99
  exports.Req = Req;
58
100
  const Socket = () => createParamDecorator('socket');
59
101
  exports.Socket = Socket;
60
102
  const Stream = () => createParamDecorator('stream');
61
103
  exports.Stream = Stream;
104
+ /**
105
+ * Injects the active session object if session middleware is enabled.
106
+ */
62
107
  const Session = () => createParamDecorator('session');
63
108
  exports.Session = Session;
64
109
  const Next = () => createParamDecorator('next');
65
110
  exports.Next = Next;
111
+ /**
112
+ * Injects the client's IP address.
113
+ */
66
114
  const Ip = () => createParamDecorator('ip');
67
115
  exports.Ip = Ip;
116
+ /**
117
+ * Injects an uploaded file from multipart form data.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * @Post('/avatar')
122
+ * @Upload()
123
+ * uploadAvatar(@UploadedFile() file: ExisFile) {
124
+ * return { filename: file.filename, size: file.size }
125
+ * }
126
+ * ```
127
+ */
68
128
  const UploadedFile = (nameOrPipe, ...pipes) => createParamDecorator('uploadedFile', nameOrPipe, ...pipes);
69
129
  exports.UploadedFile = UploadedFile;
130
+ /**
131
+ * Injects all uploaded files from multipart form data.
132
+ */
70
133
  const UploadedFiles = (nameOrPipe, ...pipes) => createParamDecorator('uploadedFiles', nameOrPipe, ...pipes);
71
134
  exports.UploadedFiles = UploadedFiles;
135
+ /**
136
+ * Injects all parsed request cookies as a key-value record.
137
+ */
72
138
  const Cookies = (nameOrPipe, ...pipes) => createParamDecorator('cookies', nameOrPipe, ...pipes);
73
139
  exports.Cookies = Cookies;
140
+ /**
141
+ * Injects a specific cookie by name.
142
+ */
74
143
  const Cookie = (nameOrPipe, ...pipes) => createParamDecorator('cookie', nameOrPipe, ...pipes);
75
144
  exports.Cookie = Cookie;
145
+ /**
146
+ * Injects custom execution state from AsyncLocalStorage context.
147
+ */
76
148
  const State = (nameOrPipe, ...pipes) => createParamDecorator('state', nameOrPipe, ...pipes);
77
149
  exports.State = State;
150
+ /**
151
+ * Injects the ExisJS App application instance.
152
+ */
78
153
  const AppCtx = () => createParamDecorator('app');
79
154
  exports.AppCtx = AppCtx;
80
155
  const Fields = (nameOrPipe, ...pipes) => createParamDecorator('fields', nameOrPipe, ...pipes);
81
156
  exports.Fields = Fields;
157
+ /**
158
+ * Injects the ExisJS response instance (`ExisResponse`).
159
+ * By default, injecting `@Res()` switches the handler into manual response mode unless `{ passthrough: true }` is specified.
160
+ *
161
+ * @param options Pass `{ passthrough: true }` to allow returning values from handler while retaining response object access
162
+ */
82
163
  const Res = (options) => {
83
164
  return function (target, propertyKey, parameterIndex) {
84
165
  const fn = target[propertyKey];
@@ -92,7 +173,7 @@ exports.Res = Res;
92
173
  /**
93
174
  * Injects a query parameter from the URL query string.
94
175
  *
95
- * Example:
176
+ * @example
96
177
  * ```ts
97
178
  * @Get('/search')
98
179
  * search(@QueryParam('q') q: string) { return { q }; }
@@ -100,6 +181,17 @@ exports.Res = Res;
100
181
  */
101
182
  const QueryParam = (nameOrPipe, ...pipes) => createParamDecorator('query', nameOrPipe, ...pipes);
102
183
  exports.QueryParam = QueryParam;
184
+ /**
185
+ * Injects query parameters from the URL query string, or defines a QUERY HTTP route.
186
+ *
187
+ * @example
188
+ * ```ts
189
+ * @Get('/search')
190
+ * search(@Query('q') query: string) {
191
+ * return { query }
192
+ * }
193
+ * ```
194
+ */
103
195
  function Query(pathOrName, schemaOrPipe, ...pipes) {
104
196
  return function (target, contextOrPropertyKey, descriptorOrIndex) {
105
197
  const isParam = typeof descriptorOrIndex === 'number' ||
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"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"}