stratal 0.0.4 → 0.0.5
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.
- package/CHANGELOG.md +6 -0
- package/dist/application.d.ts +6 -0
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +24 -1
- package/dist/application.js.map +1 -1
- package/dist/di/container.d.ts +2 -4
- package/dist/di/container.d.ts.map +1 -1
- package/dist/di/container.js +4 -14
- package/dist/di/container.js.map +1 -1
- package/dist/di/tokens.d.ts +0 -1
- package/dist/di/tokens.d.ts.map +1 -1
- package/dist/di/tokens.js +0 -1
- package/dist/di/tokens.js.map +1 -1
- package/dist/events/constants.d.ts +11 -0
- package/dist/events/constants.d.ts.map +1 -0
- package/dist/events/constants.js +11 -0
- package/dist/events/constants.js.map +1 -0
- package/dist/events/decorators/index.d.ts +3 -0
- package/dist/events/decorators/index.d.ts.map +1 -0
- package/dist/events/decorators/index.js +3 -0
- package/dist/events/decorators/index.js.map +1 -0
- package/dist/events/decorators/listener.decorator.d.ts +24 -0
- package/dist/events/decorators/listener.decorator.d.ts.map +1 -0
- package/dist/events/decorators/listener.decorator.js +33 -0
- package/dist/events/decorators/listener.decorator.js.map +1 -0
- package/dist/events/decorators/on.decorator.d.ts +28 -0
- package/dist/events/decorators/on.decorator.d.ts.map +1 -0
- package/dist/events/decorators/on.decorator.js +41 -0
- package/dist/events/decorators/on.decorator.js.map +1 -0
- package/dist/events/event-registry.d.ts +26 -0
- package/dist/events/event-registry.d.ts.map +1 -0
- package/dist/events/event-registry.js +156 -0
- package/dist/events/event-registry.js.map +1 -0
- package/dist/events/index.d.ts +5 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +4 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +116 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +23 -0
- package/dist/events/types.js.map +1 -0
- package/dist/i18n/messages/en/errors.d.ts +2 -0
- package/dist/i18n/messages/en/errors.d.ts.map +1 -1
- package/dist/i18n/messages/en/errors.js +2 -0
- package/dist/i18n/messages/en/errors.js.map +1 -1
- package/dist/module/module-registry.d.ts +9 -0
- package/dist/module/module-registry.d.ts.map +1 -1
- package/dist/module/module-registry.js +21 -0
- package/dist/module/module-registry.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# stratal
|
|
2
2
|
|
|
3
|
+
## 0.0.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#66](https://github.com/strataljs/stratal/pull/66) [`c8ea964`](https://github.com/strataljs/stratal/commit/c8ea964e272b09ebc6619843e77d2b51178f9423) Thanks [@adesege](https://github.com/adesege)! - Add type-safe events system with `@Listener` and `@On` decorators, `EventRegistry` for handler registration and emission, and automatic listener discovery from module providers during application bootstrap. Enhanced DI container with service decoration support.
|
|
8
|
+
|
|
3
9
|
## 0.0.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/application.d.ts
CHANGED
|
@@ -100,6 +100,12 @@ export declare class Application {
|
|
|
100
100
|
private registerRoutes;
|
|
101
101
|
private registerQueueConsumers;
|
|
102
102
|
private registerCronJobs;
|
|
103
|
+
/**
|
|
104
|
+
* Auto-wire `@Listener()` classes with the EventRegistry.
|
|
105
|
+
*
|
|
106
|
+
* Reads `@On()` metadata from each listener and registers handlers.
|
|
107
|
+
*/
|
|
108
|
+
private registerEventListeners;
|
|
103
109
|
/**
|
|
104
110
|
* Register LoggerService and dependencies
|
|
105
111
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAKvC,OAAO,EAAiE,QAAQ,EAAmB,MAAM,UAAU,CAAA;AAEnH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAMhE,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7F,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,aAAa,CAAA;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC9B,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IAapB,QAAQ,CAAC,GAAG,EAAE,UAAU;IACxB,QAAQ,CAAC,GAAG,EAAE,gBAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAd5B;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAW;IAE7B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAQ;gBAGhB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB,EACb,SAAS,EAAE,iBAAiB;IAwB/C;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAU5B;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAerE;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,SAAO,GAAG,aAAa;IAQ/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;CAU7B"}
|
package/dist/application.js
CHANGED
|
@@ -4,6 +4,7 @@ import { CronManager } from './cron/cron-manager';
|
|
|
4
4
|
import { Container } from './di/container';
|
|
5
5
|
import { DI_TOKENS } from './di/tokens';
|
|
6
6
|
import { ApplicationError, GlobalErrorHandler } from './errors';
|
|
7
|
+
import { EventRegistry, getListenerHandlers } from './events';
|
|
7
8
|
import { I18nModule } from './i18n/i18n.module';
|
|
8
9
|
import { ConsoleTransport, JsonFormatter, LOGGER_TOKENS, LoggerService, LogLevel, PrettyFormatter } from './logger';
|
|
9
10
|
import { ModuleRegistry } from './module/module-registry';
|
|
@@ -110,10 +111,11 @@ export class Application {
|
|
|
110
111
|
this.cronManager = this._container.resolve(DI_TOKENS.Cron);
|
|
111
112
|
// Phase 5: Register RouterService
|
|
112
113
|
this._container.registerSingleton(ROUTER_TOKENS.RouterService, RouterService);
|
|
113
|
-
// Phase 6: Configure routes, queues, and
|
|
114
|
+
// Phase 6: Configure routes, queues, cron jobs, and event listeners
|
|
114
115
|
this.registerRoutes();
|
|
115
116
|
this.registerQueueConsumers();
|
|
116
117
|
this.registerCronJobs();
|
|
118
|
+
this.registerEventListeners();
|
|
117
119
|
this.initialized = true;
|
|
118
120
|
}
|
|
119
121
|
/**
|
|
@@ -211,6 +213,25 @@ export class Application {
|
|
|
211
213
|
this.cronManager.registerJob(job);
|
|
212
214
|
}
|
|
213
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Auto-wire `@Listener()` classes with the EventRegistry.
|
|
218
|
+
*
|
|
219
|
+
* Reads `@On()` metadata from each listener and registers handlers.
|
|
220
|
+
*/
|
|
221
|
+
registerEventListeners() {
|
|
222
|
+
const listeners = this.moduleRegistry.getAllListeners();
|
|
223
|
+
if (listeners.length === 0) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const eventRegistry = this._container.resolve(DI_TOKENS.EventRegistry);
|
|
227
|
+
for (const ListenerClass of listeners) {
|
|
228
|
+
const instance = this._container.resolve(ListenerClass);
|
|
229
|
+
const handlers = getListenerHandlers(ListenerClass);
|
|
230
|
+
for (const { methodName, event, options } of handlers) {
|
|
231
|
+
eventRegistry.on(event, instance[methodName].bind(instance), options);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
214
235
|
/**
|
|
215
236
|
* Register LoggerService and dependencies
|
|
216
237
|
*/
|
|
@@ -243,6 +264,8 @@ export class Application {
|
|
|
243
264
|
this._container.registerSingleton(DI_TOKENS.Cron, CronManager);
|
|
244
265
|
// Error handler - transient (fresh instance each time with current I18n)
|
|
245
266
|
this._container.register(DI_TOKENS.ErrorHandler, GlobalErrorHandler);
|
|
267
|
+
// Event registry - singleton
|
|
268
|
+
this._container.registerSingleton(DI_TOKENS.EventRegistry, EventRegistry);
|
|
246
269
|
}
|
|
247
270
|
}
|
|
248
271
|
//# sourceMappingURL=application.js.map
|
package/dist/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
package/dist/di/container.d.ts
CHANGED
|
@@ -382,10 +382,8 @@ export declare class Container {
|
|
|
382
382
|
*/
|
|
383
383
|
private createRequestChildContainer;
|
|
384
384
|
/**
|
|
385
|
-
* Cleanup request container
|
|
386
|
-
*
|
|
387
|
-
* Disposes the ConnectionManager to close all database pools.
|
|
388
|
-
* This is called after each request to prevent connection leaks.
|
|
385
|
+
* Cleanup request container resources.
|
|
386
|
+
* This is called after each request.
|
|
389
387
|
*/
|
|
390
388
|
private cleanupRequestContainer;
|
|
391
389
|
dispose(): void | Promise<void>;
|
|
@@ -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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"}
|
package/dist/di/container.js
CHANGED
|
@@ -436,21 +436,11 @@ export class Container {
|
|
|
436
436
|
return requestContainer;
|
|
437
437
|
}
|
|
438
438
|
/**
|
|
439
|
-
* Cleanup request container
|
|
440
|
-
*
|
|
441
|
-
* Disposes the ConnectionManager to close all database pools.
|
|
442
|
-
* This is called after each request to prevent connection leaks.
|
|
439
|
+
* Cleanup request container resources.
|
|
440
|
+
* This is called after each request.
|
|
443
441
|
*/
|
|
444
|
-
async cleanupRequestContainer(
|
|
445
|
-
|
|
446
|
-
if (requestContainer.isRegistered(DI_TOKENS.ConnectionManager)) {
|
|
447
|
-
const connectionManager = requestContainer.resolve(DI_TOKENS.ConnectionManager);
|
|
448
|
-
await connectionManager.dispose();
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
catch (error) {
|
|
452
|
-
this.logger.warn('Failed to dispose ConnectionManager', { error });
|
|
453
|
-
}
|
|
442
|
+
async cleanupRequestContainer(_requestContainer) {
|
|
443
|
+
// No-op: dialects manage their own connection lifecycle
|
|
454
444
|
}
|
|
455
445
|
dispose() {
|
|
456
446
|
this.logger.info('Container disposed.');
|
package/dist/di/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}
|
package/dist/di/tokens.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export declare const DI_TOKENS: {
|
|
|
10
10
|
readonly Application: symbol;
|
|
11
11
|
readonly ModuleRegistry: symbol;
|
|
12
12
|
readonly ErrorHandler: symbol;
|
|
13
|
-
readonly ConnectionManager: symbol;
|
|
14
13
|
readonly Database: symbol;
|
|
15
14
|
readonly Queue: symbol;
|
|
16
15
|
readonly ConsumerRegistry: symbol;
|
package/dist/di/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,eAA6B,CAAA;AAEzD,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,eAA6B,CAAA;AAEzD,eAAO,MAAM,SAAS;;;;;;;;;;;;IAiBpB;;OAEG;;CAEK,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA"}
|
package/dist/di/tokens.js
CHANGED
|
@@ -12,7 +12,6 @@ export const DI_TOKENS = {
|
|
|
12
12
|
Application: Symbol.for('Application'),
|
|
13
13
|
ModuleRegistry: Symbol.for('ModuleRegistry'),
|
|
14
14
|
ErrorHandler: Symbol.for('ErrorHandler'),
|
|
15
|
-
ConnectionManager: Symbol.for('ConnectionManager'),
|
|
16
15
|
Database: Symbol.for('DatabaseService'),
|
|
17
16
|
Queue: Symbol.for('QueueManager'),
|
|
18
17
|
ConsumerRegistry: Symbol.for('ConsumerRegistry'),
|
package/dist/di/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEhD,iBAAiB;IACjB,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACxC,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEhD,iBAAiB;IACjB,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAE1C,UAAU;IACV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;CAC9B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata keys for event listener decorators.
|
|
3
|
+
*
|
|
4
|
+
* Uses `Symbol.for()` (global symbol registry) so that both core and
|
|
5
|
+
* framework packages can reference the same symbols without cross-imports.
|
|
6
|
+
*/
|
|
7
|
+
export declare const LISTENER_METADATA_KEYS: {
|
|
8
|
+
readonly IS_LISTENER: symbol;
|
|
9
|
+
readonly EVENT_HANDLERS: symbol;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/events/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata keys for event listener decorators.
|
|
3
|
+
*
|
|
4
|
+
* Uses `Symbol.for()` (global symbol registry) so that both core and
|
|
5
|
+
* framework packages can reference the same symbols without cross-imports.
|
|
6
|
+
*/
|
|
7
|
+
export const LISTENER_METADATA_KEYS = {
|
|
8
|
+
IS_LISTENER: Symbol.for('stratal:listener'),
|
|
9
|
+
EVENT_HANDLERS: Symbol.for('stratal:listener:handlers'),
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/events/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;CAC/C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,EAAE,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/events/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,EAAE,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Constructor } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Mark a class as an event listener.
|
|
4
|
+
*
|
|
5
|
+
* Applies `@Transient()` for DI and sets metadata so the module system
|
|
6
|
+
* can auto-discover and wire listener handlers at bootstrap time.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* @Listener()
|
|
11
|
+
* export class UserCreatedListener {
|
|
12
|
+
* @On('after.User.create')
|
|
13
|
+
* async sendWelcomeEmail(context: EventContext<'after.User.create'>) {
|
|
14
|
+
* // ...
|
|
15
|
+
* }
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function Listener(): <T extends Constructor>(target: T) => T;
|
|
20
|
+
/**
|
|
21
|
+
* Check if a class is decorated with `@Listener()`
|
|
22
|
+
*/
|
|
23
|
+
export declare function isListener(target: Constructor): boolean;
|
|
24
|
+
//# sourceMappingURL=listener.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener.decorator.d.ts","sourceRoot":"","sources":["../../../src/events/decorators/listener.decorator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,KACL,CAAC,SAAS,WAAW,EAAE,QAAQ,CAAC,OAKlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Transient } from '../../di/decorators';
|
|
2
|
+
import { LISTENER_METADATA_KEYS } from '../constants';
|
|
3
|
+
/**
|
|
4
|
+
* Mark a class as an event listener.
|
|
5
|
+
*
|
|
6
|
+
* Applies `@Transient()` for DI and sets metadata so the module system
|
|
7
|
+
* can auto-discover and wire listener handlers at bootstrap time.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* @Listener()
|
|
12
|
+
* export class UserCreatedListener {
|
|
13
|
+
* @On('after.User.create')
|
|
14
|
+
* async sendWelcomeEmail(context: EventContext<'after.User.create'>) {
|
|
15
|
+
* // ...
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function Listener() {
|
|
21
|
+
return function (target) {
|
|
22
|
+
Transient()(target);
|
|
23
|
+
Reflect.defineMetadata(LISTENER_METADATA_KEYS.IS_LISTENER, true, target);
|
|
24
|
+
return target;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if a class is decorated with `@Listener()`
|
|
29
|
+
*/
|
|
30
|
+
export function isListener(target) {
|
|
31
|
+
return Reflect.getMetadata(LISTENER_METADATA_KEYS.IS_LISTENER, target) === true;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=listener.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener.decorator.js","sourceRoot":"","sources":["../../../src/events/decorators/listener.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAiC,MAAS;QAC/C,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QACxE,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB;IAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;AACjF,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { EventName, EventOptions, ListenerHandlerMetadata } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Register a method as an event handler within a `@Listener()` class.
|
|
4
|
+
*
|
|
5
|
+
* Accumulates handler metadata on the class so the framework can
|
|
6
|
+
* auto-wire handlers with the EventRegistry at bootstrap time.
|
|
7
|
+
*
|
|
8
|
+
* @param event - Event name to listen for (fully typed with autocomplete)
|
|
9
|
+
* @param options - Optional handler options (priority, blocking)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* @Listener()
|
|
14
|
+
* export class AuditListener {
|
|
15
|
+
* @On('after.User.create')
|
|
16
|
+
* async logCreate(context: EventContext<'after.User.create'>) { ... }
|
|
17
|
+
*
|
|
18
|
+
* @On('after.User.delete', { priority: 10 })
|
|
19
|
+
* async logDelete(context: EventContext<'after.User.delete'>) { ... }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function On<E extends EventName>(event: E, options?: EventOptions): (target: object, propertyKey: string, _descriptor: PropertyDescriptor) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Get all `@On()` handler metadata from a listener class
|
|
26
|
+
*/
|
|
27
|
+
export declare function getListenerHandlers(target: object): ListenerHandlerMetadata[];
|
|
28
|
+
//# sourceMappingURL=on.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on.decorator.d.ts","sourceRoot":"","sources":["../../../src/events/decorators/on.decorator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,IAEpE,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,aAAa,kBAAkB,UAiBlC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAG7E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { LISTENER_METADATA_KEYS } from '../constants';
|
|
2
|
+
/**
|
|
3
|
+
* Register a method as an event handler within a `@Listener()` class.
|
|
4
|
+
*
|
|
5
|
+
* Accumulates handler metadata on the class so the framework can
|
|
6
|
+
* auto-wire handlers with the EventRegistry at bootstrap time.
|
|
7
|
+
*
|
|
8
|
+
* @param event - Event name to listen for (fully typed with autocomplete)
|
|
9
|
+
* @param options - Optional handler options (priority, blocking)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* @Listener()
|
|
14
|
+
* export class AuditListener {
|
|
15
|
+
* @On('after.User.create')
|
|
16
|
+
* async logCreate(context: EventContext<'after.User.create'>) { ... }
|
|
17
|
+
*
|
|
18
|
+
* @On('after.User.delete', { priority: 10 })
|
|
19
|
+
* async logDelete(context: EventContext<'after.User.delete'>) { ... }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function On(event, options) {
|
|
24
|
+
return function (target, propertyKey, _descriptor) {
|
|
25
|
+
const existingHandlers = Reflect.getMetadata(LISTENER_METADATA_KEYS.EVENT_HANDLERS, target.constructor) ?? [];
|
|
26
|
+
existingHandlers.push({
|
|
27
|
+
methodName: propertyKey,
|
|
28
|
+
event: event,
|
|
29
|
+
options,
|
|
30
|
+
});
|
|
31
|
+
Reflect.defineMetadata(LISTENER_METADATA_KEYS.EVENT_HANDLERS, existingHandlers, target.constructor);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get all `@On()` handler metadata from a listener class
|
|
36
|
+
*/
|
|
37
|
+
export function getListenerHandlers(target) {
|
|
38
|
+
const metadataTarget = typeof target === 'function' ? target : target.constructor;
|
|
39
|
+
return Reflect.getMetadata(LISTENER_METADATA_KEYS.EVENT_HANDLERS, metadataTarget) ?? [];
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=on.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on.decorator.js","sourceRoot":"","sources":["../../../src/events/decorators/on.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,EAAE,CAAsB,KAAQ,EAAE,OAAsB;IACtE,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,WAA+B;QAE/B,MAAM,gBAAgB,GACnB,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAA2C,IAAI,EAAE,CAAA;QAEjI,gBAAgB,CAAC,IAAI,CAAC;YACpB,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,KAAe;YACtB,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,CAAC,cAAc,CACpB,sBAAsB,CAAC,cAAc,EACrC,gBAAgB,EAChB,MAAM,CAAC,WAAW,CACnB,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAA;IACjF,OAAQ,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,cAAc,EAAE,cAAc,CAA2C,IAAI,EAAE,CAAA;AACpI,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type LoggerService } from '../logger';
|
|
2
|
+
import type { EventContext, EventHandler, EventName, EventOptions, IEventRegistry } from './types';
|
|
3
|
+
export declare class EventRegistry implements IEventRegistry {
|
|
4
|
+
private readonly ctx;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
private handlers;
|
|
7
|
+
constructor(ctx: ExecutionContext, logger: LoggerService);
|
|
8
|
+
on<E extends EventName>(event: E, handler: EventHandler<E>, options?: EventOptions): void;
|
|
9
|
+
emit<E extends EventName>(event: E, context?: Partial<EventContext<E>>): Promise<void>;
|
|
10
|
+
off<E extends EventName>(event: E, handler: EventHandler<E>): void;
|
|
11
|
+
once<E extends EventName>(event: E, handler: EventHandler<E>, options?: EventOptions): void;
|
|
12
|
+
/**
|
|
13
|
+
* Find all handlers matching the event using pattern matching.
|
|
14
|
+
* Order: exact match -> model wildcard -> operation wildcard -> global wildcard
|
|
15
|
+
*/
|
|
16
|
+
private findMatchingHandlers;
|
|
17
|
+
/**
|
|
18
|
+
* Determine if we should use ctx.waitUntil (non-blocking) or await (blocking)
|
|
19
|
+
*/
|
|
20
|
+
private shouldUseWaitUntil;
|
|
21
|
+
/**
|
|
22
|
+
* Execute a single handler with error isolation
|
|
23
|
+
*/
|
|
24
|
+
private executeHandler;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=event-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-registry.d.ts","sourceRoot":"","sources":["../../src/events/event-registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,cAAc,EAEf,MAAM,SAAS,CAAA;AAEhB,qBACa,aAAc,YAAW,cAAc;IAIZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ9D,OAAO,CAAC,QAAQ,CAAyC;gBAGF,GAAG,EAAE,gBAAgB,EACpB,MAAM,EAAE,aAAa;IAG7E,EAAE,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAkBnF,IAAI,CAAC,CAAC,SAAS,SAAS,EAC5B,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IAmChB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAclE,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAS3F;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;YACW,cAAc;CAe7B"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { inject } from 'tsyringe';
|
|
14
|
+
import { Transient } from '../di/decorators';
|
|
15
|
+
import { DI_TOKENS } from '../di/tokens';
|
|
16
|
+
import { LOGGER_TOKENS } from '../logger';
|
|
17
|
+
let EventRegistry = class EventRegistry {
|
|
18
|
+
ctx;
|
|
19
|
+
logger;
|
|
20
|
+
handlers = new Map();
|
|
21
|
+
constructor(ctx, logger) {
|
|
22
|
+
this.ctx = ctx;
|
|
23
|
+
this.logger = logger;
|
|
24
|
+
}
|
|
25
|
+
on(event, handler, options) {
|
|
26
|
+
const registered = {
|
|
27
|
+
handler: handler,
|
|
28
|
+
priority: options?.priority ?? 0,
|
|
29
|
+
blocking: options?.blocking
|
|
30
|
+
};
|
|
31
|
+
const existingHandlers = this.handlers.get(event) ?? [];
|
|
32
|
+
existingHandlers.push(registered);
|
|
33
|
+
this.handlers.set(event, existingHandlers);
|
|
34
|
+
this.logger.debug('Event handler registered', {
|
|
35
|
+
event,
|
|
36
|
+
priority: registered.priority,
|
|
37
|
+
blocking: registered.blocking
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async emit(event, context) {
|
|
41
|
+
// Build full context with caller-provided fields
|
|
42
|
+
const fullContext = {
|
|
43
|
+
...context
|
|
44
|
+
};
|
|
45
|
+
// Find matching handlers using pattern matching
|
|
46
|
+
const matchingHandlers = this.findMatchingHandlers(event);
|
|
47
|
+
if (matchingHandlers.length === 0) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Sort by priority (higher first)
|
|
51
|
+
const sortedHandlers = [...matchingHandlers].sort((a, b) => b.priority - a.priority);
|
|
52
|
+
// Determine if we should use waitUntil
|
|
53
|
+
const shouldUseWaitUntil = this.shouldUseWaitUntil(event, sortedHandlers);
|
|
54
|
+
// Execute handlers
|
|
55
|
+
const promises = sortedHandlers.map((registered) => this.executeHandler(registered.handler, fullContext, event));
|
|
56
|
+
if (shouldUseWaitUntil) {
|
|
57
|
+
// Non-blocking: use ctx.waitUntil
|
|
58
|
+
this.ctx.waitUntil(Promise.all(promises));
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// Blocking: await all handlers
|
|
62
|
+
await Promise.all(promises);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
off(event, handler) {
|
|
66
|
+
const existingHandlers = this.handlers.get(event);
|
|
67
|
+
if (!existingHandlers)
|
|
68
|
+
return;
|
|
69
|
+
const filtered = existingHandlers.filter((h) => h.handler !== handler);
|
|
70
|
+
if (filtered.length > 0) {
|
|
71
|
+
this.handlers.set(event, filtered);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.handlers.delete(event);
|
|
75
|
+
}
|
|
76
|
+
this.logger.debug('Event handler unregistered', { event });
|
|
77
|
+
}
|
|
78
|
+
once(event, handler, options) {
|
|
79
|
+
const wrappedHandler = (async (context) => {
|
|
80
|
+
await handler(context);
|
|
81
|
+
this.off(event, wrappedHandler);
|
|
82
|
+
});
|
|
83
|
+
this.on(event, wrappedHandler, options);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Find all handlers matching the event using pattern matching.
|
|
87
|
+
* Order: exact match -> model wildcard -> operation wildcard -> global wildcard
|
|
88
|
+
*/
|
|
89
|
+
findMatchingHandlers(event) {
|
|
90
|
+
const handlers = [];
|
|
91
|
+
const parts = event.split('.');
|
|
92
|
+
if (parts.length === 3) {
|
|
93
|
+
// Database event: "phase.model.operation"
|
|
94
|
+
const [phase, model, operation] = parts;
|
|
95
|
+
// 1. Exact match: "after.user.create"
|
|
96
|
+
handlers.push(...(this.handlers.get(event) ?? []));
|
|
97
|
+
// 2. Model wildcard: "after.user"
|
|
98
|
+
handlers.push(...(this.handlers.get(`${phase}.${model}`) ?? []));
|
|
99
|
+
// 3. Operation wildcard: "after.create"
|
|
100
|
+
handlers.push(...(this.handlers.get(`${phase}.${operation}`) ?? []));
|
|
101
|
+
// 4. Global wildcard: "after"
|
|
102
|
+
handlers.push(...(this.handlers.get(phase) ?? []));
|
|
103
|
+
}
|
|
104
|
+
else if (parts.length === 2) {
|
|
105
|
+
// Could be wildcard like "after.user" or custom event like "auth.verified"
|
|
106
|
+
handlers.push(...(this.handlers.get(event) ?? []));
|
|
107
|
+
if (parts[0] === 'before' || parts[0] === 'after') {
|
|
108
|
+
handlers.push(...(this.handlers.get(parts[0]) ?? []));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
handlers.push(...(this.handlers.get(event) ?? []));
|
|
113
|
+
}
|
|
114
|
+
return handlers;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Determine if we should use ctx.waitUntil (non-blocking) or await (blocking)
|
|
118
|
+
*/
|
|
119
|
+
shouldUseWaitUntil(event, handlers) {
|
|
120
|
+
const hasBlockingHandler = handlers.some((h) => h.blocking === true);
|
|
121
|
+
if (hasBlockingHandler)
|
|
122
|
+
return false;
|
|
123
|
+
const hasNonBlockingHandler = handlers.some((h) => h.blocking === false);
|
|
124
|
+
if (hasNonBlockingHandler)
|
|
125
|
+
return true;
|
|
126
|
+
const phase = event.split('.')[0];
|
|
127
|
+
if (phase === 'before')
|
|
128
|
+
return false;
|
|
129
|
+
if (phase === 'after')
|
|
130
|
+
return true;
|
|
131
|
+
return false; // Custom events block by default
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Execute a single handler with error isolation
|
|
135
|
+
*/
|
|
136
|
+
async executeHandler(handler, context, event) {
|
|
137
|
+
try {
|
|
138
|
+
await handler(context);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
this.logger.error('Event handler error', {
|
|
142
|
+
event,
|
|
143
|
+
error: error instanceof Error ? error.message : String(error),
|
|
144
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
EventRegistry = __decorate([
|
|
150
|
+
Transient(),
|
|
151
|
+
__param(0, inject(DI_TOKENS.ExecutionContext)),
|
|
152
|
+
__param(1, inject(LOGGER_TOKENS.LoggerService)),
|
|
153
|
+
__metadata("design:paramtypes", [Object, Function])
|
|
154
|
+
], EventRegistry);
|
|
155
|
+
export { EventRegistry };
|
|
156
|
+
//# sourceMappingURL=event-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-registry.js","sourceRoot":"","sources":["../../src/events/event-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { LISTENER_METADATA_KEYS } from './constants';
|
|
2
|
+
export { Listener, isListener, On, getListenerHandlers } from './decorators';
|
|
3
|
+
export { EventRegistry } from './event-registry';
|
|
4
|
+
export type { CustomEventContext, CustomEventRegistry, EventContext, EventHandler, EventName, EventOptions, IEventRegistry, ListenerHandlerMetadata, RegisteredHandler, } from './types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Event System Types
|
|
3
|
+
*
|
|
4
|
+
* Provides a generic, augmentable event system for Stratal.
|
|
5
|
+
* Core owns the base types; framework's database module augments
|
|
6
|
+
* `CustomEventRegistry` with richly typed database event contexts.
|
|
7
|
+
*
|
|
8
|
+
* ## Custom Events
|
|
9
|
+
*
|
|
10
|
+
* Custom application events can be added via module augmentation:
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* declare module 'stratal/events' {
|
|
15
|
+
* interface CustomEventRegistry {
|
|
16
|
+
* 'user.verified': CustomEventContext<{ userId: string; email: string }>
|
|
17
|
+
* 'email.sent': CustomEventContext<{ to: string; subject: string }>
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Augmentable event registry.
|
|
24
|
+
* Maps event name -> full context type.
|
|
25
|
+
*
|
|
26
|
+
* Framework's database module augments this with `DatabaseEvents<K>`.
|
|
27
|
+
* Users augment for custom events using `CustomEventContext<TData>`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* declare module 'stratal/events' {
|
|
32
|
+
* interface CustomEventRegistry {
|
|
33
|
+
* 'user.verified': CustomEventContext<{ userId: string; email: string }>
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export interface CustomEventRegistry {
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* All valid event names.
|
|
42
|
+
* Falls back to `string` when no events are registered in CustomEventRegistry.
|
|
43
|
+
*/
|
|
44
|
+
export type EventName = keyof CustomEventRegistry extends never ? string : Extract<keyof CustomEventRegistry, string>;
|
|
45
|
+
/**
|
|
46
|
+
* Helper for user-defined custom events.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* declare module 'stratal/events' {
|
|
51
|
+
* interface CustomEventRegistry {
|
|
52
|
+
* 'user.verified': CustomEventContext<{ userId: string; email: string }>
|
|
53
|
+
* }
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export interface CustomEventContext<TData = unknown> {
|
|
58
|
+
data: TData;
|
|
59
|
+
metadata?: Record<string, unknown>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Event context — looks up the full context type from CustomEventRegistry.
|
|
63
|
+
* For database events, this includes typed data and result from ZenStack schema.
|
|
64
|
+
* Falls back to a generic context shape for unregistered events.
|
|
65
|
+
*/
|
|
66
|
+
export type EventContext<E extends EventName = EventName> = E extends keyof CustomEventRegistry ? CustomEventRegistry[E] : {
|
|
67
|
+
data?: unknown;
|
|
68
|
+
result?: unknown;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Options for registering event handlers
|
|
72
|
+
*/
|
|
73
|
+
export interface EventOptions {
|
|
74
|
+
/** Handler execution priority. Higher values execute first. @default 0 */
|
|
75
|
+
priority?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Whether to force blocking (await) vs non-blocking (waitUntil) behavior.
|
|
78
|
+
*
|
|
79
|
+
* Default behavior:
|
|
80
|
+
* - `before.*` events: Always blocking (true)
|
|
81
|
+
* - `after.*` events: Non-blocking via waitUntil (false)
|
|
82
|
+
* - Custom events: Blocking (true)
|
|
83
|
+
*/
|
|
84
|
+
blocking?: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Event handler function signature with typed context
|
|
88
|
+
*/
|
|
89
|
+
export type EventHandler<E extends EventName = EventName> = (context: EventContext<E>) => Promise<void> | void;
|
|
90
|
+
/**
|
|
91
|
+
* Internal structure for storing registered handlers
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
export interface RegisteredHandler {
|
|
95
|
+
handler: EventHandler;
|
|
96
|
+
priority: number;
|
|
97
|
+
blocking?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* EventRegistry interface — main API for event system
|
|
101
|
+
*/
|
|
102
|
+
export interface IEventRegistry {
|
|
103
|
+
on<E extends EventName>(event: E, handler: EventHandler<E>, options?: EventOptions): void;
|
|
104
|
+
emit<E extends EventName>(event: E, context?: Partial<EventContext<E>>): Promise<void>;
|
|
105
|
+
off<E extends EventName>(event: E, handler: EventHandler<E>): void;
|
|
106
|
+
once<E extends EventName>(event: E, handler: EventHandler<E>, options?: EventOptions): void;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Metadata stored by `@On()` decorator for each handler method
|
|
110
|
+
*/
|
|
111
|
+
export interface ListenerHandlerMetadata {
|
|
112
|
+
methodName: string;
|
|
113
|
+
event: string;
|
|
114
|
+
options?: EventOptions;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;CAAI;AAExC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,mBAAmB,SAAS,KAAK,GAC3D,MAAM,GACN,OAAO,CAAC,MAAM,mBAAmB,EAAE,MAAM,CAAC,CAAA;AAM9C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK,GAAG,OAAO;IACjD,IAAI,EAAE,KAAK,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IACtD,CAAC,SAAS,MAAM,mBAAmB,GACjC,mBAAmB,CAAC,CAAC,CAAC,GACtB;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAMxC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAC1D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEzB;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,CAAC,SAAS,SAAS,EACpB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAA;IAEP,IAAI,CAAC,CAAC,SAAS,SAAS,EACtB,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAElE,IAAI,CAAC,CAAC,SAAS,SAAS,EACtB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAA;CACR;AAMD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Event System Types
|
|
3
|
+
*
|
|
4
|
+
* Provides a generic, augmentable event system for Stratal.
|
|
5
|
+
* Core owns the base types; framework's database module augments
|
|
6
|
+
* `CustomEventRegistry` with richly typed database event contexts.
|
|
7
|
+
*
|
|
8
|
+
* ## Custom Events
|
|
9
|
+
*
|
|
10
|
+
* Custom application events can be added via module augmentation:
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* declare module 'stratal/events' {
|
|
15
|
+
* interface CustomEventRegistry {
|
|
16
|
+
* 'user.verified': CustomEventContext<{ userId: string; email: string }>
|
|
17
|
+
* 'email.sent': CustomEventContext<{ to: string; subject: string }>
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
|
|
@@ -87,7 +87,9 @@ export declare const errors: {
|
|
|
87
87
|
readonly accountAlreadyExists: "An account with this email already exists";
|
|
88
88
|
readonly failedToCreateUser: "Failed to create user account. Please try again.";
|
|
89
89
|
readonly failedToCreateSession: "Failed to create session. Please try again.";
|
|
90
|
+
readonly failedToGetSession: "Failed to retrieve session. Please try again.";
|
|
90
91
|
readonly failedToUpdateUser: "Failed to update user information. Please try again.";
|
|
92
|
+
readonly failedToGetUserInfo: "Failed to retrieve user information. Please try again.";
|
|
91
93
|
readonly socialAccountLinked: "This social account is already linked to another user";
|
|
92
94
|
readonly providerNotFound: "Authentication provider not found";
|
|
93
95
|
readonly userEmailNotFound: "User email address not found";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqIT,CAAA"}
|
|
@@ -102,7 +102,9 @@ export const errors = {
|
|
|
102
102
|
accountAlreadyExists: 'An account with this email already exists',
|
|
103
103
|
failedToCreateUser: 'Failed to create user account. Please try again.',
|
|
104
104
|
failedToCreateSession: 'Failed to create session. Please try again.',
|
|
105
|
+
failedToGetSession: 'Failed to retrieve session. Please try again.',
|
|
105
106
|
failedToUpdateUser: 'Failed to update user information. Please try again.',
|
|
107
|
+
failedToGetUserInfo: 'Failed to retrieve user information. Please try again.',
|
|
106
108
|
socialAccountLinked: 'This social account is already linked to another user',
|
|
107
109
|
providerNotFound: 'Authentication provider not found',
|
|
108
110
|
userEmailNotFound: 'User email address not found',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export declare class ModuleRegistry {
|
|
|
33
33
|
private allControllers;
|
|
34
34
|
private allConsumers;
|
|
35
35
|
private allJobs;
|
|
36
|
+
private allListeners;
|
|
36
37
|
private allMiddlewareConfigs;
|
|
37
38
|
constructor(container: Container, logger: LoggerService);
|
|
38
39
|
/**
|
|
@@ -61,6 +62,10 @@ export declare class ModuleRegistry {
|
|
|
61
62
|
* Get all jobs registered from all modules
|
|
62
63
|
*/
|
|
63
64
|
getAllJobs(): Constructor[];
|
|
65
|
+
/**
|
|
66
|
+
* Get all listeners registered from all modules
|
|
67
|
+
*/
|
|
68
|
+
getAllListeners(): Constructor[];
|
|
64
69
|
/**
|
|
65
70
|
* Get all middleware configurations from all modules
|
|
66
71
|
*/
|
|
@@ -97,5 +102,9 @@ export declare class ModuleRegistry {
|
|
|
97
102
|
* Register a single provider in the container
|
|
98
103
|
*/
|
|
99
104
|
private registerProvider;
|
|
105
|
+
/**
|
|
106
|
+
* Check if a class is a `@Listener()` and collect it for auto-wiring
|
|
107
|
+
*/
|
|
108
|
+
private collectIfListener;
|
|
100
109
|
}
|
|
101
110
|
//# sourceMappingURL=module-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../src/module/module-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../src/module/module-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAMZ,MAAM,SAAS,CAAA;AAShB;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAavB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,oBAAoB,CAA8B;gBAGvC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,aAAa;IAGxC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI;IAsD5D;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE,GAAG,IAAI;IAM3D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCjC;;OAEG;IACH,iBAAiB,IAAI,WAAW,EAAE;IAIlC;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,UAAU,IAAI,WAAW,EAAE;IAI3B;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,uBAAuB,IAAI,qBAAqB,EAAE;IAIlD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IASjC;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAQ1B"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { instancePerContainerCachingFactory } from 'tsyringe';
|
|
11
11
|
import { Scope } from '../di/types';
|
|
12
|
+
import { isListener } from '../events';
|
|
12
13
|
import { createMiddlewareConsumer, } from '../middleware';
|
|
13
14
|
import { getModuleOptions } from './module.decorator';
|
|
14
15
|
/**
|
|
@@ -33,6 +34,7 @@ export class ModuleRegistry {
|
|
|
33
34
|
allControllers = [];
|
|
34
35
|
allConsumers = [];
|
|
35
36
|
allJobs = [];
|
|
37
|
+
allListeners = [];
|
|
36
38
|
allMiddlewareConfigs = [];
|
|
37
39
|
constructor(container, logger) {
|
|
38
40
|
this.container = container;
|
|
@@ -148,6 +150,12 @@ export class ModuleRegistry {
|
|
|
148
150
|
getAllJobs() {
|
|
149
151
|
return this.allJobs;
|
|
150
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Get all listeners registered from all modules
|
|
155
|
+
*/
|
|
156
|
+
getAllListeners() {
|
|
157
|
+
return this.allListeners;
|
|
158
|
+
}
|
|
151
159
|
/**
|
|
152
160
|
* Get all middleware configurations from all modules
|
|
153
161
|
*/
|
|
@@ -248,10 +256,12 @@ export class ModuleRegistry {
|
|
|
248
256
|
if (typeof provider === 'function') {
|
|
249
257
|
// Class-only provider - transient by default
|
|
250
258
|
this.container.register(provider);
|
|
259
|
+
this.collectIfListener(provider);
|
|
251
260
|
}
|
|
252
261
|
else if ('useClass' in provider) {
|
|
253
262
|
// ClassProvider with optional scope
|
|
254
263
|
this.container.register(provider.provide, provider.useClass, provider.scope);
|
|
264
|
+
this.collectIfListener(provider.useClass);
|
|
255
265
|
}
|
|
256
266
|
else if ('useValue' in provider) {
|
|
257
267
|
// ValueProvider - no scope needed (values are inherently singleton)
|
|
@@ -274,5 +284,16 @@ export class ModuleRegistry {
|
|
|
274
284
|
this.container.registerExisting(provider.provide, provider.useExisting);
|
|
275
285
|
}
|
|
276
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Check if a class is a `@Listener()` and collect it for auto-wiring
|
|
289
|
+
*/
|
|
290
|
+
collectIfListener(providerClass) {
|
|
291
|
+
if (isListener(providerClass)) {
|
|
292
|
+
// Re-register as singleton so the same instance is used across all event registrations
|
|
293
|
+
this.container.register(providerClass, providerClass, Scope.Singleton);
|
|
294
|
+
this.allListeners.push(providerClass);
|
|
295
|
+
this.logger.debug(`Collected listener: ${providerClass.name}`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
277
298
|
}
|
|
278
299
|
//# sourceMappingURL=module-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/module/module-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/module/module-registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stratal",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "A modular Cloudflare Workers framework with dependency injection, queue-based events, and type-safe configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -135,9 +135,9 @@
|
|
|
135
135
|
"@aws-sdk/lib-storage": "^3.1000.0",
|
|
136
136
|
"@aws-sdk/s3-request-presigner": "3.1000.0",
|
|
137
137
|
"@cloudflare/vitest-pool-workers": "^0.12.18",
|
|
138
|
-
"@cloudflare/workers-types": "4.
|
|
138
|
+
"@cloudflare/workers-types": "4.20260305.0",
|
|
139
139
|
"@react-email/components": "^1.0.8",
|
|
140
|
-
"@stratal/testing": "0.0.
|
|
140
|
+
"@stratal/testing": "0.0.5",
|
|
141
141
|
"@tus/server": "^2.3.0",
|
|
142
142
|
"@types/node": "^25.3.2",
|
|
143
143
|
"@types/nodemailer": "^7.0.11",
|