exisjs 0.8.1 → 0.9.1

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 (190) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +20 -1
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/dev.d.ts +8 -0
  5. package/dist/cli/commands/dev.d.ts.map +1 -1
  6. package/dist/cli/commands/dev.js +96 -36
  7. package/dist/cli/commands/dev.js.map +1 -1
  8. package/dist/cli/index.js +1 -0
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/manifest.d.ts.map +1 -1
  11. package/dist/cli/manifest.js +2 -1
  12. package/dist/cli/manifest.js.map +1 -1
  13. package/dist/cli/routes.d.ts +2 -0
  14. package/dist/cli/routes.d.ts.map +1 -1
  15. package/dist/cli/routes.js +14 -5
  16. package/dist/cli/routes.js.map +1 -1
  17. package/dist/config/config.d.ts +3 -1
  18. package/dist/config/config.d.ts.map +1 -1
  19. package/dist/config/config.js.map +1 -1
  20. package/dist/config/types.d.ts +11 -1
  21. package/dist/config/types.d.ts.map +1 -1
  22. package/dist/cron/job.d.ts +2 -0
  23. package/dist/cron/job.d.ts.map +1 -1
  24. package/dist/cron/job.js +33 -1
  25. package/dist/cron/job.js.map +1 -1
  26. package/dist/cron/manager.d.ts +12 -1
  27. package/dist/cron/manager.d.ts.map +1 -1
  28. package/dist/cron/manager.js +7 -1
  29. package/dist/cron/manager.js.map +1 -1
  30. package/dist/cron/types.d.ts +24 -0
  31. package/dist/cron/types.d.ts.map +1 -1
  32. package/dist/database/lifecycle.d.ts +19 -2
  33. package/dist/database/lifecycle.d.ts.map +1 -1
  34. package/dist/database/lifecycle.js +92 -53
  35. package/dist/database/lifecycle.js.map +1 -1
  36. package/dist/decorators/index.d.ts +1 -0
  37. package/dist/decorators/index.d.ts.map +1 -1
  38. package/dist/decorators/index.js +5 -0
  39. package/dist/decorators/index.js.map +1 -1
  40. package/dist/decorators/pipes.d.ts +2 -0
  41. package/dist/decorators/pipes.d.ts.map +1 -1
  42. package/dist/decorators/pipes.js +39 -18
  43. package/dist/decorators/pipes.js.map +1 -1
  44. package/dist/decorators/transaction.d.ts +0 -21
  45. package/dist/decorators/transaction.d.ts.map +1 -1
  46. package/dist/decorators/transaction.js +52 -32
  47. package/dist/decorators/transaction.js.map +1 -1
  48. package/dist/di/container.d.ts +6 -0
  49. package/dist/di/container.d.ts.map +1 -1
  50. package/dist/di/container.js +73 -57
  51. package/dist/di/container.js.map +1 -1
  52. package/dist/docs/content/boundaries.mdx +2 -0
  53. package/dist/docs/content/cli/commands.mdx +2 -1
  54. package/dist/docs/content/config.mdx +6 -4
  55. package/dist/docs/content/cron.mdx +25 -1
  56. package/dist/docs/content/decorators.mdx +5 -5
  57. package/dist/docs/content/errors.mdx +37 -36
  58. package/dist/docs/content/installation.mdx +3 -4
  59. package/dist/docs/content/introduction.mdx +1 -1
  60. package/dist/docs/content/middleware.mdx +4 -2
  61. package/dist/docs/content/providers.mdx +2 -0
  62. package/dist/docs/content/requests.mdx +4 -2
  63. package/dist/docs/content/responses.mdx +72 -0
  64. package/dist/docs/content/security.mdx +93 -4
  65. package/dist/docs/content/testing.mdx +38 -0
  66. package/dist/docs/content/validation.mdx +34 -1
  67. package/dist/docs/reference/README.md +16 -16
  68. package/dist/docs/reference/config.mdx +1 -1
  69. package/dist/docs/reference/database.mdx +3 -2
  70. package/dist/docs/reference/decorators.mdx +2 -4
  71. package/dist/docs/reference/middleware.mdx +1 -1
  72. package/dist/docs/reference/router.mdx +5 -7
  73. package/dist/docs/reference/validator.mdx +3 -0
  74. package/dist/error/errors.d.ts +9 -1
  75. package/dist/error/errors.d.ts.map +1 -1
  76. package/dist/error/errors.js +24 -15
  77. package/dist/error/errors.js.map +1 -1
  78. package/dist/index.d.ts +11 -2
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/lib/inspect-routes.js +2 -0
  81. package/dist/lib/inspect-routes.js.map +1 -1
  82. package/dist/middleware/compression.d.ts.map +1 -1
  83. package/dist/middleware/compression.js +6 -5
  84. package/dist/middleware/compression.js.map +1 -1
  85. package/dist/middleware/idempotency.d.ts +25 -23
  86. package/dist/middleware/idempotency.d.ts.map +1 -1
  87. package/dist/middleware/idempotency.js +70 -35
  88. package/dist/middleware/idempotency.js.map +1 -1
  89. package/dist/middleware/middleware.d.ts.map +1 -1
  90. package/dist/middleware/middleware.js +48 -34
  91. package/dist/middleware/middleware.js.map +1 -1
  92. package/dist/middleware/rate-limit.d.ts +36 -0
  93. package/dist/middleware/rate-limit.d.ts.map +1 -1
  94. package/dist/middleware/rate-limit.js +33 -19
  95. package/dist/middleware/rate-limit.js.map +1 -1
  96. package/dist/middleware/security.d.ts.map +1 -1
  97. package/dist/middleware/security.js +12 -5
  98. package/dist/middleware/security.js.map +1 -1
  99. package/dist/router/authorize.d.ts +43 -0
  100. package/dist/router/authorize.d.ts.map +1 -0
  101. package/dist/router/authorize.js +66 -0
  102. package/dist/router/authorize.js.map +1 -0
  103. package/dist/router/controller-registrar.d.ts.map +1 -1
  104. package/dist/router/controller-registrar.js +121 -156
  105. package/dist/router/controller-registrar.js.map +1 -1
  106. package/dist/router/route-scanner.d.ts +3 -0
  107. package/dist/router/route-scanner.d.ts.map +1 -1
  108. package/dist/router/route-scanner.js +32 -21
  109. package/dist/router/route-scanner.js.map +1 -1
  110. package/dist/router/router.d.ts +5 -0
  111. package/dist/router/router.d.ts.map +1 -1
  112. package/dist/router/router.js +83 -75
  113. package/dist/router/router.js.map +1 -1
  114. package/dist/router/scanner/boundary-loader.d.ts.map +1 -1
  115. package/dist/router/scanner/boundary-loader.js +37 -38
  116. package/dist/router/scanner/boundary-loader.js.map +1 -1
  117. package/dist/router/scanner/cron-mounter.d.ts.map +1 -1
  118. package/dist/router/scanner/cron-mounter.js +32 -18
  119. package/dist/router/scanner/cron-mounter.js.map +1 -1
  120. package/dist/router/scanner/functional-compiler.d.ts.map +1 -1
  121. package/dist/router/scanner/functional-compiler.js +55 -156
  122. package/dist/router/scanner/functional-compiler.js.map +1 -1
  123. package/dist/router/send-result.d.ts +24 -0
  124. package/dist/router/send-result.d.ts.map +1 -0
  125. package/dist/router/send-result.js +81 -0
  126. package/dist/router/send-result.js.map +1 -0
  127. package/dist/server/app.d.ts +5 -0
  128. package/dist/server/app.d.ts.map +1 -1
  129. package/dist/server/app.js +48 -6
  130. package/dist/server/app.js.map +1 -1
  131. package/dist/server/engines/node-engine.d.ts.map +1 -1
  132. package/dist/server/engines/node-engine.js +6 -1
  133. package/dist/server/engines/node-engine.js.map +1 -1
  134. package/dist/server/helpers/body-parser.d.ts +1 -1
  135. package/dist/server/helpers/body-parser.d.ts.map +1 -1
  136. package/dist/server/helpers/body-parser.js +9 -7
  137. package/dist/server/helpers/body-parser.js.map +1 -1
  138. package/dist/server/helpers/conditional.d.ts +60 -0
  139. package/dist/server/helpers/conditional.d.ts.map +1 -0
  140. package/dist/server/helpers/conditional.js +189 -0
  141. package/dist/server/helpers/conditional.js.map +1 -0
  142. package/dist/server/helpers/etag.d.ts +0 -1
  143. package/dist/server/helpers/etag.d.ts.map +1 -1
  144. package/dist/server/helpers/etag.js +0 -10
  145. package/dist/server/helpers/etag.js.map +1 -1
  146. package/dist/server/helpers/index.d.ts +2 -1
  147. package/dist/server/helpers/index.d.ts.map +1 -1
  148. package/dist/server/helpers/index.js +16 -2
  149. package/dist/server/helpers/index.js.map +1 -1
  150. package/dist/server/request-handler.d.ts +2 -0
  151. package/dist/server/request-handler.d.ts.map +1 -1
  152. package/dist/server/request-handler.js +23 -4
  153. package/dist/server/request-handler.js.map +1 -1
  154. package/dist/server/request.d.ts +19 -4
  155. package/dist/server/request.d.ts.map +1 -1
  156. package/dist/server/request.js +60 -84
  157. package/dist/server/request.js.map +1 -1
  158. package/dist/server/response.d.ts +45 -2
  159. package/dist/server/response.d.ts.map +1 -1
  160. package/dist/server/response.js +157 -70
  161. package/dist/server/response.js.map +1 -1
  162. package/dist/swagger/mounter.d.ts.map +1 -1
  163. package/dist/swagger/mounter.js +2 -0
  164. package/dist/swagger/mounter.js.map +1 -1
  165. package/dist/testing/client.d.ts +32 -0
  166. package/dist/testing/client.d.ts.map +1 -1
  167. package/dist/testing/client.js +69 -0
  168. package/dist/testing/client.js.map +1 -1
  169. package/dist/testing/index.d.ts +10 -2
  170. package/dist/testing/index.d.ts.map +1 -1
  171. package/dist/testing/index.js +7 -2
  172. package/dist/testing/index.js.map +1 -1
  173. package/dist/validator/builder.d.ts +33 -16
  174. package/dist/validator/builder.d.ts.map +1 -1
  175. package/dist/validator/builder.js +11 -17
  176. package/dist/validator/builder.js.map +1 -1
  177. package/dist/validator/engine.d.ts +28 -1
  178. package/dist/validator/engine.d.ts.map +1 -1
  179. package/dist/validator/engine.js +212 -124
  180. package/dist/validator/engine.js.map +1 -1
  181. package/dist/validator/error.d.ts +4 -0
  182. package/dist/validator/error.d.ts.map +1 -1
  183. package/dist/validator/error.js +20 -4
  184. package/dist/validator/error.js.map +1 -1
  185. package/dist/validator/index.d.ts +12 -1
  186. package/dist/validator/index.d.ts.map +1 -1
  187. package/dist/validator/index.js.map +1 -1
  188. package/dist/validator/tex-types.d.ts +29 -2
  189. package/dist/validator/tex-types.d.ts.map +1 -1
  190. package/package.json +3 -5
