@nestjs-transactional/cqrs 1.0.0 → 2.0.0
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 +14 -0
- package/dist/decorators/integration-events-handler.decorator.js +9 -14
- package/dist/decorators/integration-events-handler.decorator.js.map +1 -1
- package/dist/decorators/transactional-events-handler.decorator.d.ts +1 -1
- package/dist/decorators/transactional-events-handler.decorator.js +12 -17
- package/dist/decorators/transactional-events-handler.decorator.js.map +1 -1
- package/dist/event-dispatcher/event-dispatcher.d.ts +1 -1
- package/dist/event-dispatcher/event-dispatcher.js +15 -19
- package/dist/event-dispatcher/event-dispatcher.js.map +1 -1
- package/dist/event-publisher/hybrid-event-publisher.d.ts +1 -1
- package/dist/event-publisher/hybrid-event-publisher.js +9 -12
- package/dist/event-publisher/hybrid-event-publisher.js.map +1 -1
- package/dist/event-publisher/transactional-event-publisher-adapter.d.ts +15 -4
- package/dist/event-publisher/transactional-event-publisher-adapter.js +20 -12
- package/dist/event-publisher/transactional-event-publisher-adapter.js.map +1 -1
- package/dist/event-publisher/transactional-event-publisher.d.ts +1 -1
- package/dist/event-publisher/transactional-event-publisher.js +6 -9
- package/dist/event-publisher/transactional-event-publisher.js.map +1 -1
- package/dist/handlers/bootstrap.d.ts +1 -1
- package/dist/handlers/bootstrap.js +6 -9
- package/dist/handlers/bootstrap.js.map +1 -1
- package/dist/handlers/handler-wrapper.js +16 -19
- package/dist/handlers/handler-wrapper.js.map +1 -1
- package/dist/handlers/integration-events-handler-scanner.d.ts +2 -2
- package/dist/handlers/integration-events-handler-scanner.js +19 -22
- package/dist/handlers/integration-events-handler-scanner.js.map +1 -1
- package/dist/handlers/listener-scanner.d.ts +1 -1
- package/dist/handlers/listener-scanner.js +11 -14
- package/dist/handlers/listener-scanner.js.map +1 -1
- package/dist/handlers/outbox-listener-registrar.js +1 -4
- package/dist/handlers/outbox-listener-registrar.js.map +1 -1
- package/dist/index.d.ts +15 -15
- package/dist/index.js +13 -36
- package/dist/index.js.map +1 -1
- package/dist/interfaces/integration-event-handler.interface.js +1 -2
- package/dist/interfaces/transactional-event-handler.interface.js +1 -2
- package/dist/module/cqrs-transactional.module.d.ts +1 -1
- package/dist/module/cqrs-transactional.module.js +33 -36
- package/dist/module/cqrs-transactional.module.js.map +1 -1
- package/dist/types/transactional-listener.types.js +2 -5
- package/dist/types/transactional-listener.types.js.map +1 -1
- package/package.json +22 -19
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -12,12 +11,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
13
|
var CqrsHandlerWrapper_1;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const core_1 = require("@nestjs/core");
|
|
20
|
-
const core_2 = require("@nestjs-transactional/core");
|
|
14
|
+
import 'reflect-metadata';
|
|
15
|
+
import { Inject, Injectable, Logger } from '@nestjs/common';
|
|
16
|
+
import { DiscoveryService } from '@nestjs/core';
|
|
17
|
+
import { PropagationMode, TRANSACTIONAL_METADATA, TransactionManager, getTransactionalMetadata, } from '@nestjs-transactional/core';
|
|
21
18
|
/**
|
|
22
19
|
* Metadata keys written by `@nestjs/cqrs`'s `@CommandHandler` /
|
|
23
20
|
* `@QueryHandler` / `@EventsHandler` decorators onto the handler class
|
|
@@ -48,7 +45,7 @@ const WRAPPED_MARKER = Symbol.for('@nestjs-transactional/wrapped');
|
|
|
48
45
|
* options via this token so `CqrsTransactionalModule` can provide them
|
|
49
46
|
* synchronously or asynchronously.
|
|
50
47
|
*/
|
|
51
|
-
|
|
48
|
+
export const CQRS_HANDLER_WRAPPER_OPTIONS = Symbol('CQRS_HANDLER_WRAPPER_OPTIONS');
|
|
52
49
|
/**
|
|
53
50
|
* Wraps the `execute` (or `handle`) method of every `@CommandHandler` /
|
|
54
51
|
* `@QueryHandler` / `@EventsHandler` class prototype with a transaction,
|
|
@@ -81,7 +78,7 @@ let CqrsHandlerWrapper = class CqrsHandlerWrapper {
|
|
|
81
78
|
discovery;
|
|
82
79
|
manager;
|
|
83
80
|
options;
|
|
84
|
-
logger = new
|
|
81
|
+
logger = new Logger(CqrsHandlerWrapper_1.name);
|
|
85
82
|
/**
|
|
86
83
|
* Tracks every prototype the wrapper has mutated so
|
|
87
84
|
* {@link CqrsHandlerWrapper.resetForTesting} can restore the
|
|
@@ -202,11 +199,11 @@ let CqrsHandlerWrapper = class CqrsHandlerWrapper {
|
|
|
202
199
|
return manager.run(resolved, () => Promise.resolve(original.apply(this, args)));
|
|
203
200
|
};
|
|
204
201
|
Reflect.defineMetadata(WRAPPED_MARKER, true, wrapped);
|
|
205
|
-
Reflect.defineMetadata(
|
|
202
|
+
Reflect.defineMetadata(TRANSACTIONAL_METADATA, resolved, wrapped);
|
|
206
203
|
proto[methodName] = wrapped;
|
|
207
204
|
CqrsHandlerWrapper_1.wrappedPrototypes.set(metatype, { methodName, originalMethod: original });
|
|
208
205
|
this.logger.debug(`Wrapped ${kind} handler ${metatype.name}.prototype.${methodName} ` +
|
|
209
|
-
`(propagation=${resolved.propagation ??
|
|
206
|
+
`(propagation=${resolved.propagation ?? PropagationMode.REQUIRED})`);
|
|
210
207
|
return true;
|
|
211
208
|
}
|
|
212
209
|
/**
|
|
@@ -215,7 +212,7 @@ let CqrsHandlerWrapper = class CqrsHandlerWrapper {
|
|
|
215
212
|
* nothing applies — the handler is then left unwrapped.
|
|
216
213
|
*/
|
|
217
214
|
resolveMetadata(method, metatype, kind) {
|
|
218
|
-
const explicit =
|
|
215
|
+
const explicit = getTransactionalMetadata(method) ?? getTransactionalMetadata(metatype);
|
|
219
216
|
if (explicit !== undefined) {
|
|
220
217
|
return explicit;
|
|
221
218
|
}
|
|
@@ -223,7 +220,7 @@ let CqrsHandlerWrapper = class CqrsHandlerWrapper {
|
|
|
223
220
|
if (defaults === undefined) {
|
|
224
221
|
return undefined;
|
|
225
222
|
}
|
|
226
|
-
return { propagation:
|
|
223
|
+
return { propagation: PropagationMode.REQUIRED, ...defaults };
|
|
227
224
|
}
|
|
228
225
|
pickDefaults(kind) {
|
|
229
226
|
switch (kind) {
|
|
@@ -236,11 +233,11 @@ let CqrsHandlerWrapper = class CqrsHandlerWrapper {
|
|
|
236
233
|
}
|
|
237
234
|
}
|
|
238
235
|
};
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
(
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
core_2.TransactionManager, Object])
|
|
236
|
+
CqrsHandlerWrapper = CqrsHandlerWrapper_1 = __decorate([
|
|
237
|
+
Injectable(),
|
|
238
|
+
__param(2, Inject(CQRS_HANDLER_WRAPPER_OPTIONS)),
|
|
239
|
+
__metadata("design:paramtypes", [DiscoveryService,
|
|
240
|
+
TransactionManager, Object])
|
|
245
241
|
], CqrsHandlerWrapper);
|
|
242
|
+
export { CqrsHandlerWrapper };
|
|
246
243
|
//# sourceMappingURL=handler-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-wrapper.js","sourceRoot":"","sources":["../../src/handlers/handler-wrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler-wrapper.js","sourceRoot":"","sources":["../../src/handlers/handler-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { DiscoveryService } from '@nestjs/core';
|
|
3
3
|
import { TransactionManager } from '@nestjs-transactional/core';
|
|
4
|
-
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher';
|
|
5
|
-
import { type OutboxListenerRegistrar } from './outbox-listener-registrar';
|
|
4
|
+
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher.js';
|
|
5
|
+
import { type OutboxListenerRegistrar } from './outbox-listener-registrar.js';
|
|
6
6
|
/**
|
|
7
7
|
* Bootstrap-time scanner for `@IntegrationEventsHandler`-annotated
|
|
8
8
|
* classes. Decides at startup which delivery path to wire based on
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -12,15 +11,13 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
13
|
var IntegrationEventsHandlerScanner_1;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const transactional_listener_types_1 = require("../types/transactional-listener.types");
|
|
23
|
-
const outbox_listener_registrar_1 = require("./outbox-listener-registrar");
|
|
14
|
+
import { Inject, Injectable, Logger, Optional } from '@nestjs/common';
|
|
15
|
+
import { DiscoveryService } from '@nestjs/core';
|
|
16
|
+
import { PropagationMode, TransactionManager } from '@nestjs-transactional/core';
|
|
17
|
+
import { getIntegrationEventsHandlerMetadata, } from '../decorators/integration-events-handler.decorator.js';
|
|
18
|
+
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher.js';
|
|
19
|
+
import { TransactionPhase } from '../types/transactional-listener.types.js';
|
|
20
|
+
import { OUTBOX_LISTENER_REGISTRAR, } from './outbox-listener-registrar.js';
|
|
24
21
|
/**
|
|
25
22
|
* Bootstrap-time scanner for `@IntegrationEventsHandler`-annotated
|
|
26
23
|
* classes. Decides at startup which delivery path to wire based on
|
|
@@ -46,7 +43,7 @@ let IntegrationEventsHandlerScanner = IntegrationEventsHandlerScanner_1 = class
|
|
|
46
43
|
dispatcher;
|
|
47
44
|
manager;
|
|
48
45
|
registrar;
|
|
49
|
-
logger = new
|
|
46
|
+
logger = new Logger(IntegrationEventsHandlerScanner_1.name);
|
|
50
47
|
constructor(discovery, dispatcher, manager, registrar) {
|
|
51
48
|
this.discovery = discovery;
|
|
52
49
|
this.dispatcher = dispatcher;
|
|
@@ -62,7 +59,7 @@ let IntegrationEventsHandlerScanner = IntegrationEventsHandlerScanner_1 = class
|
|
|
62
59
|
wrapper.instance === undefined) {
|
|
63
60
|
continue;
|
|
64
61
|
}
|
|
65
|
-
const metadata =
|
|
62
|
+
const metadata = getIntegrationEventsHandlerMetadata(wrapper.metatype);
|
|
66
63
|
if (metadata === undefined) {
|
|
67
64
|
continue;
|
|
68
65
|
}
|
|
@@ -85,7 +82,7 @@ let IntegrationEventsHandlerScanner = IntegrationEventsHandlerScanner_1 = class
|
|
|
85
82
|
registerToOutbox(instance, metadata, boundHandle, registrar) {
|
|
86
83
|
const manager = this.manager;
|
|
87
84
|
const invoke = async (event) => {
|
|
88
|
-
await manager.run({ propagation:
|
|
85
|
+
await manager.run({ propagation: PropagationMode.REQUIRES_NEW }, async () => {
|
|
89
86
|
await boundHandle(event);
|
|
90
87
|
});
|
|
91
88
|
};
|
|
@@ -116,7 +113,7 @@ let IntegrationEventsHandlerScanner = IntegrationEventsHandlerScanner_1 = class
|
|
|
116
113
|
for (const eventType of metadata.eventTypes) {
|
|
117
114
|
this.dispatcher.registerListener(proxy, 'handle', {
|
|
118
115
|
eventType,
|
|
119
|
-
phase:
|
|
116
|
+
phase: TransactionPhase.AFTER_COMMIT,
|
|
120
117
|
async: true,
|
|
121
118
|
fallbackExecution: false,
|
|
122
119
|
dataSource: metadata.dataSource,
|
|
@@ -124,15 +121,15 @@ let IntegrationEventsHandlerScanner = IntegrationEventsHandlerScanner_1 = class
|
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
123
|
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
(
|
|
130
|
-
__param(3, (
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
core_2.TransactionManager, Object])
|
|
124
|
+
IntegrationEventsHandlerScanner = IntegrationEventsHandlerScanner_1 = __decorate([
|
|
125
|
+
Injectable(),
|
|
126
|
+
__param(3, Optional()),
|
|
127
|
+
__param(3, Inject(OUTBOX_LISTENER_REGISTRAR)),
|
|
128
|
+
__metadata("design:paramtypes", [DiscoveryService,
|
|
129
|
+
TransactionalEventDispatcher,
|
|
130
|
+
TransactionManager, Object])
|
|
135
131
|
], IntegrationEventsHandlerScanner);
|
|
132
|
+
export { IntegrationEventsHandlerScanner };
|
|
136
133
|
/**
|
|
137
134
|
* Compose the stable listener id. Always ends with `#${EventName}`
|
|
138
135
|
* so a single class handling multiple event types gets distinct ids
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-events-handler-scanner.js","sourceRoot":"","sources":["../../src/handlers/integration-events-handler-scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"integration-events-handler-scanner.js","sourceRoot":"","sources":["../../src/handlers/integration-events-handler-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { DiscoveryService } from '@nestjs/core';
|
|
3
|
-
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher';
|
|
3
|
+
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher.js';
|
|
4
4
|
/**
|
|
5
5
|
* Bootstrap-time scanner that walks every provider in the running
|
|
6
6
|
* Nest application, finds every class decorated with
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -9,12 +8,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
10
|
var TransactionalListenerScanner_1;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const transactional_events_handler_decorator_1 = require("../decorators/transactional-events-handler.decorator");
|
|
17
|
-
const event_dispatcher_1 = require("../event-dispatcher/event-dispatcher");
|
|
11
|
+
import { Injectable, Logger } from '@nestjs/common';
|
|
12
|
+
import { DiscoveryService } from '@nestjs/core';
|
|
13
|
+
import { getTransactionalEventsHandlerMetadata } from '../decorators/transactional-events-handler.decorator.js';
|
|
14
|
+
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher.js';
|
|
18
15
|
/**
|
|
19
16
|
* Bootstrap-time scanner that walks every provider in the running
|
|
20
17
|
* Nest application, finds every class decorated with
|
|
@@ -40,7 +37,7 @@ const event_dispatcher_1 = require("../event-dispatcher/event-dispatcher");
|
|
|
40
37
|
let TransactionalListenerScanner = TransactionalListenerScanner_1 = class TransactionalListenerScanner {
|
|
41
38
|
discovery;
|
|
42
39
|
dispatcher;
|
|
43
|
-
logger = new
|
|
40
|
+
logger = new Logger(TransactionalListenerScanner_1.name);
|
|
44
41
|
constructor(discovery, dispatcher) {
|
|
45
42
|
this.discovery = discovery;
|
|
46
43
|
this.dispatcher = dispatcher;
|
|
@@ -54,7 +51,7 @@ let TransactionalListenerScanner = TransactionalListenerScanner_1 = class Transa
|
|
|
54
51
|
wrapper.instance === undefined) {
|
|
55
52
|
continue;
|
|
56
53
|
}
|
|
57
|
-
const metadata =
|
|
54
|
+
const metadata = getTransactionalEventsHandlerMetadata(wrapper.metatype);
|
|
58
55
|
if (metadata === undefined) {
|
|
59
56
|
continue;
|
|
60
57
|
}
|
|
@@ -77,10 +74,10 @@ let TransactionalListenerScanner = TransactionalListenerScanner_1 = class Transa
|
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
};
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
(
|
|
83
|
-
|
|
84
|
-
event_dispatcher_1.TransactionalEventDispatcher])
|
|
77
|
+
TransactionalListenerScanner = TransactionalListenerScanner_1 = __decorate([
|
|
78
|
+
Injectable(),
|
|
79
|
+
__metadata("design:paramtypes", [DiscoveryService,
|
|
80
|
+
TransactionalEventDispatcher])
|
|
85
81
|
], TransactionalListenerScanner);
|
|
82
|
+
export { TransactionalListenerScanner };
|
|
86
83
|
//# sourceMappingURL=listener-scanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener-scanner.js","sourceRoot":"","sources":["../../src/handlers/listener-scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listener-scanner.js","sourceRoot":"","sources":["../../src/handlers/listener-scanner.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAqB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,qCAAqC,EAAE,MAAM,yDAAyD,CAAC;AAChH,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEI,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAIpB;IACA;IAJF,MAAM,GAAG,IAAI,MAAM,CAAC,8BAA4B,CAAC,IAAI,CAAC,CAAC;IAExE,YACmB,SAA2B,EAC3B,UAAwC;QADxC,cAAS,GAAT,SAAS,CAAkB;QAC3B,eAAU,GAAV,UAAU,CAA8B;IACxD,CAAC;IAEJ,YAAY;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEhD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,IACE,OAAO,CAAC,QAAQ,KAAK,IAAI;gBACzB,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;gBACtC,OAAO,CAAC,QAAQ,KAAK,IAAI;gBACzB,OAAO,CAAC,QAAQ,KAAK,SAAS,EAC9B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,qCAAqC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAW,OAAO,CAAC,QAAkB,CAAC;YACpD,MAAM,YAAY,GAAI,QAAoC,CAAC,MAAM,CAAC;YAClE,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAI,OAAO,CAAC,QAA8B,CAAC,IAAI,IAAI,WAAW,CAAC;gBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,SAAS,+CAA+C,CAC3F,CAAC;gBACF,SAAS;YACX,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE;oBACnD,SAAS;oBACT,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;oBAC7C,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,4BAA4B;IADxC,UAAU,EAAE;qCAKmB,gBAAgB;QACf,4BAA4B;GALhD,4BAA4B,CA+CxC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OUTBOX_LISTENER_REGISTRAR = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* DI token for the optional {@link OutboxListenerRegistrar} injected
|
|
6
3
|
* into `IntegrationEventsHandlerScanner`. When unbound, the scanner
|
|
@@ -13,5 +10,5 @@ exports.OUTBOX_LISTENER_REGISTRAR = void 0;
|
|
|
13
10
|
* refer to the same Symbol identity without a direct import in
|
|
14
11
|
* either direction.
|
|
15
12
|
*/
|
|
16
|
-
|
|
13
|
+
export const OUTBOX_LISTENER_REGISTRAR = Symbol.for('@nestjs-transactional/cqrs/outbox-listener-registrar');
|
|
17
14
|
//# sourceMappingURL=outbox-listener-registrar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox-listener-registrar.js","sourceRoot":"","sources":["../../src/handlers/outbox-listener-registrar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outbox-listener-registrar.js","sourceRoot":"","sources":["../../src/handlers/outbox-listener-registrar.ts"],"names":[],"mappings":"AAoCA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CACjD,sDAAsD,CACvD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { TransactionPhase } from './types/transactional-listener.types';
|
|
2
|
-
export { TRANSACTIONAL_EVENTS_HANDLER_METADATA, TransactionalEventsHandler, getTransactionalEventsHandlerMetadata, type TransactionalEventsHandlerMetadata, type TransactionalEventsHandlerOptions, } from './decorators/transactional-events-handler.decorator';
|
|
3
|
-
export { INTEGRATION_EVENTS_HANDLER_METADATA, IntegrationEventsHandler, getIntegrationEventsHandlerMetadata, type IntegrationEventsHandlerMetadata, type IntegrationEventsHandlerOptions, } from './decorators/integration-events-handler.decorator';
|
|
4
|
-
export type { ITransactionalEventHandler } from './interfaces/transactional-event-handler.interface';
|
|
5
|
-
export type { IIntegrationEventHandler } from './interfaces/integration-event-handler.interface';
|
|
6
|
-
export { TransactionalEventDispatcher, type DispatcherListenerMetadata, } from './event-dispatcher/event-dispatcher';
|
|
7
|
-
export { TransactionalListenerScanner } from './handlers/listener-scanner';
|
|
8
|
-
export { IntegrationEventsHandlerScanner } from './handlers/integration-events-handler-scanner';
|
|
9
|
-
export { OUTBOX_LISTENER_REGISTRAR, type OutboxListenerRegistrar, } from './handlers/outbox-listener-registrar';
|
|
10
|
-
export { CQRS_HANDLER_WRAPPER_OPTIONS, CqrsHandlerWrapper, type HandlerWrapperOptions, } from './handlers/handler-wrapper';
|
|
11
|
-
export { CqrsTransactionalBootstrap } from './handlers/bootstrap';
|
|
12
|
-
export { TransactionalEventPublisher } from './event-publisher/transactional-event-publisher';
|
|
13
|
-
export { type AggregateConstructor, TransactionalEventPublisherAdapter, } from './event-publisher/transactional-event-publisher-adapter';
|
|
14
|
-
export { HybridEventPublisher, OUTBOX_PUBLICATION_SCHEDULER, type OutboxPublicationScheduler, } from './event-publisher/hybrid-event-publisher';
|
|
15
|
-
export { CQRS_TRANSACTIONAL_OPTIONS, CqrsTransactionalModule, type CqrsTransactionalAsyncFactoryResult, type CqrsTransactionalAsyncOptions, type CqrsTransactionalOptions, } from './module/cqrs-transactional.module';
|
|
1
|
+
export { TransactionPhase } from './types/transactional-listener.types.js';
|
|
2
|
+
export { TRANSACTIONAL_EVENTS_HANDLER_METADATA, TransactionalEventsHandler, getTransactionalEventsHandlerMetadata, type TransactionalEventsHandlerMetadata, type TransactionalEventsHandlerOptions, } from './decorators/transactional-events-handler.decorator.js';
|
|
3
|
+
export { INTEGRATION_EVENTS_HANDLER_METADATA, IntegrationEventsHandler, getIntegrationEventsHandlerMetadata, type IntegrationEventsHandlerMetadata, type IntegrationEventsHandlerOptions, } from './decorators/integration-events-handler.decorator.js';
|
|
4
|
+
export type { ITransactionalEventHandler } from './interfaces/transactional-event-handler.interface.js';
|
|
5
|
+
export type { IIntegrationEventHandler } from './interfaces/integration-event-handler.interface.js';
|
|
6
|
+
export { TransactionalEventDispatcher, type DispatcherListenerMetadata, } from './event-dispatcher/event-dispatcher.js';
|
|
7
|
+
export { TransactionalListenerScanner } from './handlers/listener-scanner.js';
|
|
8
|
+
export { IntegrationEventsHandlerScanner } from './handlers/integration-events-handler-scanner.js';
|
|
9
|
+
export { OUTBOX_LISTENER_REGISTRAR, type OutboxListenerRegistrar, } from './handlers/outbox-listener-registrar.js';
|
|
10
|
+
export { CQRS_HANDLER_WRAPPER_OPTIONS, CqrsHandlerWrapper, type HandlerWrapperOptions, } from './handlers/handler-wrapper.js';
|
|
11
|
+
export { CqrsTransactionalBootstrap } from './handlers/bootstrap.js';
|
|
12
|
+
export { TransactionalEventPublisher } from './event-publisher/transactional-event-publisher.js';
|
|
13
|
+
export { type AggregateConstructor, TransactionalEventPublisherAdapter, } from './event-publisher/transactional-event-publisher-adapter.js';
|
|
14
|
+
export { HybridEventPublisher, OUTBOX_PUBLICATION_SCHEDULER, type OutboxPublicationScheduler, } from './event-publisher/hybrid-event-publisher.js';
|
|
15
|
+
export { CQRS_TRANSACTIONAL_OPTIONS, CqrsTransactionalModule, type CqrsTransactionalAsyncFactoryResult, type CqrsTransactionalAsyncOptions, type CqrsTransactionalOptions, } from './module/cqrs-transactional.module.js';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,37 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var event_dispatcher_1 = require("./event-dispatcher/event-dispatcher");
|
|
15
|
-
Object.defineProperty(exports, "TransactionalEventDispatcher", { enumerable: true, get: function () { return event_dispatcher_1.TransactionalEventDispatcher; } });
|
|
16
|
-
var listener_scanner_1 = require("./handlers/listener-scanner");
|
|
17
|
-
Object.defineProperty(exports, "TransactionalListenerScanner", { enumerable: true, get: function () { return listener_scanner_1.TransactionalListenerScanner; } });
|
|
18
|
-
var integration_events_handler_scanner_1 = require("./handlers/integration-events-handler-scanner");
|
|
19
|
-
Object.defineProperty(exports, "IntegrationEventsHandlerScanner", { enumerable: true, get: function () { return integration_events_handler_scanner_1.IntegrationEventsHandlerScanner; } });
|
|
20
|
-
var outbox_listener_registrar_1 = require("./handlers/outbox-listener-registrar");
|
|
21
|
-
Object.defineProperty(exports, "OUTBOX_LISTENER_REGISTRAR", { enumerable: true, get: function () { return outbox_listener_registrar_1.OUTBOX_LISTENER_REGISTRAR; } });
|
|
22
|
-
var handler_wrapper_1 = require("./handlers/handler-wrapper");
|
|
23
|
-
Object.defineProperty(exports, "CQRS_HANDLER_WRAPPER_OPTIONS", { enumerable: true, get: function () { return handler_wrapper_1.CQRS_HANDLER_WRAPPER_OPTIONS; } });
|
|
24
|
-
Object.defineProperty(exports, "CqrsHandlerWrapper", { enumerable: true, get: function () { return handler_wrapper_1.CqrsHandlerWrapper; } });
|
|
25
|
-
var bootstrap_1 = require("./handlers/bootstrap");
|
|
26
|
-
Object.defineProperty(exports, "CqrsTransactionalBootstrap", { enumerable: true, get: function () { return bootstrap_1.CqrsTransactionalBootstrap; } });
|
|
27
|
-
var transactional_event_publisher_1 = require("./event-publisher/transactional-event-publisher");
|
|
28
|
-
Object.defineProperty(exports, "TransactionalEventPublisher", { enumerable: true, get: function () { return transactional_event_publisher_1.TransactionalEventPublisher; } });
|
|
29
|
-
var transactional_event_publisher_adapter_1 = require("./event-publisher/transactional-event-publisher-adapter");
|
|
30
|
-
Object.defineProperty(exports, "TransactionalEventPublisherAdapter", { enumerable: true, get: function () { return transactional_event_publisher_adapter_1.TransactionalEventPublisherAdapter; } });
|
|
31
|
-
var hybrid_event_publisher_1 = require("./event-publisher/hybrid-event-publisher");
|
|
32
|
-
Object.defineProperty(exports, "HybridEventPublisher", { enumerable: true, get: function () { return hybrid_event_publisher_1.HybridEventPublisher; } });
|
|
33
|
-
Object.defineProperty(exports, "OUTBOX_PUBLICATION_SCHEDULER", { enumerable: true, get: function () { return hybrid_event_publisher_1.OUTBOX_PUBLICATION_SCHEDULER; } });
|
|
34
|
-
var cqrs_transactional_module_1 = require("./module/cqrs-transactional.module");
|
|
35
|
-
Object.defineProperty(exports, "CQRS_TRANSACTIONAL_OPTIONS", { enumerable: true, get: function () { return cqrs_transactional_module_1.CQRS_TRANSACTIONAL_OPTIONS; } });
|
|
36
|
-
Object.defineProperty(exports, "CqrsTransactionalModule", { enumerable: true, get: function () { return cqrs_transactional_module_1.CqrsTransactionalModule; } });
|
|
1
|
+
export { TransactionPhase } from './types/transactional-listener.types.js';
|
|
2
|
+
export { TRANSACTIONAL_EVENTS_HANDLER_METADATA, TransactionalEventsHandler, getTransactionalEventsHandlerMetadata, } from './decorators/transactional-events-handler.decorator.js';
|
|
3
|
+
export { INTEGRATION_EVENTS_HANDLER_METADATA, IntegrationEventsHandler, getIntegrationEventsHandlerMetadata, } from './decorators/integration-events-handler.decorator.js';
|
|
4
|
+
export { TransactionalEventDispatcher, } from './event-dispatcher/event-dispatcher.js';
|
|
5
|
+
export { TransactionalListenerScanner } from './handlers/listener-scanner.js';
|
|
6
|
+
export { IntegrationEventsHandlerScanner } from './handlers/integration-events-handler-scanner.js';
|
|
7
|
+
export { OUTBOX_LISTENER_REGISTRAR, } from './handlers/outbox-listener-registrar.js';
|
|
8
|
+
export { CQRS_HANDLER_WRAPPER_OPTIONS, CqrsHandlerWrapper, } from './handlers/handler-wrapper.js';
|
|
9
|
+
export { CqrsTransactionalBootstrap } from './handlers/bootstrap.js';
|
|
10
|
+
export { TransactionalEventPublisher } from './event-publisher/transactional-event-publisher.js';
|
|
11
|
+
export { TransactionalEventPublisherAdapter, } from './event-publisher/transactional-event-publisher-adapter.js';
|
|
12
|
+
export { HybridEventPublisher, OUTBOX_PUBLICATION_SCHEDULER, } from './event-publisher/hybrid-event-publisher.js';
|
|
13
|
+
export { CQRS_TRANSACTIONAL_OPTIONS, CqrsTransactionalModule, } from './module/cqrs-transactional.module.js';
|
|
37
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,EACL,qCAAqC,EACrC,0BAA0B,EAC1B,qCAAqC,GAGtC,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,mCAAmC,GAGpC,MAAM,sDAAsD,CAAC;AAK9D,OAAO,EACL,4BAA4B,GAE7B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EACL,yBAAyB,GAE1B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,GAEnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAEL,kCAAkC,GACnC,MAAM,4DAA4D,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAE7B,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAIxB,MAAM,uCAAuC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DynamicModule, type InjectionToken, type ModuleMetadata } from '@nestjs/common';
|
|
2
|
-
import { type HandlerWrapperOptions } from '../handlers/handler-wrapper';
|
|
2
|
+
import { type HandlerWrapperOptions } from '../handlers/handler-wrapper.js';
|
|
3
3
|
/**
|
|
4
4
|
* DI token for the resolved {@link CqrsTransactionalOptions} object.
|
|
5
5
|
* Consumers normally do not inject this directly — it is used by the
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
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;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const integration_events_handler_scanner_1 = require("../handlers/integration-events-handler-scanner");
|
|
21
|
-
const listener_scanner_1 = require("../handlers/listener-scanner");
|
|
7
|
+
import { Module, } from '@nestjs/common';
|
|
8
|
+
import { DiscoveryModule, DiscoveryService } from '@nestjs/core';
|
|
9
|
+
import { CqrsModule, EventBus, EventPublisher } from '@nestjs/cqrs';
|
|
10
|
+
import { TransactionManager } from '@nestjs-transactional/core';
|
|
11
|
+
import { TransactionalEventDispatcher } from '../event-dispatcher/event-dispatcher.js';
|
|
12
|
+
import { HybridEventPublisher } from '../event-publisher/hybrid-event-publisher.js';
|
|
13
|
+
import { TransactionalEventPublisherAdapter } from '../event-publisher/transactional-event-publisher-adapter.js';
|
|
14
|
+
import { TransactionalEventPublisher } from '../event-publisher/transactional-event-publisher.js';
|
|
15
|
+
import { CqrsTransactionalBootstrap } from '../handlers/bootstrap.js';
|
|
16
|
+
import { CqrsHandlerWrapper } from '../handlers/handler-wrapper.js';
|
|
17
|
+
import { IntegrationEventsHandlerScanner } from '../handlers/integration-events-handler-scanner.js';
|
|
18
|
+
import { TransactionalListenerScanner } from '../handlers/listener-scanner.js';
|
|
22
19
|
/**
|
|
23
20
|
* DI token for the resolved {@link CqrsTransactionalOptions} object.
|
|
24
21
|
* Consumers normally do not inject this directly — it is used by the
|
|
25
22
|
* module's internal factory to pass options to {@link CqrsHandlerWrapper}.
|
|
26
23
|
*/
|
|
27
|
-
|
|
24
|
+
export const CQRS_TRANSACTIONAL_OPTIONS = 'CQRS_TRANSACTIONAL_OPTIONS';
|
|
28
25
|
/**
|
|
29
26
|
* Single source of truth for the option defaults, so `forRoot` and
|
|
30
27
|
* `forRootAsync` cannot drift apart.
|
|
@@ -105,7 +102,7 @@ let CqrsTransactionalModule = class CqrsTransactionalModule {
|
|
|
105
102
|
static forRoot(options = {}) {
|
|
106
103
|
return buildModule({
|
|
107
104
|
optionsProvider: {
|
|
108
|
-
provide:
|
|
105
|
+
provide: CQRS_TRANSACTIONAL_OPTIONS,
|
|
109
106
|
useValue: resolveWrapperOptions(options),
|
|
110
107
|
},
|
|
111
108
|
useTransactionalEventPublisher: options.useTransactionalEventPublisher ?? true,
|
|
@@ -130,7 +127,7 @@ let CqrsTransactionalModule = class CqrsTransactionalModule {
|
|
|
130
127
|
*/
|
|
131
128
|
static forRootAsync(options) {
|
|
132
129
|
const optionsProvider = {
|
|
133
|
-
provide:
|
|
130
|
+
provide: CQRS_TRANSACTIONAL_OPTIONS,
|
|
134
131
|
useFactory: async (...args) => resolveWrapperOptions(await options.useFactory(...args)),
|
|
135
132
|
inject: options.inject ? [...options.inject] : undefined,
|
|
136
133
|
};
|
|
@@ -141,10 +138,10 @@ let CqrsTransactionalModule = class CqrsTransactionalModule {
|
|
|
141
138
|
});
|
|
142
139
|
}
|
|
143
140
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
(0, common_1.Module)({})
|
|
141
|
+
CqrsTransactionalModule = __decorate([
|
|
142
|
+
Module({})
|
|
147
143
|
], CqrsTransactionalModule);
|
|
144
|
+
export { CqrsTransactionalModule };
|
|
148
145
|
/**
|
|
149
146
|
* Shared module shape for both registration paths. The only difference
|
|
150
147
|
* between them is how {@link CQRS_TRANSACTIONAL_OPTIONS} is provided —
|
|
@@ -154,37 +151,37 @@ exports.CqrsTransactionalModule = CqrsTransactionalModule = __decorate([
|
|
|
154
151
|
function buildModule(args) {
|
|
155
152
|
const providers = [
|
|
156
153
|
args.optionsProvider,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
154
|
+
TransactionalEventDispatcher,
|
|
155
|
+
TransactionalListenerScanner,
|
|
156
|
+
IntegrationEventsHandlerScanner,
|
|
160
157
|
{
|
|
161
|
-
provide:
|
|
162
|
-
useFactory: (discovery, manager, opts) => new
|
|
163
|
-
inject: [
|
|
158
|
+
provide: CqrsHandlerWrapper,
|
|
159
|
+
useFactory: (discovery, manager, opts) => new CqrsHandlerWrapper(discovery, manager, opts),
|
|
160
|
+
inject: [DiscoveryService, TransactionManager, CQRS_TRANSACTIONAL_OPTIONS],
|
|
164
161
|
},
|
|
165
|
-
|
|
162
|
+
CqrsTransactionalBootstrap,
|
|
166
163
|
];
|
|
167
164
|
// NOT named `exports`: in the CommonJS output that shadows the
|
|
168
165
|
// module-level `exports` object, and the TDZ of the local const
|
|
169
166
|
// breaks every earlier `exports.X = ...` assignment in this file.
|
|
170
|
-
const exportTokens = [
|
|
167
|
+
const exportTokens = [TransactionalEventDispatcher];
|
|
171
168
|
if (args.useTransactionalEventPublisher) {
|
|
172
169
|
// Keep TransactionalEventPublisher as a standalone provider for
|
|
173
170
|
// consumers that want the in-memory-only strategy. The adapter
|
|
174
171
|
// itself now routes through HybridEventPublisher, which picks
|
|
175
172
|
// up the optional outbox scheduler via @Optional injection.
|
|
176
|
-
providers.push(
|
|
177
|
-
providers.push(
|
|
173
|
+
providers.push(TransactionalEventPublisher);
|
|
174
|
+
providers.push(HybridEventPublisher);
|
|
178
175
|
providers.push({
|
|
179
|
-
provide:
|
|
180
|
-
useFactory: (strategy, eventBus) => new
|
|
181
|
-
inject: [
|
|
176
|
+
provide: EventPublisher,
|
|
177
|
+
useFactory: (strategy, eventBus) => new TransactionalEventPublisherAdapter(strategy, eventBus),
|
|
178
|
+
inject: [HybridEventPublisher, EventBus],
|
|
182
179
|
});
|
|
183
|
-
exportTokens.push(
|
|
180
|
+
exportTokens.push(TransactionalEventPublisher, HybridEventPublisher, EventPublisher);
|
|
184
181
|
}
|
|
185
182
|
return {
|
|
186
183
|
module: CqrsTransactionalModule,
|
|
187
|
-
imports: [
|
|
184
|
+
imports: [DiscoveryModule, CqrsModule, ...(args.imports ?? [])],
|
|
188
185
|
providers,
|
|
189
186
|
exports: exportTokens,
|
|
190
187
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cqrs-transactional.module.js","sourceRoot":"","sources":["../../src/module/cqrs-transactional.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cqrs-transactional.module.js","sourceRoot":"","sources":["../../src/module/cqrs-transactional.module.ts"],"names":[],"mappings":"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"}
|