@ddd-ts/event-sourcing-inmemory 0.0.22 → 0.0.24
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/dist/event-store/in-memory.event-store.d.ts.map +1 -1
- package/dist/event-store/in-memory.event-store.js.map +1 -1
- package/dist/event-store/in-memory.event-store.spec.js +20 -13
- package/dist/event-store/in-memory.event-store.spec.js.map +1 -1
- package/dist/in-memory.es-aggregate-store.d.ts +9 -34
- package/dist/in-memory.es-aggregate-store.d.ts.map +1 -1
- package/dist/in-memory.es-aggregate-store.js +2 -2
- package/dist/in-memory.es-aggregate-store.js.map +1 -1
- package/package.json +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-store.d.ts","sourceRoot":"","sources":["../../src/event-store/in-memory.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACb,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"in-memory.event-store.d.ts","sourceRoot":"","sources":["../../src/event-store/in-memory.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAA6B;IAEtC,KAAK;IAIL,KAAK;IAIL,UAAU,CACd,QAAQ,EAAE;QACR,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,EAAE,EACH,GAAG,CAAC,EAAE,mBAAmB;IAOrB,MAAM,CACV,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,OAAO,EAAE,EAClB,gBAAgB,EAAE,MAAM,EACxB,GAAG,CAAC,EAAE,mBAAmB;IAuBpB,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,SAAI;CAUlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-store.js","sourceRoot":"","sources":["../../src/event-store/in-memory.event-store.ts"],"names":[],"mappings":";;;AAAA,uCAIsB;
|
|
1
|
+
{"version":3,"file":"in-memory.event-store.js","sourceRoot":"","sources":["../../src/event-store/in-memory.event-store.ts"],"names":[],"mappings":";;;AAAA,uCAIsB;AAEtB,qCAAkC;AAElC,MAAa,kBAAkB;IACrB,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAIG,EACH,GAAyB;QAEzB,KAAK,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAA2B,EAC3B,OAAkB,EAClB,gBAAwB,EACxB,GAAyB;QAEzB,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAE7C,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAI,eAAe,KAAK,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,uBAAgB,CACxB,qBAAqB,gBAAgB,aAAa,eAAe,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,QAA2B,EAAE,IAAI,GAAG,CAAC;QAC/C,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AA7DD,gDA6DC"}
|
|
@@ -7,12 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
const tests_1 = require("@ddd-ts/tests");
|
|
10
|
-
const
|
|
10
|
+
const shape_1 = require("@ddd-ts/shape");
|
|
11
11
|
const core_1 = require("@ddd-ts/core");
|
|
12
|
-
const in_memory_snapshotter_1 = require("../in-memory.snapshotter");
|
|
13
12
|
const store_inmemory_1 = require("@ddd-ts/store-inmemory");
|
|
13
|
+
const in_memory_snapshotter_1 = require("../in-memory.snapshotter");
|
|
14
14
|
const in_memory_es_aggregate_store_1 = require("../in-memory.es-aggregate-store");
|
|
15
|
-
const
|
|
15
|
+
const in_memory_event_store_1 = require("./in-memory.event-store");
|
|
16
16
|
describe("InMemoryEventStore", () => {
|
|
17
17
|
const database = new store_inmemory_1.InMemoryDatabase();
|
|
18
18
|
const transaction = new store_inmemory_1.InMemoryTransactionPerformer(database);
|
|
@@ -37,19 +37,23 @@ describe("InMemoryEventStore", () => {
|
|
|
37
37
|
return Promise.resolve();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
class AccountId extends (0, shape_1.Primitive)(String) {
|
|
41
|
+
}
|
|
42
|
+
class AccountRegistryId extends (0, shape_1.Primitive)(String) {
|
|
43
|
+
}
|
|
40
44
|
class AccountOpened extends (0, core_1.EsEvent)("AccountOpened", {
|
|
41
|
-
id:
|
|
45
|
+
id: AccountId,
|
|
42
46
|
index: Number,
|
|
43
|
-
registryId:
|
|
47
|
+
registryId: AccountRegistryId,
|
|
44
48
|
}) {
|
|
45
49
|
}
|
|
46
50
|
class Account extends (0, core_1.EsAggregate)("Account", {
|
|
47
51
|
events: [AccountOpened],
|
|
48
52
|
state: {
|
|
49
|
-
id:
|
|
53
|
+
id: AccountId,
|
|
50
54
|
index: Number,
|
|
51
55
|
balance: Number,
|
|
52
|
-
registryId:
|
|
56
|
+
registryId: AccountRegistryId,
|
|
53
57
|
},
|
|
54
58
|
}) {
|
|
55
59
|
static onAccountOpened(event) {
|
|
@@ -62,7 +66,7 @@ describe("InMemoryEventStore", () => {
|
|
|
62
66
|
}
|
|
63
67
|
static open(registryId, index) {
|
|
64
68
|
return this.new(AccountOpened.new({
|
|
65
|
-
id: Math.random().toString(36).slice(2),
|
|
69
|
+
id: AccountId.deserialize(Math.random().toString(36).slice(2)),
|
|
66
70
|
index,
|
|
67
71
|
registryId,
|
|
68
72
|
}));
|
|
@@ -71,8 +75,8 @@ describe("InMemoryEventStore", () => {
|
|
|
71
75
|
__decorate([
|
|
72
76
|
(0, core_1.On)(AccountOpened)
|
|
73
77
|
], Account, "onAccountOpened", null);
|
|
74
|
-
class AccountRegistry extends (0,
|
|
75
|
-
id:
|
|
78
|
+
class AccountRegistry extends (0, shape_1.Shape)({
|
|
79
|
+
id: AccountRegistryId,
|
|
76
80
|
index: Number,
|
|
77
81
|
}) {
|
|
78
82
|
increment(shouldFailInMiddle = false) {
|
|
@@ -84,13 +88,16 @@ describe("InMemoryEventStore", () => {
|
|
|
84
88
|
}
|
|
85
89
|
static new() {
|
|
86
90
|
return new AccountRegistry({
|
|
87
|
-
id: Math.random().toString().slice(2),
|
|
91
|
+
id: AccountId.deserialize(Math.random().toString().slice(2)),
|
|
88
92
|
index: 0,
|
|
89
93
|
});
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
const registryStore = new store_inmemory_1.InMemoryStore("account-registry", database, new ((0, core_1.AutoSerializer)(AccountRegistry, 1))());
|
|
93
|
-
const
|
|
97
|
+
const serializerRegistry = new core_1.SerializerRegistry()
|
|
98
|
+
.add(AccountOpened, new ((0, core_1.AutoSerializer)(AccountOpened, 1))())
|
|
99
|
+
.add(Account, new ((0, core_1.AutoSerializer)(Account, 1))());
|
|
100
|
+
const accountStore = new ((0, in_memory_es_aggregate_store_1.MakeInMemoryEsAggregateStore)(Account))(eventStore, transaction, serializerRegistry, new in_memory_snapshotter_1.InMemorySnapshotter(Account.name, database, serializerRegistry.get(Account)));
|
|
94
101
|
const eventBus = new MockEventBus();
|
|
95
102
|
accountStore.publishEventsTo(eventBus);
|
|
96
103
|
const registry = AccountRegistry.new();
|
|
@@ -105,7 +112,7 @@ describe("InMemoryEventStore", () => {
|
|
|
105
112
|
});
|
|
106
113
|
const freshRegistry = await registryStore.load(registry.id);
|
|
107
114
|
expect(freshRegistry.index).toBe(30);
|
|
108
|
-
const result = await accountStore.snapshotter?.filter((a) => a.registryId === registry.id);
|
|
115
|
+
const result = await accountStore.snapshotter?.filter((a) => a.registryId.serialize() === registry.id.serialize());
|
|
109
116
|
const documents = result;
|
|
110
117
|
expect(documents?.length).toBe(30);
|
|
111
118
|
const indices = documents
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-store.spec.js","sourceRoot":"","sources":["../../src/event-store/in-memory.event-store.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA,yCAAsD;
|
|
1
|
+
{"version":3,"file":"in-memory.event-store.spec.js","sourceRoot":"","sources":["../../src/event-store/in-memory.event-store.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA,yCAAsD;AAEtD,yCAAiD;AAEjD,uCAQsB;AAEtB,2DAIgC;AAEhC,oEAA+D;AAC/D,kFAA+E;AAC/E,mEAA6D;AAE7D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,QAAQ,GAAG,IAAI,iCAAgB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,6CAA4B,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAI,0CAAkB,EAAE,CAAC;IAC5C,SAAS,kBAAkB,CAGzB,SAAY,EACZ,eAAoD,EACpD,UAAwC;QAExC,MAAM,WAAW,GAAG,IAAI,2CAAmB,CACzC,SAAS,CAAC,IAAI,EACd,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,2DAA4B,EAAC,SAAS,CAAC,CAAC;QAEtD,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IACD,IAAA,6BAAqB,EAAC,kBAAkB,CAAC,CAAC;IAE1C,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,YAAY;YAChB,GAAG;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,EAAE;gBACA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,GAAa,EAAE,CAAC;YAEtB,OAAO,CAAC,KAAa;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;SACF;QAED,MAAM,SAAU,SAAQ,IAAA,iBAAS,EAAC,MAAM,CAAC;SAAG;QAC5C,MAAM,iBAAkB,SAAQ,IAAA,iBAAS,EAAC,MAAM,CAAC;SAAG;QAEpD,MAAM,aAAc,SAAQ,IAAA,cAAO,EAAC,eAAe,EAAE;YACnD,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,iBAAiB;SAC9B,CAAC;SAAG;QAEL,MAAM,OAAQ,SAAQ,IAAA,kBAAW,EAAC,SAAS,EAAE;YAC3C,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,KAAK,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,iBAAiB;aAC9B;SACF,CAAC;YAEO,AAAP,MAAM,CAAC,eAAe,CAAC,KAAoB;gBACzC,OAAO,IAAI,OAAO,CAAC;oBACjB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;oBACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;oBAC1B,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,UAA6B,EAAE,KAAa;gBACtD,OAAO,IAAI,CAAC,GAAG,CACb,aAAa,CAAC,GAAG,CAAC;oBAChB,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9D,KAAK;oBACL,UAAU;iBACX,CAAC,CACH,CAAC;YACJ,CAAC;SACF;QAlBQ;YADN,IAAA,SAAE,EAAC,aAAa,CAAC;4CAQjB;QAaH,MAAM,eAAgB,SAAQ,IAAA,aAAK,EAAC;YAClC,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,MAAM;SACd,CAAC;YACA,SAAS,CAAC,kBAAkB,GAAG,KAAK;gBAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YAED,MAAM,CAAC,GAAG;gBACR,OAAO,IAAI,eAAe,CAAC;oBACzB,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5D,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;SACF;QAED,MAAM,aAAa,GAAG,IAAI,8BAAa,CACrC,kBAAkB,EAClB,QAAQ,EACR,IAAI,CAAC,IAAA,qBAAc,EAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,yBAAkB,EAAE;aAChD,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAA,qBAAc,EAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAA,2DAA4B,EAAC,OAAO,CAAC,CAAC,CAC9D,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,IAAI,2CAAmB,CACrB,OAAO,CAAC,IAAI,EACZ,QAAQ,EACR,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAChC,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnC,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,kBAAkB,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAEvD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAI,CAAC,SAAS,CAAC,kBAAkB,KAAK,CAAC,CAAC,CAAC,CACpE,CAAC;YAEF,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,aAAa,CAAC,IAAI,CAAC,GAAI,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE5D,MAAM,CAAC,aAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,CAC5D,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC;QAEzB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,SAAS;YACvB,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACzE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,40 +1,15 @@
|
|
|
1
1
|
import { HasTrait } from "@ddd-ts/traits";
|
|
2
|
-
import { AggregateStreamId, EventSourced, type IEsAggregateStore, type IEventBus, type Identifiable, type SerializerRegistry } from "@ddd-ts/core";
|
|
2
|
+
import { AggregateStreamId, EventSourced, type IEsAggregateStore, type IEventBus, type Identifiable, type SerializerRegistry, type EventOf, type EventsOf } from "@ddd-ts/core";
|
|
3
3
|
import type { InMemoryEventStore } from "./event-store/in-memory.event-store";
|
|
4
4
|
import type { InMemorySnapshotter } from "./in-memory.snapshotter";
|
|
5
5
|
import type { InMemoryTransaction, InMemoryTransactionPerformer } from "@ddd-ts/store-inmemory";
|
|
6
|
-
export declare const MakeInMemoryEsAggregateStore: <A extends
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
load(fact: import("@ddd-ts/core").IEsEvent<string, any>): void;
|
|
10
|
-
apply(change: import("@ddd-ts/core").IEsEvent<string, any>): void;
|
|
11
|
-
play(event: import("@ddd-ts/core").IEsEvent<string, any>): any;
|
|
12
|
-
clearChanges(): void;
|
|
13
|
-
acknowledgeChanges(): void;
|
|
14
|
-
}) & {
|
|
15
|
-
events: import("@ddd-ts/types").Constructor<import("@ddd-ts/core").IEsEvent<string, any>>[];
|
|
16
|
-
instanciate<TH extends import("@ddd-ts/types").Constructor>(this: TH, event: import("@ddd-ts/core").IEsEvent<string, any>): InstanceType<TH>;
|
|
17
|
-
loadFirst<TH_1 extends import("@ddd-ts/types").Constructor>(this: TH_1, event: import("@ddd-ts/core").IEsEvent<string, any>): InstanceType<TH_1>;
|
|
18
|
-
"new"<TH_2 extends import("@ddd-ts/types").Constructor>(this: TH_2, event: import("@ddd-ts/core").IEsEvent<string, any>): InstanceType<TH_2>;
|
|
19
|
-
}, ""> & (new (...args: any[]) => {
|
|
20
|
-
acknowledgedRevision: number;
|
|
21
|
-
changes: import("@ddd-ts/core").IEsEvent<string, any>[];
|
|
22
|
-
load(fact: import("@ddd-ts/core").IEsEvent<string, any>): void;
|
|
23
|
-
apply(change: import("@ddd-ts/core").IEsEvent<string, any>): void;
|
|
24
|
-
play(event: import("@ddd-ts/core").IEsEvent<string, any>): any;
|
|
25
|
-
clearChanges(): void;
|
|
26
|
-
acknowledgeChanges(): void;
|
|
27
|
-
}) & Omit<abstract new (props: {}) => {
|
|
28
|
-
id: import("@ddd-ts/core").Identifier;
|
|
29
|
-
}, ""> & (new (...args: any[]) => {
|
|
30
|
-
id: import("@ddd-ts/core").Identifier;
|
|
31
|
-
})>(AGGREGATE: A) => {
|
|
32
|
-
new (eventStore: InMemoryEventStore, transaction: InMemoryTransactionPerformer, eventSerializer: SerializerRegistry.For<InstanceType<A>["changes"]>, snapshotter?: InMemorySnapshotter<InstanceType<A>> | undefined): {
|
|
33
|
-
loadFirst(event: InstanceType<A>["changes"][number]): InstanceType<A>;
|
|
6
|
+
export declare const MakeInMemoryEsAggregateStore: <A extends HasTrait<typeof EventSourced> & HasTrait<typeof Identifiable>>(AGGREGATE: A) => {
|
|
7
|
+
new (eventStore: InMemoryEventStore, transaction: InMemoryTransactionPerformer, eventSerializer: SerializerRegistry.For<EventsOf<A>>, snapshotter?: InMemorySnapshotter<InstanceType<A>> | undefined): {
|
|
8
|
+
loadFirst(event: EventsOf<A>[number]): InstanceType<A>;
|
|
34
9
|
getAggregateStreamId(id: InstanceType<A>["id"]): AggregateStreamId;
|
|
35
10
|
readonly eventStore: InMemoryEventStore;
|
|
36
11
|
readonly transaction: InMemoryTransactionPerformer;
|
|
37
|
-
readonly eventSerializer: SerializerRegistry.For<
|
|
12
|
+
readonly eventSerializer: SerializerRegistry.For<EventsOf<A>>;
|
|
38
13
|
readonly snapshotter?: InMemorySnapshotter<InstanceType<A>> | undefined;
|
|
39
14
|
_publishEventsTo?: IEventBus;
|
|
40
15
|
publishEventsTo(eventBus: IEventBus): void;
|
|
@@ -43,14 +18,14 @@ export declare const MakeInMemoryEsAggregateStore: <A extends Omit<(abstract new
|
|
|
43
18
|
save(aggregate: InstanceType<A>, trx?: InMemoryTransaction, attempts?: number): Promise<void>;
|
|
44
19
|
};
|
|
45
20
|
};
|
|
46
|
-
export declare abstract class InMemoryEsAggregateStore<A extends HasTrait<typeof EventSourced> & HasTrait<typeof Identifiable
|
|
21
|
+
export declare abstract class InMemoryEsAggregateStore<A extends HasTrait<typeof EventSourced> & HasTrait<typeof Identifiable>> implements IEsAggregateStore<InstanceType<A>> {
|
|
47
22
|
readonly eventStore: InMemoryEventStore;
|
|
48
23
|
readonly transaction: InMemoryTransactionPerformer;
|
|
49
|
-
readonly eventSerializer: SerializerRegistry.For<
|
|
24
|
+
readonly eventSerializer: SerializerRegistry.For<EventsOf<A>>;
|
|
50
25
|
readonly snapshotter?: InMemorySnapshotter<InstanceType<A>> | undefined;
|
|
51
|
-
constructor(eventStore: InMemoryEventStore, transaction: InMemoryTransactionPerformer, eventSerializer: SerializerRegistry.For<
|
|
26
|
+
constructor(eventStore: InMemoryEventStore, transaction: InMemoryTransactionPerformer, eventSerializer: SerializerRegistry.For<EventsOf<A>>, snapshotter?: InMemorySnapshotter<InstanceType<A>> | undefined);
|
|
52
27
|
abstract getAggregateStreamId(id: InstanceType<A>["id"]): AggregateStreamId;
|
|
53
|
-
abstract loadFirst(event:
|
|
28
|
+
abstract loadFirst(event: EventOf<A>): InstanceType<A>;
|
|
54
29
|
_publishEventsTo?: IEventBus;
|
|
55
30
|
publishEventsTo(eventBus: IEventBus): void;
|
|
56
31
|
load(id: InstanceType<A>["id"]): Promise<InstanceType<A> | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.es-aggregate-store.d.ts","sourceRoot":"","sources":["../src/in-memory.es-aggregate-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,iBAAiB,EAEjB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"in-memory.es-aggregate-store.d.ts","sourceRoot":"","sources":["../src/in-memory.es-aggregate-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,iBAAiB,EAEjB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EACV,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,4BAA4B,GACvC,CAAC,SAAS,QAAQ,CAAC,OAAO,YAAY,CAAC,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,aAE5D,CAAC;qBAqBkB,kBAAkB,eACjB,4BAA4B;+CAnBlB,YAAY,CAAC,CAAC,CAAC;iCAI7B,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB;6BActC,kBAAkB;8BACjB,4BAA4B;;;2BAQxC,SAAS;kCACF,SAAS;;qDAwC3B,mBAAmB,sBAExB,OAAO,CAAC,IAAI,CAAC;+CAQR,mBAAmB,sBAExB,OAAO,CAAC,IAAI,CAAC;;CArEjB,CAAC;AAEF,8BAAsB,wBAAwB,CAC5C,CAAC,SAAS,QAAQ,CAAC,OAAO,YAAY,CAAC,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CACvE,YAAW,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAG3B,UAAU,EAAE,kBAAkB;aAC9B,WAAW,EAAE,4BAA4B;aACzC,eAAe,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpD,WAAW,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAHlD,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,4BAA4B,EACzC,eAAe,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpD,WAAW,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAA;IAGpE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB;IAC3E,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAEtD,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,eAAe,CAAC,QAAQ,EAAE,SAAS;IAI7B,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAkC9B,OAAO,CACX,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC7B,GAAG,CAAC,EAAE,mBAAmB,EACzB,QAAQ,SAAK,GACZ,OAAO,CAAC,IAAI,CAAC;IAMV,IAAI,CACR,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,mBAAmB,EACzB,QAAQ,SAAK,GACZ,OAAO,CAAC,IAAI,CAAC;CAuCjB"}
|
|
@@ -10,7 +10,7 @@ const MakeInMemoryEsAggregateStore = (AGGREGATE) => {
|
|
|
10
10
|
getAggregateStreamId(id) {
|
|
11
11
|
return new core_1.AggregateStreamId({
|
|
12
12
|
aggregate: AGGREGATE.name,
|
|
13
|
-
id: id.
|
|
13
|
+
id: id.serialize(),
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
};
|
|
@@ -33,7 +33,7 @@ class InMemoryEsAggregateStore {
|
|
|
33
33
|
}
|
|
34
34
|
async load(id) {
|
|
35
35
|
const streamId = this.getAggregateStreamId(id);
|
|
36
|
-
const snapshot = await this.snapshotter?.load(
|
|
36
|
+
const snapshot = await this.snapshotter?.load(id);
|
|
37
37
|
if (snapshot) {
|
|
38
38
|
const stream = this.eventStore.read(streamId, snapshot.acknowledgedRevision + 1);
|
|
39
39
|
for await (const serialized of stream) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.es-aggregate-store.js","sourceRoot":"","sources":["../src/in-memory.es-aggregate-store.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"in-memory.es-aggregate-store.js","sourceRoot":"","sources":["../src/in-memory.es-aggregate-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddd-ts/event-sourcing-inmemory",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
"build": "tsc"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@ddd-ts/core": "0.0.
|
|
13
|
-
"@ddd-ts/store-inmemory": "0.0.
|
|
14
|
-
"@ddd-ts/types": "0.0.
|
|
12
|
+
"@ddd-ts/core": "0.0.24",
|
|
13
|
+
"@ddd-ts/store-inmemory": "0.0.24",
|
|
14
|
+
"@ddd-ts/types": "0.0.24"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@ddd-ts/
|
|
18
|
-
"@ddd-ts/
|
|
19
|
-
"@ddd-ts/
|
|
17
|
+
"@ddd-ts/shape": "0.0.24",
|
|
18
|
+
"@ddd-ts/tests": "0.0.24",
|
|
19
|
+
"@ddd-ts/tools": "0.0.24",
|
|
20
|
+
"@ddd-ts/traits": "0.0.24",
|
|
20
21
|
"@types/jest": "^29.5.1",
|
|
21
22
|
"@types/node": "^20.12.4"
|
|
22
23
|
}
|