@@ -1,7 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DatabaseManager = void 0;
4
+ exports.withTimeout = withTimeout;
4
5
  exports.registerDatabase = registerDatabase;
6
+ const DEFAULT_HEALTH_TIMEOUT_MS = 5000;
7
+ /** Rejects when `promise` has not settled after `ms`. */
8
+ function withTimeout(promise, ms, message) {
9
+ let timer;
10
+ const timeout = new Promise((_, reject) => {
11
+ timer = setTimeout(() => reject(new Error(message)), ms);
12
+ timer.unref?.();
13
+ });
14
+ return Promise.race([Promise.resolve(promise), timeout]).finally(() => clearTimeout(timer));
15
+ }
5
16
  /**
6
17
  * Universal Database Manager for ExisJS.
7
18
  * Manages connections, graceful shutdown, and health checks for any database
@@ -24,23 +35,36 @@ class DatabaseManager {
24
35
  this.ensureShutdownHooks();
25
36
  }
26
37
  /**
27
- * Connects all registered databases that are not already connected.
38
+ * Connects all registered databases that are not already connected, in
39
+ * parallel: boot waits for the slowest database, not for the sum of all.
40
+ * If any fail, the error names every database that failed; the ones that
41
+ * connected stay connected, and a later call retries only the failed ones.
28
42
  */
