@rolandsall24/nest-mediator 0.5.0 → 0.5.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.
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ Version 0.5.0 introduces **Pipeline Behaviors** while maintaining backward compa
|
|
|
40
40
|
|
|
41
41
|
- Pipeline behaviors for cross-cutting concerns (logging, validation, etc.)
|
|
42
42
|
- Built-in behaviors: `LoggingBehavior`, `ValidationBehavior`, `ExceptionHandlingBehavior`, `PerformanceBehavior`
|
|
43
|
-
- New `
|
|
43
|
+
- New `forRoot()` method for enabling behaviors
|
|
44
44
|
- Custom `HandlerNotFoundException` for better error handling
|
|
45
45
|
|
|
46
46
|
### Breaking Change Notice
|
|
@@ -71,14 +71,14 @@ try {
|
|
|
71
71
|
|
|
72
72
|
### No Migration Required
|
|
73
73
|
|
|
74
|
-
If you're using `NestMediatorModule.forRoot()`, no changes are needed. Pipeline behaviors are **opt-in** via `
|
|
74
|
+
If you're using `NestMediatorModule.forRoot()`, no changes are needed. Pipeline behaviors are **opt-in** via `forRoot()`:
|
|
75
75
|
|
|
76
76
|
```typescript
|
|
77
77
|
// Existing code - works exactly as before (no behaviors)
|
|
78
78
|
NestMediatorModule.forRoot()
|
|
79
79
|
|
|
80
80
|
// New - opt-in to behaviors
|
|
81
|
-
NestMediatorModule.
|
|
81
|
+
NestMediatorModule.forRoot({
|
|
82
82
|
enableLogging: true,
|
|
83
83
|
enableValidation: true,
|
|
84
84
|
})
|
|
@@ -116,7 +116,7 @@ Or with built-in pipeline behaviors enabled:
|
|
|
116
116
|
```typescript
|
|
117
117
|
@Module({
|
|
118
118
|
imports: [
|
|
119
|
-
NestMediatorModule.
|
|
119
|
+
NestMediatorModule.forRoot({
|
|
120
120
|
enableLogging: true, // Log request handling with timing
|
|
121
121
|
enableValidation: true, // Validate requests with class-validator
|
|
122
122
|
enableExceptionHandling: true, // Centralized exception logging
|
|
@@ -585,7 +585,7 @@ import { UserPersistenceAdapter } from './infrastructure/persistence/user/user-p
|
|
|
585
585
|
@Module({
|
|
586
586
|
imports: [
|
|
587
587
|
// Enable pipeline behaviors for logging, validation, and error handling
|
|
588
|
-
NestMediatorModule.
|
|
588
|
+
NestMediatorModule.forRoot({
|
|
589
589
|
enableLogging: true,
|
|
590
590
|
enableValidation: true,
|
|
591
591
|
enableExceptionHandling: true,
|
|
@@ -747,7 +747,7 @@ Executes a query through its registered handler.
|
|
|
747
747
|
|
|
748
748
|
Basic module registration with no built-in behaviors.
|
|
749
749
|
|
|
750
|
-
#### `NestMediatorModule.
|
|
750
|
+
#### `NestMediatorModule.forRoot(options)`
|
|
751
751
|
|
|
752
752
|
Module registration with configuration options.
|
|
753
753
|
|
|
@@ -772,7 +772,7 @@ import { NestMediatorModule } from '@rolandsall24/nest-mediator';
|
|
|
772
772
|
|
|
773
773
|
@Module({
|
|
774
774
|
imports: [
|
|
775
|
-
NestMediatorModule.
|
|
775
|
+
NestMediatorModule.forRoot({
|
|
776
776
|
enableLogging: true, // Logs request handling with timing
|
|
777
777
|
enableValidation: true, // Validates requests using class-validator
|
|
778
778
|
enableExceptionHandling: true, // Centralized exception logging
|
|
@@ -844,7 +844,7 @@ Add your behavior to the module providers:
|
|
|
844
844
|
```typescript
|
|
845
845
|
@Module({
|
|
846
846
|
imports: [
|
|
847
|
-
NestMediatorModule.
|
|
847
|
+
NestMediatorModule.forRoot({
|
|
848
848
|
behaviors: [MyCustomBehavior],
|
|
849
849
|
}),
|
|
850
850
|
],
|
|
@@ -55,21 +55,19 @@ export declare class NestMediatorModule implements OnModuleInit {
|
|
|
55
55
|
constructor(mediatorBus: MediatorBus, reflector: Reflector, discoveryService: DiscoveryService);
|
|
56
56
|
onModuleInit(): void;
|
|
57
57
|
/**
|
|
58
|
-
* Register the NestMediator module
|
|
58
|
+
* Register the NestMediator module.
|
|
59
59
|
* Handlers and behaviors are automatically discovered from the application's providers.
|
|
60
|
-
* @returns Dynamic module
|
|
61
|
-
*/
|
|
62
|
-
static forRoot(): DynamicModule;
|
|
63
|
-
/**
|
|
64
|
-
* Register the NestMediator module with custom configuration.
|
|
65
60
|
*
|
|
66
|
-
* @param options -
|
|
61
|
+
* @param options - Optional configuration options
|
|
67
62
|
* @returns Dynamic module
|
|
68
63
|
*
|
|
69
64
|
* @example
|
|
70
65
|
* ```typescript
|
|
66
|
+
* // Basic setup (no built-in behaviors)
|
|
67
|
+
* NestMediatorModule.forRoot()
|
|
68
|
+
*
|
|
71
69
|
* // Enable built-in behaviors
|
|
72
|
-
* NestMediatorModule.
|
|
70
|
+
* NestMediatorModule.forRoot({
|
|
73
71
|
* enableLogging: true,
|
|
74
72
|
* enableValidation: true,
|
|
75
73
|
* enableExceptionHandling: true,
|
|
@@ -78,11 +76,11 @@ export declare class NestMediatorModule implements OnModuleInit {
|
|
|
78
76
|
* })
|
|
79
77
|
*
|
|
80
78
|
* // With custom behaviors
|
|
81
|
-
* NestMediatorModule.
|
|
79
|
+
* NestMediatorModule.forRoot({
|
|
82
80
|
* behaviors: [MyCustomBehavior],
|
|
83
81
|
* })
|
|
84
82
|
* ```
|
|
85
83
|
*/
|
|
86
|
-
static
|
|
84
|
+
static forRoot(options?: NestMediatorModuleOptions): DynamicModule;
|
|
87
85
|
}
|
|
88
86
|
//# sourceMappingURL=nest-mediator.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest-mediator.module.d.ts","sourceRoot":"","sources":["../../src/lib/nest-mediator.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAmB,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EAKL,iBAAiB,EAElB,MAAM,uBAAuB,CAAC;AAQ/B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,qBACa,kBAAmB,YAAW,YAAY;IAEnD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFhB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB;IAGrD,YAAY;IAoEZ
|
|
1
|
+
{"version":3,"file":"nest-mediator.module.d.ts","sourceRoot":"","sources":["../../src/lib/nest-mediator.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAmB,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EAKL,iBAAiB,EAElB,MAAM,uBAAuB,CAAC;AAQ/B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,qBACa,kBAAmB,YAAW,YAAY;IAEnD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFhB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB;IAGrD,YAAY;IAoEZ;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,aAAa;CAwCvE"}
|
|
@@ -59,23 +59,19 @@ let NestMediatorModule = NestMediatorModule_1 = class NestMediatorModule {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
* Register the NestMediator module
|
|
62
|
+
* Register the NestMediator module.
|
|
63
63
|
* Handlers and behaviors are automatically discovered from the application's providers.
|
|
64
|
-
* @returns Dynamic module
|
|
65
|
-
*/
|
|
66
|
-
static forRoot() {
|
|
67
|
-
return this.forRootAsync({});
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Register the NestMediator module with custom configuration.
|
|
71
64
|
*
|
|
72
|
-
* @param options -
|
|
65
|
+
* @param options - Optional configuration options
|
|
73
66
|
* @returns Dynamic module
|
|
74
67
|
*
|
|
75
68
|
* @example
|
|
76
69
|
* ```typescript
|
|
70
|
+
* // Basic setup (no built-in behaviors)
|
|
71
|
+
* NestMediatorModule.forRoot()
|
|
72
|
+
*
|
|
77
73
|
* // Enable built-in behaviors
|
|
78
|
-
* NestMediatorModule.
|
|
74
|
+
* NestMediatorModule.forRoot({
|
|
79
75
|
* enableLogging: true,
|
|
80
76
|
* enableValidation: true,
|
|
81
77
|
* enableExceptionHandling: true,
|
|
@@ -84,12 +80,12 @@ let NestMediatorModule = NestMediatorModule_1 = class NestMediatorModule {
|
|
|
84
80
|
* })
|
|
85
81
|
*
|
|
86
82
|
* // With custom behaviors
|
|
87
|
-
* NestMediatorModule.
|
|
83
|
+
* NestMediatorModule.forRoot({
|
|
88
84
|
* behaviors: [MyCustomBehavior],
|
|
89
85
|
* })
|
|
90
86
|
* ```
|
|
91
87
|
*/
|
|
92
|
-
static
|
|
88
|
+
static forRoot(options = {}) {
|
|
93
89
|
const builtInProviders = [];
|
|
94
90
|
// Add built-in behaviors based on options
|
|
95
91
|
if (options.enableExceptionHandling) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest-mediator.module.js","sourceRoot":"","sources":["../../src/lib/nest-mediator.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,uCAA4E;AAC5E,kDAAkD;AAClD,oDAI+B;AAS/B,mDAK8B;AAkD9B;;GAEG;AACU,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAGtD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAC7B,YACmB,WAAwB,EACxB,SAAoB,EACpB,gBAAkC;QAFlC,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAW;QACpB,qBAAgB,GAAhB,gBAAgB,CAAkB;IAClD,CAAC;IAEJ,YAAY;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEvD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;YAC1D,MAAM,aAAa,GACjB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC;YAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAgB,CAAC;YAE7C,4BAA4B;YAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,mCAAwB,EACxB,WAAW,CACZ,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,+CAA+C,WAAW,CAAC,IAAI,iBAAiB,eAAe,CAAC,IAAI,EAAE,CACvG,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CACrC,eAAe,EACf,WAAyC,CAC1C,CAAC;YACJ,CAAC;YAED,0BAA0B;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,iCAAsB,EACtB,WAAW,CACZ,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACT,6CAA6C,WAAW,CAAC,IAAI,eAAe,aAAa,CAAC,IAAI,EAAE,CACjG,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACnC,aAAa,EACb,WAA4C,CAC7C,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACzC,qCAA0B,EAC1B,WAAW,CACZ,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CACT,iDAAiD,WAAW,CAAC,IAAI,eAAe,gBAAgB,CAAC,QAAQ,IAAI,CAAC,YAAY,gBAAgB,CAAC,KAAK,IAAI,KAAK,GAAG,CAC7J,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,wBAAwB,CACvC,WAAgD,EAChD,gBAAgB,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"nest-mediator.module.js","sourceRoot":"","sources":["../../src/lib/nest-mediator.module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolandsall24/nest-mediator",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "A lightweight CQRS (Command Query Responsibility Segregation) mediator pattern implementation for NestJS applications",
|
|
5
5
|
"author": "Roland Salloum",
|
|
6
6
|
"license": "MIT",
|