@event-nest/core 3.0.0 → 3.1.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/package.json +2 -2
- package/src/index.d.ts +9 -9
- package/src/index.js +9 -9
- package/src/index.js.map +1 -1
- package/src/lib/aggregate-root/aggregate-root-name.d.ts +1 -0
- package/src/lib/aggregate-root/aggregate-root-name.js +1 -0
- package/src/lib/aggregate-root/aggregate-root-name.js.map +1 -1
- package/src/lib/aggregate-root/apply-event.decorator.d.ts +2 -2
- package/src/lib/aggregate-root/apply-event.decorator.js.map +1 -1
- package/src/lib/aggregate-root/reflection.d.ts +2 -2
- package/src/lib/aggregate-root/reflection.js.map +1 -1
- package/src/lib/domain-event-emitter.js +0 -1
- package/src/lib/domain-event-emitter.js.map +1 -1
- package/src/lib/domain-event-registrations.d.ts +2 -2
- package/src/lib/domain-event-registrations.js.map +1 -1
- package/src/lib/domain-event-subscription.d.ts +2 -1
- package/src/lib/domain-event-subscription.js +3 -3
- package/src/lib/domain-event-subscription.js.map +1 -1
- package/src/lib/storage/abstract-event-store.d.ts +1 -0
- package/src/lib/storage/abstract-event-store.js +0 -1
- package/src/lib/storage/abstract-event-store.js.map +1 -1
- package/src/lib/storage/event-store.d.ts +11 -2
- package/src/lib/storage/stored-aggregate-root.d.ts +1 -0
- package/src/lib/storage/stored-aggregate-root.js +3 -0
- package/src/lib/storage/stored-aggregate-root.js.map +1 -1
- package/src/lib/storage/stored-event.d.ts +2 -2
- package/src/lib/storage/stored-event.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@event-nest/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Nick Tsitlakidis",
|
|
6
6
|
"description": "Event sourcing module for NestJS. It provides a set of decorators and classes to build an application based on event sourcing.",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@nestjs/common": "^9.0.0 || ^10.0.0",
|
|
26
26
|
"@nestjs/core": "^9.0.0 || ^10.0.0",
|
|
27
|
-
"reflect-metadata": "0.1.
|
|
27
|
+
"reflect-metadata": "^0.1.12 || ^0.2.0",
|
|
28
28
|
"rxjs": "^7.2.0",
|
|
29
29
|
"tslib": "^2.3.0"
|
|
30
30
|
},
|
package/src/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
export * from "./lib/aggregate-root/aggregate-root";
|
|
2
2
|
export * from "./lib/aggregate-root/aggregate-root-name";
|
|
3
3
|
export * from "./lib/aggregate-root/apply-event.decorator";
|
|
4
|
-
export * from "./lib/
|
|
5
|
-
export * from "./lib/exceptions/unknown-event-exception";
|
|
6
|
-
export * from "./lib/exceptions/missing-aggregate-root-name-exception";
|
|
7
|
-
export * from "./lib/exceptions/event-concurrency-exception";
|
|
4
|
+
export * from "./lib/core-module-options";
|
|
8
5
|
export * from "./lib/domain-event";
|
|
9
|
-
export * from "./lib/
|
|
6
|
+
export * from "./lib/domain-event-emitter";
|
|
10
7
|
export * from "./lib/domain-event-subscription";
|
|
8
|
+
export * from "./lib/exceptions/event-concurrency-exception";
|
|
9
|
+
export * from "./lib/exceptions/event-name-conflict-exception";
|
|
10
|
+
export * from "./lib/exceptions/missing-aggregate-root-name-exception";
|
|
11
|
+
export * from "./lib/exceptions/unknown-event-exception";
|
|
11
12
|
export * from "./lib/on-domain-event";
|
|
12
|
-
export * from "./lib/domain-event
|
|
13
|
-
export * from "./lib/core-module-options";
|
|
14
|
-
export * from "./lib/storage/stored-event";
|
|
15
|
-
export * from "./lib/storage/stored-aggregate-root";
|
|
13
|
+
export * from "./lib/published-domain-event";
|
|
16
14
|
export * from "./lib/storage/abstract-event-store";
|
|
17
15
|
export * from "./lib/storage/event-store";
|
|
16
|
+
export * from "./lib/storage/stored-aggregate-root";
|
|
17
|
+
export * from "./lib/storage/stored-event";
|
|
18
18
|
export * from "./lib/utils/type-utils";
|
package/src/index.js
CHANGED
|
@@ -4,19 +4,19 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./lib/aggregate-root/aggregate-root"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./lib/aggregate-root/aggregate-root-name"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./lib/aggregate-root/apply-event.decorator"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./lib/
|
|
8
|
-
tslib_1.__exportStar(require("./lib/exceptions/unknown-event-exception"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./lib/exceptions/missing-aggregate-root-name-exception"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./lib/exceptions/event-concurrency-exception"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./lib/core-module-options"), exports);
|
|
11
8
|
tslib_1.__exportStar(require("./lib/domain-event"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./lib/
|
|
9
|
+
tslib_1.__exportStar(require("./lib/domain-event-emitter"), exports);
|
|
13
10
|
tslib_1.__exportStar(require("./lib/domain-event-subscription"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./lib/exceptions/event-concurrency-exception"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./lib/exceptions/event-name-conflict-exception"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./lib/exceptions/missing-aggregate-root-name-exception"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./lib/exceptions/unknown-event-exception"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./lib/on-domain-event"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./lib/domain-event
|
|
16
|
-
tslib_1.__exportStar(require("./lib/core-module-options"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./lib/storage/stored-event"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./lib/storage/stored-aggregate-root"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./lib/published-domain-event"), exports);
|
|
19
17
|
tslib_1.__exportStar(require("./lib/storage/abstract-event-store"), exports);
|
|
20
18
|
tslib_1.__exportStar(require("./lib/storage/event-store"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./lib/storage/stored-aggregate-root"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./lib/storage/stored-event"), exports);
|
|
21
21
|
tslib_1.__exportStar(require("./lib/utils/type-utils"), exports);
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":";;;AAAA,8EAAoD;AACpD,mFAAyD;AACzD,qFAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":";;;AAAA,8EAAoD;AACpD,mFAAyD;AACzD,qFAA2D;AAE3D,oEAA0C;AAC1C,6DAAmC;AACnC,qEAA2C;AAC3C,0EAAgD;AAEhD,uFAA6D;AAC7D,yFAA+D;AAC/D,iGAAuE;AAEvE,mFAAyD;AACzD,gEAAsC;AACtC,uEAA6C;AAE7C,6EAAmD;AACnD,oEAA0C;AAC1C,8EAAoD;AACpD,qEAA2C;AAE3C,iEAAuC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAggregateRootName = exports.AggregateRootName = void 0;
|
|
4
|
+
require("reflect-metadata");
|
|
4
5
|
const metadata_keys_1 = require("../metadata-keys");
|
|
5
6
|
/**
|
|
6
7
|
* A decorator to mark an aggregate root class with a unique name. The name will
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-root-name.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/aggregate-root/aggregate-root-name.ts"],"names":[],"mappings":";;;AAAA,oDAA2D;AAE3D;;;;;;;;GAQG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAkB,EAAE;IAC9D,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,OAAO,CAAC,cAAc,CAAC,uCAAuB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACzF,CAAC,CAAC;AACN,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEF,wDAAwD;AACxD,SAAgB,oBAAoB,CAAC,WAAqB;IACtD,OAAO,OAAO,CAAC,WAAW,CAAC,uCAAuB,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC;AACxF,CAAC;AAFD,oDAEC"}
|
|
1
|
+
{"version":3,"file":"aggregate-root-name.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/aggregate-root/aggregate-root-name.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAE1B,oDAA2D;AAE3D;;;;;;;;GAQG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAkB,EAAE;IAC9D,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,OAAO,CAAC,cAAc,CAAC,uCAAuB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACzF,CAAC,CAAC;AACN,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEF,wDAAwD;AACxD,SAAgB,oBAAoB,CAAC,WAAqB;IACtD,OAAO,OAAO,CAAC,WAAW,CAAC,uCAAuB,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC;AACxF,CAAC;AAFD,oDAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
-
import {
|
|
2
|
+
import { Class } from "type-fest";
|
|
3
3
|
/**
|
|
4
4
|
* A decorator to mark that a method is used to apply a specific event to an aggregate root.
|
|
5
5
|
* When an aggregate root has to be reconstituted based on persisted events, these methods
|
|
@@ -8,4 +8,4 @@ import { ClassConstructor } from "class-transformer";
|
|
|
8
8
|
* @param eventClass The class of the event to be applied.
|
|
9
9
|
* @constructor
|
|
10
10
|
*/
|
|
11
|
-
export declare function ApplyEvent(eventClass:
|
|
11
|
+
export declare function ApplyEvent(eventClass: Class<unknown>): PropertyDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-event.decorator.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/aggregate-root/apply-event.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;
|
|
1
|
+
{"version":3,"file":"apply-event.decorator.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/aggregate-root/apply-event.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAG1B,oDAA6D;AAE7D;;;;;;;GAOG;AACH,SAAgB,UAAU,CAAC,UAA0B;IACjD,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE;QACnC,OAAO,CAAC,cAAc,CAClB,yCAAyB,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,EACxD,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,EAC5C,cAAc,CACjB,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AARD,gCAQC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
-
import {
|
|
2
|
+
import { Class } from "type-fest";
|
|
3
3
|
import { AggregateRoot } from "./aggregate-root";
|
|
4
|
-
export declare function getDecoratedPropertyKey(entity: AggregateRoot, eventClass:
|
|
4
|
+
export declare function getDecoratedPropertyKey(entity: AggregateRoot, eventClass: Class<unknown>): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/aggregate-root/reflection.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;
|
|
1
|
+
{"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/aggregate-root/reflection.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAK1B,SAAgB,uBAAuB,CAAC,MAAqB,EAAE,UAA0B;IACrF,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC;AACxD,CAAC;AAhBD,0DAgBC"}
|
|
@@ -47,7 +47,6 @@ class DomainEventEmitter {
|
|
|
47
47
|
const handlers = this._handlers.get(eventId);
|
|
48
48
|
const withErrorHandling = handlers.map((handler) => {
|
|
49
49
|
return async () => {
|
|
50
|
-
// eslint-disable-next-line no-useless-catch
|
|
51
50
|
try {
|
|
52
51
|
return await handler.onDomainEvent(withAggregate);
|
|
53
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event-emitter.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/domain-event-emitter.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD,+BAA+D;AAE/D,2EAIqC;AAGrC,mDAA2C;AAE3C,MAAa,kBAAkB;IAI3B,YAA6B,2BAA2B,KAAK;QAAhC,6BAAwB,GAAxB,wBAAwB,CAAQ;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAwC,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IAED,iBAAiB,CAAC,eAAoC;QAClD,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACvD,OAAO;gBACX,CAAC;gBAED,IAAI,IAAA,qDAAyB,EAAC,QAAQ,CAAC,QAAkB,CAAC,EAAE,CAAC;oBACzD,MAAM,MAAM,GAAG,IAAA,gEAAoC,EAAC,QAAQ,CAAC,QAAkC,CAAC,CAAC;oBACjG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACrB,MAAM,OAAO,GAAG,IAAA,sCAAU,EAAC,KAAK,CAAW,CAAC;wBAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBACpC,CAAC;wBAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC;wBACzF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAiC,CAAC,CAAC;oBAClF,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,aAA2C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,SAAS,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,6FAA6F,CAC/I,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,sCAAU,EAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,IAAA,kBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,SAAS,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,6FAA6F,CAC/I,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAiC,CAAC;QAC7E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/C,OAAO,KAAK,IAAI,EAAE;gBACd,
|
|
1
|
+
{"version":3,"file":"domain-event-emitter.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/domain-event-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Class } from "type-fest";
|
|
2
2
|
type Registration = {
|
|
3
3
|
eventClass: unknown;
|
|
4
4
|
eventName: string;
|
|
@@ -12,7 +12,7 @@ export declare function getEventName(target: object): string | undefined;
|
|
|
12
12
|
* Returns the class that matches the provided name. Or undefined.
|
|
13
13
|
* @param name The event name to be checked.
|
|
14
14
|
*/
|
|
15
|
-
export declare function getEventClass<T>(name: string):
|
|
15
|
+
export declare function getEventClass<T>(name: string): Class<T> | undefined;
|
|
16
16
|
export declare function isRegistered(event: object): boolean;
|
|
17
17
|
export declare function registerEvent(newRegistration: Registration): void;
|
|
18
18
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event-registrations.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/domain-event-registrations.ts"],"names":[],"mappings":";;;AAEA,8FAAwF;AACxF,mDAA2C;AAO3C,MAAM,aAAa,GAAwB,EAAE,CAAC;AAE9C;;;GAGG;AACH,SAAgB,YAAY,CAAC,MAAc;IACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAHD,oCAGC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAI,IAAY;IACzC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACpF,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"domain-event-registrations.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/domain-event-registrations.ts"],"names":[],"mappings":";;;AAEA,8FAAwF;AACxF,mDAA2C;AAO3C,MAAM,aAAa,GAAwB,EAAE,CAAC;AAE9C;;;GAGG;AACH,SAAgB,YAAY,CAAC,MAAc;IACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAHD,oCAGC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAI,IAAY;IACzC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACpF,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAAK,CAAC,UAAuB,CAAC;AACrE,CAAC;AAHD,sCAGC;AAED,SAAgB,YAAY,CAAC,KAAa;IACtC,OAAO,CAAC,IAAA,kBAAK,EAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;AAFD,oCAEC;AAED,SAAgB,aAAa,CAAC,eAA6B;IACvD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,0DAA0B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC;AAND,sCAMC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Class } from "type-fest";
|
|
1
2
|
import { OnDomainEvent } from "./on-domain-event";
|
|
2
|
-
export declare const DomainEventSubscription: (...
|
|
3
|
+
export declare const DomainEventSubscription: (...eventClasses: Class<unknown>[]) => ClassDecorator;
|
|
3
4
|
export declare function isDomainEventSubscription(targetInstance: object): boolean;
|
|
4
5
|
export declare function getEventsFromDomainEventSubscription(subscriptionInstance: OnDomainEvent<unknown>): any[];
|
|
5
6
|
export declare function getEventId(eventConstructor: Function): string | undefined;
|
|
@@ -4,14 +4,14 @@ exports.getEventId = exports.getEventsFromDomainEventSubscription = exports.isDo
|
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const metadata_keys_1 = require("./metadata-keys");
|
|
6
6
|
const type_utils_1 = require("./utils/type-utils");
|
|
7
|
-
const DomainEventSubscription = (...
|
|
7
|
+
const DomainEventSubscription = (...eventClasses) => {
|
|
8
8
|
return (target) => {
|
|
9
|
-
|
|
9
|
+
eventClasses.forEach((event) => {
|
|
10
10
|
if (!Reflect.hasOwnMetadata(metadata_keys_1.DOMAIN_EVENT_KEY, event)) {
|
|
11
11
|
Reflect.defineMetadata(metadata_keys_1.DOMAIN_EVENT_KEY, { eventSubscriptionId: `${event.name}-${(0, crypto_1.randomUUID)()}` }, event);
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
Reflect.defineMetadata(metadata_keys_1.DOMAIN_EVENT_SUBSCRIPTION_KEY, { events }, target);
|
|
14
|
+
Reflect.defineMetadata(metadata_keys_1.DOMAIN_EVENT_SUBSCRIPTION_KEY, { events: eventClasses }, target);
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
17
|
exports.DomainEventSubscription = DomainEventSubscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event-subscription.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/domain-event-subscription.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;
|
|
1
|
+
{"version":3,"file":"domain-event-subscription.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/domain-event-subscription.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAGpC,mDAAkF;AAElF,mDAA2C;AAEpC,MAAM,uBAAuB,GAAG,CAAC,GAAG,YAA8B,EAAkB,EAAE;IACzF,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,gCAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,cAAc,CAClB,gCAAgB,EAChB,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,IAAA,mBAAU,GAAE,EAAE,EAAE,EACxD,KAAK,CACR,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,CAAC,6CAA6B,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5F,CAAC,CAAC;AACN,CAAC,CAAC;AAdW,QAAA,uBAAuB,2BAclC;AAEF,SAAgB,yBAAyB,CAAC,cAAsB;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,6CAA6B,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACtG,OAAO,WAAW,IAAI,OAAQ,cAAyC,CAAC,aAAa,KAAK,UAAU,CAAC;AACzG,CAAC;AAHD,8DAGC;AAED,SAAgB,oCAAoC,CAAC,oBAA4C;IAC7F,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,6CAA6B,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtG,OAAO,IAAA,kBAAK,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClD,CAAC;AAHD,oFAGC;AAED,wDAAwD;AACxD,SAAgB,UAAU,CAAC,gBAA0B;IACjD,OAAO,OAAO,CAAC,WAAW,CAAC,gCAAgB,EAAE,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;AACxF,CAAC;AAFD,gCAEC"}
|
|
@@ -14,6 +14,7 @@ export declare abstract class AbstractEventStore implements EventStore {
|
|
|
14
14
|
addPublisher<T extends AggregateRoot>(aggregateRoot: T): T;
|
|
15
15
|
abstract findAggregateRootVersion(id: string): Promise<number>;
|
|
16
16
|
abstract findByAggregateRootId<T extends AggregateRoot>(aggregateRootClass: AggregateRootClass<T>, id: string): Promise<Array<StoredEvent>>;
|
|
17
|
+
abstract findByAggregateRootIds<T extends AggregateRoot>(aggregateRootClass: AggregateRootClass<T>, ids: string[]): Promise<Record<string, Array<StoredEvent>>>;
|
|
17
18
|
abstract generateEntityId(): Promise<string>;
|
|
18
19
|
abstract save(events: Array<StoredEvent>, aggregate: StoredAggregateRoot): Promise<Array<StoredEvent>>;
|
|
19
20
|
}
|
|
@@ -14,7 +14,6 @@ const stored_event_1 = require("./stored-event");
|
|
|
14
14
|
* of the {@link EventStore:addPublisher} method and this is why this class exists.
|
|
15
15
|
*/
|
|
16
16
|
class AbstractEventStore {
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
18
17
|
constructor(_eventEmitter) {
|
|
19
18
|
this._eventEmitter = _eventEmitter;
|
|
20
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-event-store.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/storage/abstract-event-store.ts"],"names":[],"mappings":";;;AAEA,+EAA6E;AAE7E,mFAA8E;AAC9E,+GAAwG;AACxG,mGAA6F;AAE7F,oDAA0D;AAE1D,mEAA8D;AAC9D,iDAA6C;AAE7C;;;;GAIG;AACH,MAAsB,kBAAkB;IACpC,
|
|
1
|
+
{"version":3,"file":"abstract-event-store.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/storage/abstract-event-store.ts"],"names":[],"mappings":";;;AAEA,+EAA6E;AAE7E,mFAA8E;AAC9E,+GAAwG;AACxG,mGAA6F;AAE7F,oDAA0D;AAE1D,mEAA8D;AAC9D,iDAA6C;AAE7C;;;;GAIG;AACH,MAAsB,kBAAkB;IACpC,YAA8B,aAAiC;QAAjC,kBAAa,GAAb,aAAa,CAAoB;IAAG,CAAC;IAEnE,YAAY,CAA0B,aAAgB;QAClD,aAAa,CAAC,OAAO,GAAG,KAAK,EAAE,MAAyC,EAAE,EAAE;YACxE,MAAM,iBAAiB,GAAG,IAAA,0CAAoB,EAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,IAAA,kBAAK,EAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,yEAAiC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChF,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACzE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,yBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,+CAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,SAAS,GAAwC,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAuB,EAAE,CAAC;YAE5C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAY,CAAC;gBAC/B,YAAY,CAAC,IAAI,CACb,0BAAW,CAAC,kBAAkB,CAC1B,EAAE,EACF,aAAa,CAAC,EAAE,EAChB,iBAAiB,EACjB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,UAAU,CACnB,CACJ,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC;oBACX,GAAG,KAAK;oBACR,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,aAAa,CAAC,OAAO;iBACjC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,2CAAmB,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,IAAA,kBAAK,EAAC,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,IAAI,8DAA4B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBACjF,CAAC;gBAED,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC3C,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QACF,OAAO,aAAa,CAAC;IACzB,CAAC;CAiBJ;AAxED,gDAwEC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AggregateRoot } from "../aggregate-root/aggregate-root";
|
|
2
2
|
import { StoredAggregateRoot } from "./stored-aggregate-root";
|
|
3
3
|
import { StoredEvent } from "./stored-event";
|
|
4
|
-
export type AggregateRootClass<T> =
|
|
4
|
+
export type AggregateRootClass<T> = {
|
|
5
5
|
prototype: T;
|
|
6
|
-
};
|
|
6
|
+
} & Function;
|
|
7
7
|
export declare const EVENT_STORE: unique symbol;
|
|
8
8
|
/**
|
|
9
9
|
* Defines the main EventStore interface that can be used to retrieve and save events. Each implementation of this interface
|
|
@@ -30,8 +30,17 @@ export interface EventStore {
|
|
|
30
30
|
* is resolved from the aggregate root class. These events can later be used to recreate an aggregate root object.
|
|
31
31
|
* @param aggregateRootClass The class of the aggregate root for which the store will search for events
|
|
32
32
|
* @param id The unique id of the aggregate root object
|
|
33
|
+
* @returns An array of events that are associated with the provided id
|
|
33
34
|
*/
|
|
34
35
|
findByAggregateRootId<T extends AggregateRoot>(aggregateRootClass: AggregateRootClass<T>, id: string): Promise<Array<StoredEvent>>;
|
|
36
|
+
/**
|
|
37
|
+
* Finds all events that are associated with the provided aggregate root ids and match the aggregate root name which
|
|
38
|
+
* is resolved from the aggregate root class. These events can later be used to recreate an aggregate root object.
|
|
39
|
+
* @param aggregateRootClass The class of the aggregate root for which the store will search for events
|
|
40
|
+
* @param ids The unique ids of the aggregate root objects
|
|
41
|
+
* @returns A map where the key is the aggregate root id and the value is an array of events that are associated with that id
|
|
42
|
+
*/
|
|
43
|
+
findByAggregateRootIds<T extends AggregateRoot>(aggregateRootClass: AggregateRootClass<T>, ids: string[]): Promise<Record<string, Array<StoredEvent>>>;
|
|
35
44
|
/**
|
|
36
45
|
* Each storage solution has its own way of dealing with unique ids. This method's implementation should reflect
|
|
37
46
|
* the way the storage solution generates unique ids. For example, in a MongoDB database this would usually return
|
|
@@ -10,6 +10,9 @@ class StoredAggregateRoot {
|
|
|
10
10
|
this.id = id;
|
|
11
11
|
this.version = version;
|
|
12
12
|
}
|
|
13
|
+
isOutdated(toCompare) {
|
|
14
|
+
return this.version !== toCompare.version;
|
|
15
|
+
}
|
|
13
16
|
}
|
|
14
17
|
exports.StoredAggregateRoot = StoredAggregateRoot;
|
|
15
18
|
//# sourceMappingURL=stored-aggregate-root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stored-aggregate-root.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/storage/stored-aggregate-root.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,mBAAmB;IAC5B,YACW,EAAU,EACV,OAAe;QADf,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAQ;IACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"stored-aggregate-root.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/storage/stored-aggregate-root.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,mBAAmB;IAC5B,YACW,EAAU,EACV,OAAe;QADf,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAQ;IACvB,CAAC;IAEJ,UAAU,CAAC,SAA8B;QACrC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC;IAC9C,CAAC;CACJ;AATD,kDASC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Class } from "type-fest";
|
|
2
2
|
/**
|
|
3
3
|
* Represents an event that will be persisted according to the storage solution that is used.
|
|
4
4
|
* The event is defined by metadata like aggregate root id, version and creation date, and it also includes its payload
|
|
@@ -50,5 +50,5 @@ export declare class StoredEvent {
|
|
|
50
50
|
get eventName(): string;
|
|
51
51
|
get id(): string;
|
|
52
52
|
get payload(): unknown;
|
|
53
|
-
getPayloadAs<T>(payloadClass:
|
|
53
|
+
getPayloadAs<T>(payloadClass: Class<T>): T;
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stored-event.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/storage/stored-event.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"stored-event.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/storage/stored-event.ts"],"names":[],"mappings":";;;AAAA,yDAAkE;AAGlE,8EAA6D;AAC7D,oDAA4C;AAE5C;;;;;;;;;GASG;AACH,MAAa,WAAW;IAUpB,YAAoB,EAAU,EAAE,eAAuB;QACnD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,kBAAkB,CACrB,EAAU,EACV,eAAuB,EACvB,iBAAyB,EACzB,OAAe,EACf,UAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACtD,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAEhD,MAAM,SAAS,GAAG,IAAA,yCAAY,EAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,IAAA,kBAAK,EAAC,SAAS,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,QAAQ,GAAG,IAAA,mCAAe,EAAC,OAAO,CAAC,CAAC;YAC7C,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CACd,EAAU,EACV,eAAuB,EACvB,SAAiB,EACjB,SAAe,EACf,oBAA4B,EAC5B,iBAAyB,EACzB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACtD,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACrD,QAAQ,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAChD,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,YAAY,CAAI,YAAsB;QACzC,OAAO,IAAA,gCAAY,EAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;CACJ;AAvGD,kCAuGC"}
|