29
43
  static async connectAll() {
30
- for (const [name, db] of this.databases) {
31
- if (db._connected)
32
- continue;
33
- try {
34
- await db.connect();
35
- db._connected = true;
36
- db._disconnecting = undefined;
37
- }
38
- catch (err) {
39
- const error = new Error(`[ExisJS Database] Failed to connect database "${name}": ${err.message}`);
40
- error.cause = err;
41
- throw error;
44
+ const pending = [...this.databases.entries()].filter(([, db]) => !db._connected);
45
+ const results = await Promise.allSettled(pending.map(async ([, db]) => {
46
+ await db.connect();
47
+ db._connected = true;
48
+ db._disconnecting = undefined;
49
+ }));
50
+ const failures = [];
51
+ results.forEach((result, i) => {
52
+ if (result.status === 'rejected') {
53
+ failures.push([pending[i][0], result.reason]);
42
54
  }
43
- }
55
+ });
56
+ if (failures.length === 0)
57
+ return;
58
+ const summary = failures
59
+ .map(([name, err]) => `"${name}": ${err?.message ?? String(err)}`)
60
+ .join('; ');
61
+ const error = new Error(`[ExisJS Database] Failed to connect database ${summary}`);
62
+ error.cause = failures[0][1];
63
+ error.failures = failures.map(([name, err]) => ({
64
+ name,
65
+ error: err,
66
+ }));
67
+ throw error;
44
68
  }
45
69
  /**
46
70
  * Disconnects all registered databases gracefully.
@@ -66,54 +90,68 @@ class DatabaseManager {
66
90
  await Promise.allSettled(disconnectPromises);
67
91
  }
68
92
  /**
69
- * Checks the health of all registered databases.
93
+ * Checks the health of all registered databases, in parallel. Each check
94
+ * has a timeout (`healthTimeoutMs`, default 5 s) so an unresponsive
95
+ * database is reported as an error instead of hanging the probe, and
96
+ * calls made while a check is running share its result, so a burst of
97
+ * probes costs one round of pings.
70
98
  */
71
- static async checkHealth() {
72
- const results = {};
73
- let allHealthy = true;
74
- for (const [name, db] of this.databases) {
75
- const start = Date.now();
76
- try {
77
- const healthFn = db.isHealthy || db.healthCheck;
78
- if (!healthFn) {
79
- results[name] = { name, status: 'connected', latencyMs: 0 };
80
- continue;
81
- }
82
- const healthRes = await healthFn();
83
- const latencyMs = Date.now() - start;
84
- if (typeof healthRes === 'boolean') {
85
- results[name] = {
99
+ static checkHealth() {
100
+ if (this.healthInFlight)
101
+ return this.healthInFlight;
102
+ const run = this.runHealthChecks().finally(() => {
103
+ this.healthInFlight = undefined;
104
+ });
105
+ this.healthInFlight = run;
106
+ return run;
107
+ }
108
+ static async runHealthChecks() {
109
+ const entries = await Promise.all([...this.databases].map(([name, db]) => this.checkOne(name, db)));
110
+ const databases = {};
111
+ let healthy = true;
112
+ for (const info of entries) {
113
+ databases[info.key] = info.result;
114
+ if (info.result.status !== 'connected')
115
+ healthy = false;
116
+ }
117
+ return { healthy, databases };
118
+ }
119
+ static async checkOne(name, db) {
120
+ const healthFn = db.isHealthy || db.healthCheck;
121
+ if (!healthFn) {
122
+ return { key: name, result: { name, status: 'connected', latencyMs: 0 } };
123
+ }
124
+ const start = Date.now();
125
+ const timeoutMs = db.healthTimeoutMs ?? DEFAULT_HEALTH_TIMEOUT_MS;
126
+ try {
127
+ const healthRes = await withTimeout(healthFn(), timeoutMs, `Health check timed out after ${timeoutMs}ms`);
128
+ const latencyMs = Date.now() - start;
129
+ if (typeof healthRes === 'boolean') {
130
+ return {
131
+ key: name,
132
+ result: {
86
133
  name,
87
134
  status: healthRes ? 'connected' : 'disconnected',
88
135
  latencyMs,
89
- };
90
- if (!healthRes)
91
- allHealthy = false;
92
- }
93
- else {
94
- results[name] = {
95
- latencyMs,
96
- ...healthRes,
97
- name: healthRes.name || name,
98
- };
99
- if (healthRes.status !== 'connected')
100
- allHealthy = false;
101
- }
136
+ },
137
+ };
102
138
  }
103
- catch (err) {
104
- allHealthy = false;
105
- results[name] = {
139
+ return {
140
+ key: name,
141
+ result: { latencyMs, ...healthRes, name: healthRes.name || name },
142
+ };
143
+ }
144
+ catch (err) {
145
+ return {
146
+ key: name,
147
+ result: {
106
148
  name,
107
149
  status: 'error',
108
150
  latencyMs: Date.now() - start,
109
- error: err.message,
110
- };
111
- }
151
+ error: err?.message ?? String(err),
152
+ },
153
+ };
112
154
  }
113
- return {
114
- healthy: allHealthy,
115
- databases: results,
116
- };
117
155
  }
118
156
  /**
119
157
  * Returns the number of registered databases.
@@ -127,6 +165,7 @@ class DatabaseManager {
127
165
  static clear() {
128
166
  this.databases.clear();
129
167
  this.appManagedShutdown = false;
168
+ this.healthInFlight = undefined;
130
169
  }
131
170
  static ensureShutdownHooks() {
132
171
  if (this.isShutdownHookRegistered)
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/database/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/database/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export * from './profile';
15
15
  export * from './filters';
16
16
  export * from './pipes';
17
17
  export * from '../swagger/decorators';
18
+ export { Inject, Optional, forwardRef } from '../di';
18
19
  //# 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;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,uBAAuB,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,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.forwardRef = exports.Optional = exports.Inject = void 0;
17
18
  __exportStar(require("./constants"), exports);
18
19
  __exportStar(require("./core"), exports);
19
20
  __exportStar(require("./core/index"), exports);
@@ -31,4 +32,8 @@ __exportStar(require("./profile"), exports);
31
32
  __exportStar(require("./filters"), exports);
32
33
  __exportStar(require("./pipes"), exports);
33
34
  __exportStar(require("../swagger/decorators"), exports);
35
+ var di_1 = require("../di");
36
+ Object.defineProperty(exports, "Inject", { enumerable: true, get: function () { return di_1.Inject; } });
37
+ Object.defineProperty(exports, "Optional", { enumerable: true, get: function () { return di_1.Optional; } });
38
+ Object.defineProperty(exports, "forwardRef", { enumerable: true, get: function () { return di_1.forwardRef; } });
34
39
  //# 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;AACxB,yCAAsB;AACtB,6CAA0B;AAC1B,8CAA2B;AAC3B,4CAAyB;AACzB,gDAA6B;AAC7B,4CAAyB;AACzB,4CAAyB;AACzB,0CAAuB;AACvB,wDAAqC"}
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,6CAA0B;AAC1B,8CAA2B;AAC3B,4CAAyB;AACzB,gDAA6B;AAC7B,4CAAyB;AACzB,4CAAyB;AACzB,0CAAuB;AACvB,wDAAqC;AACrC,4BAAoD;AAA3C,4FAAA,MAAM,OAAA;AAAE,8FAAA,QAAQ,OAAA;AAAE,gGAAA,UAAU,OAAA"}
@@ -1,3 +1,5 @@
1
+ import { HttpError } from '../error/errors';
2
+ export declare function validationFailed(errors: unknown, statusCode?: number): HttpError;
1
3
  export interface ArgumentMetadata {
2
4
  type: 'body' | 'query' | 'param' | 'custom' | 'header' | string;
3
5
  metatype?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"pipes.d.ts","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipes.d.ts","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ValidationPipe = exports.ParseArrayPipe = exports.ParseUUIDPipe = exports.ParseBoolPipe = exports.ParseFloatPipe = exports.ParseIntPipe = void 0;
4
+ exports.validationFailed = validationFailed;
4
5
  exports.UsePipes = UsePipes;
5
- const error_1 = require("../error");
6
+ const errors_1 = require("../error/errors");
6
7
  const constants_1 = require("./constants");
7
8
  const metadata_1 = require("./core/metadata");
9
+ /**
10
+ * Normalizes DTO / Standard Schema / class-validator style errors into the
11
+ * `error.details` list every validation response uses.
12
+ */
13
+ function toFieldErrors(errors) {
14
+ const list = Array.isArray(errors)
15
+ ? errors
16
+ : errors && typeof errors === 'object'
17
+ ? Object.entries(errors).map(([field, message]) => ({ field, message }))
18
+ : [String(errors)];
19
+ return list.map((e) => {
20
+ if (typeof e === 'string') {
21
+ return { field: 'general', message: e, code: 'VALIDATION_ERROR' };
22
+ }
23
+ const field = Array.isArray(e.path)
24
+ ? e.path.map((p) => (typeof p === 'object' ? p.key : p)).join('.')
25
+ : (e.field ?? e.property ?? e.path);
26
+ const message = e.message ??
27
+ (e.constraints ? Object.values(e.constraints).join(', ') : String(e));
28
+ return {
29
+ field: String(field ?? 'general'),
30
+ message: String(message),
31
+ code: 'VALIDATION_ERROR',
32
+ };
33
+ });
34
+ }
35
+ function validationFailed(errors, statusCode = 400) {
36
+ return new errors_1.HttpError('Validation Failed', statusCode, 'VALIDATION_ERROR', toFieldErrors(errors));
37
+ }
8
38
  class ParseIntPipe {
9
39
  constructor(options) {
10
40
  this.options = options;
@@ -35,7 +65,7 @@ class ParseIntPipe {
35
65
  return this.options.exceptionFactory(msg);
36
66
  }
37
67
  const status = this.options?.errorHttpStatusCode || 400;
38
- return new error_1.BadRequestException(msg, { statusCode: status });
68
+ return new errors_1.HttpError(msg, status, 'BAD_REQUEST');
39
69
  }
40
70
  }
41
71
  exports.ParseIntPipe = ParseIntPipe;
@@ -69,7 +99,7 @@ class ParseFloatPipe {
69
99
  return this.options.exceptionFactory(msg);
70
100
  }
71
101
  const status = this.options?.errorHttpStatusCode || 400;
72
- return new error_1.BadRequestException(msg, { statusCode: status });
102
+ return new errors_1.HttpError(msg, status, 'BAD_REQUEST');
73
103
  }
74
104
  }
75
105
  exports.ParseFloatPipe = ParseFloatPipe;
@@ -89,7 +119,7 @@ class ParseBoolPipe {
89
119
  throw this.options.exceptionFactory(msg);
90
120
  }
91
121
  const status = this.options?.errorHttpStatusCode || 400;
92
- throw new error_1.BadRequestException(msg, { statusCode: status });
122
+ throw new errors_1.HttpError(msg, status, 'BAD_REQUEST');
93
123
  }
94
124
  }
95
125
  exports.ParseBoolPipe = ParseBoolPipe;
@@ -114,7 +144,7 @@ class ParseUUIDPipe {
114
144
  throw this.options.exceptionFactory(msg);
115
145
  }
116
146
  const status = this.options?.errorHttpStatusCode || 400;
117
- throw new error_1.BadRequestException(msg, { statusCode: status });
147
+ throw new errors_1.HttpError(msg, status, 'BAD_REQUEST');
118
148
  }
119
149
  }
120
150
  exports.ParseUUIDPipe = ParseUUIDPipe;
@@ -165,7 +195,7 @@ class ParseArrayPipe {
165
195
  return this.options.exceptionFactory(msg);
166
196
  }
167
197
  const status = this.options?.errorHttpStatusCode || 400;
168
- return new error_1.BadRequestException(msg, { statusCode: status });
198
+ return new errors_1.HttpError(msg, status, 'BAD_REQUEST');
169
199
  }
170
200
  }
171
201
  exports.ParseArrayPipe = ParseArrayPipe;
@@ -193,10 +223,7 @@ class ValidationPipe {
193
223
  const result = await metatype['~standard'].validate(value);
194
224
  if (result.issues && result.issues.length > 0) {
195
225
  const status = this.options?.errorHttpStatusCode || 400;
196
- throw new error_1.BadRequestException('Validation Failed', {
197
- statusCode: status,
198
- validationErrors: result.issues,
199
- });
226
+ throw validationFailed(result.issues, status);
200
227
  }
201
228
  return result.value;
202
229
  }
@@ -216,10 +243,7 @@ class ValidationPipe {
216
243
  throw this.options.exceptionFactory(errors);
217
244
  }
218
245
  const status = this.options?.errorHttpStatusCode || 400;
219
- throw new error_1.BadRequestException('Validation Failed', {
220
- statusCode: status,
221
- validationErrors: errors,
222
- });
246
+ throw validationFailed(errors, status);
223
247
  }
224
248
  }
225
249
  else if (typeof instance.validateSync === 'function') {
@@ -230,10 +254,7 @@ class ValidationPipe {
230
254
  throw this.options.exceptionFactory(errors);
231
255
  }
232
256
  const status = this.options?.errorHttpStatusCode || 400;
233
- throw new error_1.BadRequestException('Validation Failed', {
234
- statusCode: status,
235
- validationErrors: errors,
236
- });
257
+ throw validationFailed(errors, status);
237
258
  }
238
259
  }
239
260
  return instance;
@@ -1 +1 @@
1
- {"version":3,"file":"pipes.js","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipes.js","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"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"}
@@ -4,26 +4,5 @@ export interface TransactionalOptions {
4
4
  /** Whether the transaction is read-only */
5
5
  readOnly?: boolean;
6
6
  }
7
- /**
8
- * Automatically wraps a service method inside a database transaction.
9
- * Commits automatically on success, and rolls back if an unhandled exception is thrown.
10
- *
11
- * Compatible with ExisJS built-in Database client, Prisma, Drizzle, TypeORM, Knex, and raw SQL pools.
12
- *
13
- * @example
14
- * ```ts
15
- * @Injectable()
16
- * export class OrderService {
17
- * constructor(private db: DatabaseService) {}
18
- *
19
- * @Transactional()
20
- * async placeOrder(userId: string, items: CartItem[]) {
21
- * const order = await this.db.orders.create({ userId })
22
- * await this.db.inventory.decrement(items)
23
- * return order
24
- * }
25
- * }
26
- * ```
27
- */
28
7
  export declare function Transactional(_options?: TransactionalOptions): MethodDecorator;
29
8
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/decorators/transaction.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,GAAE,oBAAyB,GAClC,eAAe,CAmEjB"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/decorators/transaction.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA4ED,wBAAgB,aAAa,CAC3B,QAAQ,GAAE,oBAAyB,GAClC,eAAe,CAiDjB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Transactional = Transactional;
4
+ const node_async_hooks_1 = require("node:async_hooks");
4
5
  /**
5
6
  * Automatically wraps a service method inside a database transaction.
6
7
  * Commits automatically on success, and rolls back if an unhandled exception is thrown.
@@ -22,49 +23,68 @@ exports.Transactional = Transactional;
22
23
  * }
23
24
  * ```
24
25
  */
26
+ // Instance properties that may hold the database client, in lookup order
27
+ const DB_KEYS = ['db', 'database', 'prisma', 'dataSource', 'connection'];
28
+ // Services are usually shared singletons, so the transaction must not be
29
+ // written onto the instance: a concurrent request using the same service
30
+ // would run its queries inside this request's transaction. Instead the
31
+ // database property becomes a getter that returns the transaction only
32
+ // within the async context of the @Transactional call (and anything it
33
+ // awaits or calls, which therefore joins the transaction).
34
+ const activeTransactions = new node_async_hooks_1.AsyncLocalStorage();
35
+ const BOUND = Symbol('exis.transactionalProperty');
36
+ function bindDbProperty(self, key) {
37
+ const own = Object.getOwnPropertyDescriptor(self, key);
38
+ if (own?.get && own.get[BOUND])
39
+ return true;
40
+ // An inherited or hand-written accessor cannot be wrapped safely
41
+ if (own === undefined ? key in self : own.get || own.set)
42
+ return false;
43
+ if (own !== undefined && !own.configurable)
44
+ return false;
45
+ let value = own?.value;
46
+ const get = function () {
47
+ const tx = activeTransactions.getStore()?.get(self);
48
+ return tx !== undefined ? tx : value;
49
+ };
50
+ get[BOUND] = true;
51
+ Object.defineProperty(self, key, {
52
+ configurable: true,
53
+ enumerable: own?.enumerable ?? true,
54
+ get,
55
+ set(next) {
56
+ value = next;
57
+ },
58
+ });
59
+ return true;
60
+ }
61
+ function runWithTransaction(self, key, tx, fn) {
62
+ if (bindDbProperty(self, key)) {
63
+ const store = new Map(activeTransactions.getStore());
64
+ store.set(self, tx);
65
+ return activeTransactions.run(store, () => fn(self));
66
+ }
67
+ // Fallback for accessor-defined clients: a per-call view of the instance
68
+ const scoped = Object.create(self);
69
+ scoped[key] = tx;
70
+ return fn(scoped);
71
+ }
25
72
  function Transactional(_options = {}) {
26
73
  return function (_target, _propertyKey, descriptor) {
27
74
  const originalMethod = descriptor.value;
28
75
  descriptor.value = async function (...args) {
29
76
  const self = this;
30
- const db = self.db ||
31
- self.database ||
32
- self.prisma ||
33
- self.dataSource ||
34
- self.connection ||
35
- globalThis.__EXIS_DB__;
77
+ const key = DB_KEYS.find((k) => self[k]);
78
+ const db = key ? self[key] : globalThis.__EXIS_DB__;
36
79
  if (db) {
80
+ const runInTransaction = (tx) => runWithTransaction(self, key ?? 'db', tx, (target) => originalMethod.apply(target, args));
37
81
  // 1. Functional transaction wrapper: db.transaction((tx) => ...)
38
82
  if (typeof db.transaction === 'function') {
39
- return db.transaction(async (tx) => {
40
- const originalDb = self.db;
41
- try {
42
- self.db = tx;
43
- return await originalMethod.apply(self, args);
44
- }
45
- finally {
46
- self.db = originalDb;
47
- }
48
- });
83
+ return db.transaction(runInTransaction);
49
84
  }
50
85
  // 2. Prisma-style $transaction: db.$transaction(async (tx) => ...)
51
86
  if (typeof db.$transaction === 'function') {
52
- return db.$transaction(async (tx) => {
53
- const originalPrisma = self.prisma || self.db;
54
- try {
55
- if (self.prisma)
56
- self.prisma = tx;
57
- if (self.db)
58
- self.db = tx;
59
- return await originalMethod.apply(self, args);
60
- }
61
- finally {
62
- if (self.prisma)
63
- self.prisma = originalPrisma;
64
- if (self.db)
65
- self.db = originalPrisma;
66
- }
67
- });
87
+ return db.$transaction(runInTransaction);
68
88
  }
69
89
  // 3. Imperative beginTransaction / commit / rollback
70
90
  if (typeof db.beginTransaction === 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/decorators/transaction.ts"],"names":[],"mappings":";;AA4BA,sCAqEC;AA1FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,aAAa,CAC3B,WAAiC,EAAE;IAEnC,OAAO,UACL,OAAY,EACZ,YAA6B,EAC7B,UAA8B;QAE9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAA;QAEvC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;YAC/C,MAAM,IAAI,GAAG,IAAW,CAAA;YACxB,MAAM,EAAE,GACN,IAAI,CAAC,EAAE;gBACP,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU;gBACd,UAAkB,CAAC,WAAW,CAAA;YAEjC,IAAI,EAAE,EAAE,CAAC;gBACP,iEAAiE;gBACjE,IAAI,OAAO,EAAE,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;oBACzC,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;wBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;wBAC1B,IAAI,CAAC;4BACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;4BACZ,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;wBAC/C,CAAC;gCAAS,CAAC;4BACT,IAAI,CAAC,EAAE,GAAG,UAAU,CAAA;wBACtB,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAED,mEAAmE;gBACnE,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBAC1C,OAAO,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;wBACvC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAA;wBAC7C,IAAI,CAAC;4BACH,IAAI,IAAI,CAAC,MAAM;gCAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;4BACjC,IAAI,IAAI,CAAC,EAAE;gCAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;4BACzB,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;wBAC/C,CAAC;gCAAS,CAAC;4BACT,IAAI,IAAI,CAAC,MAAM;gCAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAA;4BAC7C,IAAI,IAAI,CAAC,EAAE;gCAAE,IAAI,CAAC,EAAE,GAAG,cAAc,CAAA;wBACvC,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAED,qDAAqD;gBACrD,IAAI,OAAO,EAAE,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;oBAC9C,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAA;oBAC3B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;wBACrD,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,UAAU;4BAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAA;wBACtD,OAAO,MAAM,CAAA;oBACf,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU;4BAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;wBAC1D,MAAM,KAAK,CAAA;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzC,CAAC,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/decorators/transaction.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,13 @@ export declare class Container {
32
32
  private providers;
33
33
  private singletonCache;
34
34
  private inFlight;
35
+ private scopeFrames;
36
+ private markRequestScoped;
37
+ private build;
38
+ private store;
35
39
  provide<T>(tokenOrProvider: ProviderToken<T> | CustomProvider<T>, provider?: ProviderDefinition<T>): void;
40
+ /** The cached singleton for a token, without building anything. */
41
+ peekSingleton<T>(token: ProviderToken<T>): T | undefined;
36
42
  clearCache(): void;
37
43
  instantiateClass<T>(TargetClass: new (...args: any[]) => T, requestCache?: Map<any, any>): T;
38
44
  resolve<T>(token: ProviderToken<T>, requestCache?: Map<any, any>): T;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}