@ddd-ts/event-sourcing-inmemory 0.0.31 → 0.0.33
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/in-memory.event-lake.aggregate-store.d.ts +25 -2
- package/dist/in-memory.event-lake.aggregate-store.d.ts.map +1 -1
- package/dist/in-memory.event-lake.aggregate-store.js +18 -3
- package/dist/in-memory.event-lake.aggregate-store.js.map +1 -1
- package/dist/in-memory.event-lake.storage-layer.d.ts +3 -2
- package/dist/in-memory.event-lake.storage-layer.d.ts.map +1 -1
- package/dist/in-memory.event-lake.storage-layer.js +15 -11
- package/dist/in-memory.event-lake.storage-layer.js.map +1 -1
- package/dist/in-memory.event-stream.storage-layer.d.ts +3 -2
- package/dist/in-memory.event-stream.storage-layer.d.ts.map +1 -1
- package/dist/in-memory.event-stream.storage-layer.js +14 -6
- package/dist/in-memory.event-stream.storage-layer.js.map +1 -1
- package/dist/in-memory.projected-stream.reader.d.ts.map +1 -1
- package/dist/in-memory.projected-stream.reader.js.map +1 -1
- package/dist/in-memory.projected-stream.storage-layer.d.ts +7 -4
- package/dist/in-memory.projected-stream.storage-layer.d.ts.map +1 -1
- package/dist/in-memory.projected-stream.storage-layer.js +42 -8
- package/dist/in-memory.projected-stream.storage-layer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -8
|
@@ -1,13 +1,36 @@
|
|
|
1
|
-
import { LakeId, type IEventBus, EventLakeStore, EventOf, ISerializer, IEventSourced, IIdentifiable } from "@ddd-ts/core";
|
|
1
|
+
import { LakeId, type IEventBus, EventLakeStore, EventOf, ISerializer, IEventSourced, IIdentifiable, EventSourced, Identifiable } from "@ddd-ts/core";
|
|
2
2
|
import { InMemoryDatabase, InMemoryStore, InMemoryTransaction, InMemoryTransactionPerformer } from "@ddd-ts/store-inmemory";
|
|
3
|
+
import { HasTrait } from "@ddd-ts/traits";
|
|
4
|
+
export declare const MakeInMemoryEventLakeAggregateStore: <A extends HasTrait<typeof EventSourced> & HasTrait<typeof Identifiable>>(AGGREGATE: A) => abstract new (database: InMemoryDatabase, collection: string, serializer: ISerializer<InstanceType<A>> & ISerializer<EventOf<InstanceType<A>>>, eventBus?: IEventBus) => {
|
|
5
|
+
readonly database: InMemoryDatabase;
|
|
6
|
+
readonly collection: string;
|
|
7
|
+
getLakeId(instance: InstanceType<A>): LakeId;
|
|
8
|
+
transaction: InMemoryTransactionPerformer;
|
|
9
|
+
lakeStore: EventLakeStore<EventOf<InstanceType<A>>>;
|
|
10
|
+
readonly serializer: ISerializer<EventOf<InstanceType<A>>, {}> & ISerializer<InstanceType<A>, {}>;
|
|
11
|
+
readonly eventBus?: IEventBus | undefined;
|
|
12
|
+
readonly $name?: string | undefined;
|
|
13
|
+
save(aggregate: InstanceType<A>, trx?: InMemoryTransaction): Promise<void>;
|
|
14
|
+
filter(predicate: (model: InstanceType<A>) => boolean, trx?: InMemoryTransaction): Promise<InstanceType<A>[]>;
|
|
15
|
+
clear(): void;
|
|
16
|
+
create(model: InstanceType<A>, trx?: InMemoryTransaction): Promise<void>;
|
|
17
|
+
saveAll(models: InstanceType<A>[], trx?: InMemoryTransaction): Promise<void>;
|
|
18
|
+
load(id: InstanceType<A>["id"], trx?: InMemoryTransaction): Promise<InstanceType<A> | undefined>;
|
|
19
|
+
loadAll(trx?: InMemoryTransaction): Promise<InstanceType<A>[]>;
|
|
20
|
+
loadMany(ids: InstanceType<A>["id"][], trx?: InMemoryTransaction): Promise<InstanceType<A>[]>;
|
|
21
|
+
delete(id: InstanceType<A>["id"], trx?: InMemoryTransaction): Promise<void>;
|
|
22
|
+
countAll(): Promise<number>;
|
|
23
|
+
streamAll(): AsyncIterable<InstanceType<A>>;
|
|
24
|
+
};
|
|
3
25
|
export declare abstract class InMemoryEventLakeAggregateStore<A extends IEventSourced & IIdentifiable> extends InMemoryStore<A> {
|
|
4
26
|
readonly database: InMemoryDatabase;
|
|
5
27
|
readonly collection: string;
|
|
6
28
|
readonly serializer: ISerializer<EventOf<A>> & ISerializer<A>;
|
|
7
29
|
readonly eventBus?: IEventBus | undefined;
|
|
30
|
+
readonly $name?: string | undefined;
|
|
8
31
|
transaction: InMemoryTransactionPerformer;
|
|
9
32
|
lakeStore: EventLakeStore<EventOf<A>>;
|
|
10
|
-
constructor(database: InMemoryDatabase, collection: string, serializer: ISerializer<EventOf<A>> & ISerializer<A>, eventBus?: IEventBus | undefined);
|
|
33
|
+
constructor(database: InMemoryDatabase, collection: string, serializer: ISerializer<EventOf<A>> & ISerializer<A>, eventBus?: IEventBus | undefined, $name?: string | undefined);
|
|
11
34
|
abstract getLakeId(instance: A): LakeId;
|
|
12
35
|
save(aggregate: A, trx?: InMemoryTransaction): Promise<void>;
|
|
13
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-lake.aggregate-store.d.ts","sourceRoot":"","sources":["../src/in-memory.event-lake.aggregate-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,SAAS,EACd,cAAc,EACd,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"in-memory.event-lake.aggregate-store.d.ts","sourceRoot":"","sources":["../src/in-memory.event-lake.aggregate-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,SAAS,EACd,cAAc,EACd,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,EAEb,YAAY,EACZ,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,eAAO,MAAM,mCAAmC,GAC9C,CAAC,SAAS,QAAQ,CAAC,OAAO,YAAY,CAAC,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,aAE5D,CAAC,6BAMkB,gBAAgB,cACd,MAAM,cACtB,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACtC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,aAC5B,SAAS;uBAJM,gBAAgB;yBACd,MAAM;wBAQP,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;iBAS1C,4BAA4B;;;wBAMZ,SAAS;qBACZ,MAAM;2CAcQ,mBAAmB;;;;;;;;;;;CA1B5D,CAAC;AAEF,8BAAsB,+BAA+B,CACnD,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,aAAa,CAAC,CAAC,CAAC;aAIN,QAAQ,EAAE,gBAAgB;aAC1B,UAAU,EAAE,MAAM;aAClB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;aACpD,QAAQ,CAAC,EAAE,SAAS;aACpB,KAAK,CAAC,EAAE,MAAM;IAPhC,WAAW,EAAE,4BAA4B,CAAC;IAC1C,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACpD,QAAQ,CAAC,EAAE,SAAS,YAAA,EACpB,KAAK,CAAC,EAAE,MAAM,YAAA;IAYhC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM;IAExB,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB;CAW5D"}
|
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InMemoryEventLakeAggregateStore = void 0;
|
|
3
|
+
exports.InMemoryEventLakeAggregateStore = exports.MakeInMemoryEventLakeAggregateStore = void 0;
|
|
4
4
|
const core_1 = require("@ddd-ts/core");
|
|
5
5
|
const store_inmemory_1 = require("@ddd-ts/store-inmemory");
|
|
6
6
|
const in_memory_event_lake_storage_layer_1 = require("./in-memory.event-lake.storage-layer");
|
|
7
|
+
const MakeInMemoryEventLakeAggregateStore = (AGGREGATE) => {
|
|
8
|
+
class $InMemoryEventLakeAggregateStore extends InMemoryEventLakeAggregateStore {
|
|
9
|
+
database;
|
|
10
|
+
collection;
|
|
11
|
+
constructor(database, collection, serializer, eventBus) {
|
|
12
|
+
super(database, collection, serializer, eventBus, AGGREGATE.name);
|
|
13
|
+
this.database = database;
|
|
14
|
+
this.collection = collection;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return $InMemoryEventLakeAggregateStore;
|
|
18
|
+
};
|
|
19
|
+
exports.MakeInMemoryEventLakeAggregateStore = MakeInMemoryEventLakeAggregateStore;
|
|
7
20
|
class InMemoryEventLakeAggregateStore extends store_inmemory_1.InMemoryStore {
|
|
8
21
|
database;
|
|
9
22
|
collection;
|
|
10
23
|
serializer;
|
|
11
24
|
eventBus;
|
|
25
|
+
$name;
|
|
12
26
|
transaction;
|
|
13
27
|
lakeStore;
|
|
14
|
-
constructor(database, collection, serializer, eventBus) {
|
|
28
|
+
constructor(database, collection, serializer, eventBus, $name) {
|
|
15
29
|
const storageLayer = new in_memory_event_lake_storage_layer_1.InMemoryEventLakeStorageLayer(database);
|
|
16
|
-
super(collection, database, serializer);
|
|
30
|
+
super(collection, database, serializer, $name);
|
|
17
31
|
this.database = database;
|
|
18
32
|
this.collection = collection;
|
|
19
33
|
this.serializer = serializer;
|
|
20
34
|
this.eventBus = eventBus;
|
|
35
|
+
this.$name = $name;
|
|
21
36
|
this.lakeStore = new core_1.EventLakeStore(storageLayer, serializer, eventBus);
|
|
22
37
|
this.transaction = new store_inmemory_1.InMemoryTransactionPerformer(database);
|
|
23
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-lake.aggregate-store.js","sourceRoot":"","sources":["../src/in-memory.event-lake.aggregate-store.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"in-memory.event-lake.aggregate-store.js","sourceRoot":"","sources":["../src/in-memory.event-lake.aggregate-store.ts"],"names":[],"mappings":";;;AAAA,uCAWsB;AACtB,2DAKgC;AAChC,6FAAqF;AAG9E,MAAM,mCAAmC,GAAG,CAGjD,SAAY,EACZ,EAAE;IACF,MAAe,gCAAiC,SAAQ,+BAEvD;QAEmB;QACA;QAFlB,YACkB,QAA0B,EAC1B,UAAkB,EAClC,UACuC,EACvC,QAAoB;YAEpB,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YANlD,aAAQ,GAAR,QAAQ,CAAkB;YAC1B,eAAU,GAAV,UAAU,CAAQ;QAMpC,CAAC;KAGF;IAED,OAAO,gCAAgC,CAAC;AAC1C,CAAC,CAAC;AAtBW,QAAA,mCAAmC,uCAsB9C;AAEF,MAAsB,+BAEpB,SAAQ,8BAAgB;IAIN;IACA;IACA;IACA;IACA;IAPlB,WAAW,CAA+B;IAC1C,SAAS,CAA6B;IACtC,YACkB,QAA0B,EAC1B,UAAkB,EAClB,UAAoD,EACpD,QAAoB,EACpB,KAAc;QAE9B,MAAM,YAAY,GAAG,IAAI,kEAA6B,CAAC,QAAQ,CAAC,CAAC;QACjE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAP/B,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,eAAU,GAAV,UAAU,CAAQ;QAClB,eAAU,GAAV,UAAU,CAA0C;QACpD,aAAQ,GAAR,QAAQ,CAAY;QACpB,UAAK,GAAL,KAAK,CAAS;QAI9B,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAc,CACjC,YAAY,EACZ,UAAU,EACV,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,6CAA4B,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAIQ,KAAK,CAAC,IAAI,CAAC,SAAY,EAAE,GAAyB;QACzD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAgC,CAAC;QAE3D,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAEzC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAClD,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAnCD,0EAmCC","sourcesContent":["import {\n LakeId,\n type IEventBus,\n EventLakeStore,\n EventOf,\n ISerializer,\n IEventSourced,\n IIdentifiable,\n IChange,\n EventSourced,\n Identifiable,\n} from \"@ddd-ts/core\";\nimport {\n InMemoryDatabase,\n InMemoryStore,\n InMemoryTransaction,\n InMemoryTransactionPerformer,\n} from \"@ddd-ts/store-inmemory\";\nimport { InMemoryEventLakeStorageLayer } from \"./in-memory.event-lake.storage-layer\";\nimport { HasTrait } from \"@ddd-ts/traits\";\n\nexport const MakeInMemoryEventLakeAggregateStore = <\n A extends HasTrait<typeof EventSourced> & HasTrait<typeof Identifiable>,\n>(\n AGGREGATE: A,\n) => {\n abstract class $InMemoryEventLakeAggregateStore extends InMemoryEventLakeAggregateStore<\n InstanceType<A>\n > {\n constructor(\n public readonly database: InMemoryDatabase,\n public readonly collection: string,\n serializer: ISerializer<InstanceType<A>> &\n ISerializer<EventOf<InstanceType<A>>>,\n eventBus?: IEventBus,\n ) {\n super(database, collection, serializer, eventBus, AGGREGATE.name);\n }\n\n abstract getLakeId(instance: InstanceType<A>): LakeId;\n }\n\n return $InMemoryEventLakeAggregateStore;\n};\n\nexport abstract class InMemoryEventLakeAggregateStore<\n A extends IEventSourced & IIdentifiable,\n> extends InMemoryStore<A> {\n transaction: InMemoryTransactionPerformer;\n lakeStore: EventLakeStore<EventOf<A>>;\n constructor(\n public readonly database: InMemoryDatabase,\n public readonly collection: string,\n public readonly serializer: ISerializer<EventOf<A>> & ISerializer<A>,\n public readonly eventBus?: IEventBus,\n public readonly $name?: string,\n ) {\n const storageLayer = new InMemoryEventLakeStorageLayer(database);\n super(collection, database, serializer, $name);\n this.lakeStore = new EventLakeStore<EventOf<A>>(\n storageLayer,\n serializer,\n eventBus,\n );\n this.transaction = new InMemoryTransactionPerformer(database);\n }\n\n abstract getLakeId(instance: A): LakeId;\n\n override async save(aggregate: A, trx?: InMemoryTransaction) {\n const changes = aggregate.changes as IChange<EventOf<A>>[];\n\n await this.transaction.performWith(trx, async (trx) => {\n const lakeId = this.getLakeId(aggregate);\n\n await super.save(aggregate, trx);\n await this.lakeStore.append(lakeId, changes, trx);\n aggregate.clearChanges();\n });\n }\n}\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { LakeId, type ISerializedChange, type ISerializedFact,
|
|
1
|
+
import { LakeId, type ISerializedChange, type ISerializedFact, EventLakeStorageLayer, EventId } from "@ddd-ts/core";
|
|
2
|
+
import { ISerializedSavedChange } from "@ddd-ts/core/dist/interfaces/es-event";
|
|
2
3
|
import { InMemoryDatabase, InMemoryTransaction } from "@ddd-ts/store-inmemory";
|
|
3
4
|
export declare class InMemoryEventLakeStorageLayer implements EventLakeStorageLayer {
|
|
4
5
|
readonly database: InMemoryDatabase;
|
|
5
6
|
constructor(database: InMemoryDatabase);
|
|
6
|
-
append(lakeId: LakeId, changes: ISerializedChange[], trx: InMemoryTransaction): Promise<
|
|
7
|
+
append(lakeId: LakeId, changes: ISerializedChange[], trx: InMemoryTransaction): Promise<ISerializedSavedChange[]>;
|
|
7
8
|
read(lakeId: LakeId, startAfter?: EventId, endAt?: EventId): AsyncIterable<ISerializedFact>;
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=in-memory.event-lake.storage-layer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-lake.storage-layer.d.ts","sourceRoot":"","sources":["../src/in-memory.event-lake.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,
|
|
1
|
+
{"version":3,"file":"in-memory.event-lake.storage-layer.d.ts","sourceRoot":"","sources":["../src/in-memory.event-lake.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,qBAAqB,EACrB,OAAO,EACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,qBAAa,6BAA8B,YAAW,qBAAqB;aAC7C,QAAQ,EAAE,gBAAgB;gBAA1B,QAAQ,EAAE,gBAAgB;IAEhD,MAAM,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,EAAE,EAC5B,GAAG,EAAE,mBAAmB;IA+BnB,IAAI,CACT,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,OAAO,EACpB,KAAK,CAAC,EAAE,OAAO,GACd,aAAa,CAAC,eAAe,CAAC;CA6BlC"}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InMemoryEventLakeStorageLayer = void 0;
|
|
4
|
-
const core_1 = require("@ddd-ts/core");
|
|
5
4
|
class InMemoryEventLakeStorageLayer {
|
|
6
5
|
database;
|
|
7
6
|
constructor(database) {
|
|
8
7
|
this.database = database;
|
|
9
8
|
}
|
|
10
9
|
async append(lakeId, changes, trx) {
|
|
11
|
-
const
|
|
10
|
+
const result = [];
|
|
12
11
|
let revision = 0;
|
|
13
12
|
for (const change of changes) {
|
|
14
|
-
const ref =
|
|
13
|
+
const ref = `${lakeId.serialize()}/${change.id}`;
|
|
15
14
|
const stored = {
|
|
16
15
|
...change,
|
|
17
|
-
ref: ref
|
|
16
|
+
ref: ref,
|
|
18
17
|
revision: revision,
|
|
19
18
|
};
|
|
20
19
|
this.database.save(lakeId.serialize(), change.id, stored, trx.transaction);
|
|
21
|
-
|
|
20
|
+
result.push({
|
|
21
|
+
...change,
|
|
22
|
+
ref: ref,
|
|
23
|
+
revision: revision,
|
|
24
|
+
occurredAt: undefined,
|
|
25
|
+
});
|
|
22
26
|
revision++;
|
|
23
27
|
}
|
|
24
|
-
return
|
|
28
|
+
return result;
|
|
25
29
|
}
|
|
26
30
|
async *read(lakeId, startAfter, endAt) {
|
|
27
31
|
const events = this.database.loadAll(lakeId.serialize());
|
|
@@ -30,19 +34,19 @@ class InMemoryEventLakeStorageLayer {
|
|
|
30
34
|
: a.data.savedAt < b.data.savedAt
|
|
31
35
|
? -1
|
|
32
36
|
: 1);
|
|
33
|
-
const facts = sorted.map((e) => e.data
|
|
37
|
+
const facts = sorted.map((e) => e.data);
|
|
34
38
|
let started = !startAfter;
|
|
35
39
|
for (const fact of facts) {
|
|
36
|
-
if (startAfter && fact.id === startAfter.serialize()) {
|
|
40
|
+
if (startAfter && fact.data.id === startAfter.serialize()) {
|
|
37
41
|
started = true;
|
|
38
42
|
continue;
|
|
39
43
|
}
|
|
40
|
-
if (endAt && fact.id === endAt.serialize()) {
|
|
41
|
-
yield fact;
|
|
44
|
+
if (endAt && fact.data.id === endAt.serialize()) {
|
|
45
|
+
yield { ...fact.data, occurredAt: fact.data.savedAt };
|
|
42
46
|
break;
|
|
43
47
|
}
|
|
44
48
|
if (started) {
|
|
45
|
-
yield fact;
|
|
49
|
+
yield { ...fact.data, occurredAt: fact.data.savedAt };
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-lake.storage-layer.js","sourceRoot":"","sources":["../src/in-memory.event-lake.storage-layer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"in-memory.event-lake.storage-layer.js","sourceRoot":"","sources":["../src/in-memory.event-lake.storage-layer.ts"],"names":[],"mappings":";;;AAUA,MAAa,6BAA6B;IACZ;IAA5B,YAA4B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE1D,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAA4B,EAC5B,GAAwB;QAExB,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YAEjD,MAAM,MAAM,GAAG;gBACb,GAAG,MAAM;gBACT,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,SAAS,EAAE,EAClB,MAAM,CAAC,EAAE,EACT,MAAM,EACN,GAAG,CAAC,WAAW,CAChB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,MAAM;gBACT,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CACT,MAAc,EACd,UAAoB,EACpB,KAAe;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO;YAC/B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO;gBAC/B,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC,CACR,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC1D,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;gBAChD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM;YACR,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAtED,sEAsEC","sourcesContent":["import {\n LakeId,\n type ISerializedChange,\n type ISerializedFact,\n EventLakeStorageLayer,\n EventId,\n} from \"@ddd-ts/core\";\nimport { ISerializedSavedChange } from \"@ddd-ts/core/dist/interfaces/es-event\";\nimport { InMemoryDatabase, InMemoryTransaction } from \"@ddd-ts/store-inmemory\";\n\nexport class InMemoryEventLakeStorageLayer implements EventLakeStorageLayer {\n constructor(public readonly database: InMemoryDatabase) {}\n\n async append(\n lakeId: LakeId,\n changes: ISerializedChange[],\n trx: InMemoryTransaction,\n ) {\n const result: ISerializedSavedChange[] = [];\n\n let revision = 0;\n for (const change of changes) {\n const ref = `${lakeId.serialize()}/${change.id}`;\n\n const stored = {\n ...change,\n ref: ref,\n revision: revision,\n };\n\n this.database.save(\n lakeId.serialize(),\n change.id,\n stored,\n trx.transaction,\n );\n result.push({\n ...change,\n ref: ref,\n revision: revision,\n occurredAt: undefined,\n });\n revision++;\n }\n return result;\n }\n\n async *read(\n lakeId: LakeId,\n startAfter?: EventId,\n endAt?: EventId,\n ): AsyncIterable<ISerializedFact> {\n const events = this.database.loadAll(lakeId.serialize());\n\n const sorted = events.sort((a, b) =>\n a.data.savedAt === b.data.savedAt\n ? a.data.data.revision - b.data.data.revision\n : a.data.savedAt < b.data.savedAt\n ? -1\n : 1,\n );\n\n const facts = sorted.map((e) => e.data);\n\n let started = !startAfter;\n\n for (const fact of facts) {\n if (startAfter && fact.data.id === startAfter.serialize()) {\n started = true;\n continue;\n }\n if (endAt && fact.data.id === endAt.serialize()) {\n yield { ...fact.data, occurredAt: fact.data.savedAt };\n break;\n }\n if (started) {\n yield { ...fact.data, occurredAt: fact.data.savedAt };\n }\n }\n }\n}\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { StreamId, type ISerializedChange, type ISerializedFact,
|
|
1
|
+
import { StreamId, type ISerializedChange, type ISerializedFact, EventStreamStorageLayer } from "@ddd-ts/core";
|
|
2
|
+
import { ISerializedSavedChange } from "@ddd-ts/core/dist/interfaces/es-event";
|
|
2
3
|
import { InMemoryDatabase, InMemoryTransaction } from "@ddd-ts/store-inmemory";
|
|
3
4
|
export declare class InMemoryEventStreamStorageLayer implements EventStreamStorageLayer {
|
|
4
5
|
readonly database: InMemoryDatabase;
|
|
5
6
|
constructor(database: InMemoryDatabase);
|
|
6
7
|
isLocalRevisionOutdatedError(error: unknown): boolean;
|
|
7
|
-
append(streamId: StreamId, changes: ISerializedChange[], expectedRevision: number, trx: InMemoryTransaction): Promise<
|
|
8
|
+
append(streamId: StreamId, changes: ISerializedChange[], expectedRevision: number, trx: InMemoryTransaction): Promise<ISerializedSavedChange[]>;
|
|
8
9
|
read(streamId: StreamId, from?: number): AsyncIterable<ISerializedFact>;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=in-memory.event-stream.storage-layer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/in-memory.event-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,
|
|
1
|
+
{"version":3,"file":"in-memory.event-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/in-memory.event-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,uBAAuB,EAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,qBAAa,+BACX,YAAW,uBAAuB;aAEN,QAAQ,EAAE,gBAAgB;gBAA1B,QAAQ,EAAE,gBAAgB;IAEtD,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/C,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,mBAAmB;IAkCnB,IAAI,CACT,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,CAAC,eAAe,CAAC;CAclC"}
|
|
@@ -11,25 +11,33 @@ class InMemoryEventStreamStorageLayer {
|
|
|
11
11
|
return error instanceof core_1.ConcurrencyError;
|
|
12
12
|
}
|
|
13
13
|
async append(streamId, changes, expectedRevision, trx) {
|
|
14
|
-
const
|
|
14
|
+
const result = [];
|
|
15
15
|
let revision = expectedRevision + 1;
|
|
16
16
|
for (const change of changes) {
|
|
17
|
-
const ref =
|
|
17
|
+
const ref = `${streamId.serialize()}/${revision}`;
|
|
18
18
|
const stored = {
|
|
19
19
|
...change,
|
|
20
|
-
ref: ref
|
|
20
|
+
ref: ref,
|
|
21
21
|
revision: revision,
|
|
22
22
|
};
|
|
23
23
|
this.database.create(streamId.serialize(), `${revision}`, stored, trx.transaction);
|
|
24
|
-
|
|
24
|
+
result.push({
|
|
25
|
+
...change,
|
|
26
|
+
ref: ref,
|
|
27
|
+
revision: revision,
|
|
28
|
+
occurredAt: undefined,
|
|
29
|
+
});
|
|
25
30
|
revision++;
|
|
26
31
|
}
|
|
27
|
-
return
|
|
32
|
+
return result;
|
|
28
33
|
}
|
|
29
34
|
async *read(streamId, from) {
|
|
30
35
|
const events = this.database.loadAll(streamId.serialize());
|
|
31
36
|
const sorted = events.sort((a, b) => a.data.data.revision - b.data.data.revision);
|
|
32
|
-
const facts = sorted.map((e) =>
|
|
37
|
+
const facts = sorted.map((e) => ({
|
|
38
|
+
...e.data.data,
|
|
39
|
+
occurredAt: e.data.savedAt,
|
|
40
|
+
}));
|
|
33
41
|
yield* facts.slice(from !== undefined ? from : 0);
|
|
34
42
|
}
|
|
35
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.event-stream.storage-layer.js","sourceRoot":"","sources":["../src/in-memory.event-stream.storage-layer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"in-memory.event-stream.storage-layer.js","sourceRoot":"","sources":["../src/in-memory.event-stream.storage-layer.ts"],"names":[],"mappings":";;;AAAA,uCAMsB;AAItB,MAAa,+BAA+B;IAGd;IAA5B,YAA4B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE1D,4BAA4B,CAAC,KAAc;QACzC,OAAO,KAAK,YAAY,uBAAgB,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAkB,EAClB,OAA4B,EAC5B,gBAAwB,EACxB,GAAwB;QAExB,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,IAAI,QAAQ,GAAG,gBAAgB,GAAG,CAAC,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,QAAQ,EAAE,CAAC;YAElD,MAAM,MAAM,GAAG;gBACb,GAAG,MAAM;gBACT,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,QAAQ,CAAC,SAAS,EAAE,EACpB,GAAG,QAAQ,EAAE,EACb,MAAM,EACN,GAAG,CAAC,WAAW,CAChB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,MAAM;gBACT,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YAEH,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CACT,QAAkB,EAClB,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CACtD,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;YACd,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;SAC3B,CAAC,CAAC,CAAC;QAEJ,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAhED,0EAgEC","sourcesContent":["import {\n StreamId,\n type ISerializedChange,\n type ISerializedFact,\n EventStreamStorageLayer,\n ConcurrencyError,\n} from \"@ddd-ts/core\";\nimport { ISerializedSavedChange } from \"@ddd-ts/core/dist/interfaces/es-event\";\nimport { InMemoryDatabase, InMemoryTransaction } from \"@ddd-ts/store-inmemory\";\n\nexport class InMemoryEventStreamStorageLayer\n implements EventStreamStorageLayer\n{\n constructor(public readonly database: InMemoryDatabase) {}\n\n isLocalRevisionOutdatedError(error: unknown): boolean {\n return error instanceof ConcurrencyError;\n }\n\n async append(\n streamId: StreamId,\n changes: ISerializedChange[],\n expectedRevision: number,\n trx: InMemoryTransaction,\n ) {\n const result: ISerializedSavedChange[] = [];\n\n let revision = expectedRevision + 1;\n\n for (const change of changes) {\n const ref = `${streamId.serialize()}/${revision}`;\n\n const stored = {\n ...change,\n ref: ref,\n revision: revision,\n };\n\n this.database.create(\n streamId.serialize(),\n `${revision}`,\n stored,\n trx.transaction,\n );\n\n result.push({\n ...change,\n ref: ref,\n revision: revision,\n occurredAt: undefined,\n });\n\n revision++;\n }\n return result;\n }\n\n async *read(\n streamId: StreamId,\n from?: number,\n ): AsyncIterable<ISerializedFact> {\n const events = this.database.loadAll(streamId.serialize());\n\n const sorted = events.sort(\n (a, b) => a.data.data.revision - b.data.data.revision,\n );\n\n const facts = sorted.map((e) => ({\n ...e.data.data,\n occurredAt: e.data.savedAt,\n }));\n\n yield* facts.slice(from !== undefined ? from : 0);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.projected-stream.reader.d.ts","sourceRoot":"","sources":["../src/in-memory.projected-stream.reader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"in-memory.projected-stream.reader.d.ts","sourceRoot":"","sources":["../src/in-memory.projected-stream.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,qBAAa,6BAA6B,CACxC,MAAM,SAAS,QAAQ,CACvB,SAAQ,qBAAqB,CAAC,MAAM,CAAC;gBACzB,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;CAGxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.projected-stream.reader.js","sourceRoot":"","sources":["../src/in-memory.projected-stream.reader.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"in-memory.projected-stream.reader.js","sourceRoot":"","sources":["../src/in-memory.projected-stream.reader.ts"],"names":[],"mappings":";;;AAAA,uCAA4E;AAE5E,yGAAiG;AAEjG,MAAa,6BAEX,SAAQ,4BAA6B;IACrC,YAAY,QAA0B,EAAE,UAA+B;QACrE,KAAK,CAAC,IAAI,8EAAmC,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;CACF;AAND,sEAMC","sourcesContent":["import { IEsEvent, ISerializer, ProjectedStreamReader } from \"@ddd-ts/core\";\nimport { InMemoryDatabase } from \"@ddd-ts/store-inmemory\";\nimport { InMemoryProjectedStreamStorageLayer } from \"./in-memory.projected-stream.storage-layer\";\n\nexport class InMemoryProjectedStreamReader<\n Events extends IEsEvent,\n> extends ProjectedStreamReader<Events> {\n constructor(database: InMemoryDatabase, serializer: ISerializer<Events>) {\n super(new InMemoryProjectedStreamStorageLayer(database), serializer);\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ISerializedFact, LakeSource, ProjectedStream, ProjectedStreamStorageLayer, StreamSource, Cursor, ISerializedSavedChange } from "@ddd-ts/core";
|
|
2
2
|
import { InMemoryDatabase } from "@ddd-ts/store-inmemory";
|
|
3
3
|
export declare class InMemoryStreamSourceFilter {
|
|
4
4
|
private readonly database;
|
|
5
5
|
constructor(database: InMemoryDatabase);
|
|
6
6
|
all(source: StreamSource, shard: string): Generator<{
|
|
7
|
-
savedAt:
|
|
7
|
+
savedAt: bigint;
|
|
8
8
|
data: any;
|
|
9
9
|
}, void, unknown>;
|
|
10
10
|
}
|
|
@@ -12,13 +12,16 @@ export declare class InMemoryLakeSourceFilter {
|
|
|
12
12
|
private readonly database;
|
|
13
13
|
constructor(database: InMemoryDatabase);
|
|
14
14
|
all(source: LakeSource, shard: string): Generator<{
|
|
15
|
-
savedAt:
|
|
15
|
+
savedAt: bigint;
|
|
16
16
|
data: any;
|
|
17
17
|
}, void, unknown>;
|
|
18
18
|
}
|
|
19
19
|
export declare class InMemoryProjectedStreamStorageLayer implements ProjectedStreamStorageLayer {
|
|
20
20
|
private readonly database;
|
|
21
21
|
constructor(database: InMemoryDatabase);
|
|
22
|
-
|
|
22
|
+
getCursor(savedChange: ISerializedSavedChange): Promise<Cursor | undefined>;
|
|
23
|
+
get(cursor: Cursor): Promise<ISerializedFact | undefined>;
|
|
24
|
+
read(projectedStream: ProjectedStream, shard: string, startAfter?: Cursor, endAt?: Cursor): AsyncGenerator<any, void, unknown>;
|
|
25
|
+
slice(projectedStream: ProjectedStream, shard: string, startAfter?: Cursor, endAt?: Cursor, count?: number): Promise<ISerializedFact[]>;
|
|
23
26
|
}
|
|
24
27
|
//# sourceMappingURL=in-memory.projected-stream.storage-layer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.projected-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/in-memory.projected-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"in-memory.projected-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/in-memory.projected-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEf,UAAU,EACV,eAAe,EACf,2BAA2B,EAC3B,YAAY,EACZ,MAAM,EACN,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAEtD,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM;;;;CAezC;AAED,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAEtD,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM;;;;CAYvC;AAED,qBAAa,mCACX,YAAW,2BAA2B;IAE1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAEjD,SAAS,CACb,WAAW,EAAE,sBAAsB,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAexB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAUxD,IAAI,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM;IAmCV,KAAK,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;CAa9B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InMemoryProjectedStreamStorageLayer = exports.InMemoryLakeSourceFilter = exports.InMemoryStreamSourceFilter = void 0;
|
|
4
4
|
const core_1 = require("@ddd-ts/core");
|
|
5
|
+
const shape_1 = require("@ddd-ts/shape");
|
|
5
6
|
class InMemoryStreamSourceFilter {
|
|
6
7
|
database;
|
|
7
8
|
constructor(database) {
|
|
@@ -52,6 +53,29 @@ class InMemoryProjectedStreamStorageLayer {
|
|
|
52
53
|
constructor(database) {
|
|
53
54
|
this.database = database;
|
|
54
55
|
}
|
|
56
|
+
async getCursor(savedChange) {
|
|
57
|
+
const [collection, id] = savedChange.ref.split("/");
|
|
58
|
+
if (!collection || !id)
|
|
59
|
+
return undefined;
|
|
60
|
+
const raw = this.database.storage.getCollection(collection).getRaw(id);
|
|
61
|
+
if (!raw)
|
|
62
|
+
return undefined;
|
|
63
|
+
return new core_1.Cursor({
|
|
64
|
+
ref: savedChange.ref,
|
|
65
|
+
eventId: new core_1.EventId(savedChange.id),
|
|
66
|
+
occurredAt: shape_1.MicrosecondTimestamp.fromMicroseconds(raw.savedAt),
|
|
67
|
+
revision: savedChange.revision,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async get(cursor) {
|
|
71
|
+
const [collection, id] = cursor.ref.split("/");
|
|
72
|
+
if (!collection || !id)
|
|
73
|
+
return undefined;
|
|
74
|
+
const raw = this.database.storage.getCollection(collection).getRaw(id);
|
|
75
|
+
if (!raw)
|
|
76
|
+
return undefined;
|
|
77
|
+
return { ...raw.data, occurredAt: raw.savedAt };
|
|
78
|
+
}
|
|
55
79
|
async *read(projectedStream, shard, startAfter, endAt) {
|
|
56
80
|
const sources = projectedStream.sources.map((source) => {
|
|
57
81
|
if (source instanceof core_1.StreamSource) {
|
|
@@ -65,23 +89,33 @@ class InMemoryProjectedStreamStorageLayer {
|
|
|
65
89
|
? a.data.revision - b.data.revision
|
|
66
90
|
: a.savedAt > b.savedAt
|
|
67
91
|
? 1
|
|
68
|
-
: -1)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (startAfter && event.ref === startAfter.serialize()) {
|
|
92
|
+
: -1);
|
|
93
|
+
let started = !startAfter?.ref;
|
|
94
|
+
for (const fact of all) {
|
|
95
|
+
if (startAfter && fact.data.ref === startAfter.ref) {
|
|
73
96
|
started = true;
|
|
74
97
|
continue;
|
|
75
98
|
}
|
|
76
|
-
if (endAt &&
|
|
77
|
-
yield
|
|
99
|
+
if (endAt?.ref && fact.data.ref === endAt.ref) {
|
|
100
|
+
yield { ...fact.data, occurredAt: fact.savedAt };
|
|
78
101
|
break;
|
|
79
102
|
}
|
|
80
103
|
if (started) {
|
|
81
|
-
yield
|
|
104
|
+
yield { ...fact.data, occurredAt: fact.savedAt };
|
|
82
105
|
}
|
|
83
106
|
}
|
|
84
107
|
}
|
|
108
|
+
async slice(projectedStream, shard, startAfter, endAt, count) {
|
|
109
|
+
const stream = this.read(projectedStream, shard, startAfter, endAt);
|
|
110
|
+
const result = [];
|
|
111
|
+
let limit = count ?? Number.POSITIVE_INFINITY;
|
|
112
|
+
for await (const fact of stream) {
|
|
113
|
+
if (!limit--)
|
|
114
|
+
break;
|
|
115
|
+
result.push(fact);
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
85
119
|
}
|
|
86
120
|
exports.InMemoryProjectedStreamStorageLayer = InMemoryProjectedStreamStorageLayer;
|
|
87
121
|
//# sourceMappingURL=in-memory.projected-stream.storage-layer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.projected-stream.storage-layer.js","sourceRoot":"","sources":["../src/in-memory.projected-stream.storage-layer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"in-memory.projected-stream.storage-layer.js","sourceRoot":"","sources":["../src/in-memory.projected-stream.storage-layer.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n EventId,\n ISerializedFact,\n LakeId,\n LakeSource,\n ProjectedStream,\n ProjectedStreamStorageLayer,\n StreamSource,\n Cursor,\n ISerializedSavedChange,\n} from \"@ddd-ts/core\";\nimport { InMemoryDatabase } from \"@ddd-ts/store-inmemory\";\nimport { MicrosecondTimestamp } from \"@ddd-ts/shape\";\n\nexport class InMemoryStreamSourceFilter {\n constructor(private readonly database: InMemoryDatabase) {}\n\n *all(source: StreamSource, shard: string) {\n const cols = [...this.database.storage.collections.keys()];\n const streams = cols.filter((it) => it.startsWith(source.aggregateType));\n for (const stream of streams) {\n yield* this.database\n .loadAll(stream)\n .filter((event) => {\n if (!source.events.includes(event.data.data.name)) return false;\n const payload = event.data.data.payload;\n if (!payload) return false;\n return payload[source.shardKey] === shard;\n })\n .map((event) => event.data);\n }\n }\n}\n\nexport class InMemoryLakeSourceFilter {\n constructor(private readonly database: InMemoryDatabase) {}\n\n *all(source: LakeSource, shard: string) {\n const lakeId = LakeId.from(source.shardType, shard);\n yield* this.database\n .loadAll(lakeId.serialize())\n .filter((event) => {\n if (!source.events.includes(event.data.data.name)) return false;\n const payload = event.data.data.payload;\n if (!payload) return false;\n return payload[source.shardKey] === shard;\n })\n .map((event) => event.data);\n }\n}\n\nexport class InMemoryProjectedStreamStorageLayer\n implements ProjectedStreamStorageLayer\n{\n constructor(private readonly database: InMemoryDatabase) {}\n\n async getCursor(\n savedChange: ISerializedSavedChange,\n ): Promise<Cursor | undefined> {\n const [collection, id] = savedChange.ref.split(\"/\");\n if (!collection || !id) return undefined;\n\n const raw = this.database.storage.getCollection(collection).getRaw(id);\n\n if (!raw) return undefined;\n return new Cursor({\n ref: savedChange.ref,\n eventId: new EventId(savedChange.id),\n occurredAt: MicrosecondTimestamp.fromMicroseconds(raw.savedAt),\n revision: savedChange.revision,\n });\n }\n\n async get(cursor: Cursor): Promise<ISerializedFact | undefined> {\n const [collection, id] = cursor.ref.split(\"/\");\n if (!collection || !id) return undefined;\n\n const raw = this.database.storage.getCollection(collection).getRaw(id);\n\n if (!raw) return undefined;\n return { ...raw.data, occurredAt: raw.savedAt };\n }\n\n async *read(\n projectedStream: ProjectedStream,\n shard: string,\n startAfter?: Cursor,\n endAt?: Cursor,\n ) {\n const sources = projectedStream.sources.map((source) => {\n if (source instanceof StreamSource) {\n return new InMemoryStreamSourceFilter(this.database).all(source, shard);\n }\n return new InMemoryLakeSourceFilter(this.database).all(source, shard);\n });\n\n const all = sources\n .flatMap((source) => [...source])\n .sort((a, b) =>\n a.savedAt === b.savedAt\n ? a.data.revision - b.data.revision\n : a.savedAt > b.savedAt\n ? 1\n : -1,\n );\n\n let started = !startAfter?.ref;\n for (const fact of all) {\n if (startAfter && fact.data.ref === startAfter.ref) {\n started = true;\n continue;\n }\n if (endAt?.ref && fact.data.ref === endAt.ref) {\n yield { ...fact.data, occurredAt: fact.savedAt };\n break;\n }\n if (started) {\n yield { ...fact.data, occurredAt: fact.savedAt };\n }\n }\n }\n\n async slice(\n projectedStream: ProjectedStream,\n shard: string,\n startAfter?: Cursor,\n endAt?: Cursor,\n count?: number,\n ): Promise<ISerializedFact[]> {\n const stream = this.read(projectedStream, shard, startAfter, endAt);\n\n const result: ISerializedFact[] = [];\n\n let limit = count ?? Number.POSITIVE_INFINITY;\n for await (const fact of stream) {\n if (!limit--) break;\n result.push(fact);\n }\n\n return result;\n }\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { InMemoryEventLakeStore } from "./in-memory.event-lake.store";
|
|
|
3
3
|
export { InMemoryEventStreamStorageLayer } from "./in-memory.event-stream.storage-layer";
|
|
4
4
|
export { InMemoryEventStreamStore } from "./in-memory.event-stream.store";
|
|
5
5
|
export { InMemoryEventStreamAggregateStore, MakeInMemoryEventStreamAggregateStore, } from "./in-memory.event-stream.aggregate-store";
|
|
6
|
-
export { InMemoryEventLakeAggregateStore } from "./in-memory.event-lake.aggregate-store";
|
|
6
|
+
export { InMemoryEventLakeAggregateStore, MakeInMemoryEventLakeAggregateStore, } from "./in-memory.event-lake.aggregate-store";
|
|
7
7
|
export { InMemoryProjectedStreamStorageLayer, InMemoryLakeSourceFilter, InMemoryStreamSourceFilter, } from "./in-memory.projected-stream.storage-layer";
|
|
8
8
|
export { InMemoryProjectedStreamReader } from "./in-memory.projected-stream.reader";
|
|
9
9
|
export { InMemorySnapshotter } from "./in-memory.snapshotter";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACL,iCAAiC,EACjC,qCAAqC,GACtC,MAAM,0CAA0C,CAAC;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACL,iCAAiC,EACjC,qCAAqC,GACtC,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,GACpC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InMemorySnapshotter = exports.InMemoryProjectedStreamReader = exports.InMemoryStreamSourceFilter = exports.InMemoryLakeSourceFilter = exports.InMemoryProjectedStreamStorageLayer = exports.InMemoryEventLakeAggregateStore = exports.MakeInMemoryEventStreamAggregateStore = exports.InMemoryEventStreamAggregateStore = exports.InMemoryEventStreamStore = exports.InMemoryEventStreamStorageLayer = exports.InMemoryEventLakeStore = exports.InMemoryEventLakeStorageLayer = void 0;
|
|
3
|
+
exports.InMemorySnapshotter = exports.InMemoryProjectedStreamReader = exports.InMemoryStreamSourceFilter = exports.InMemoryLakeSourceFilter = exports.InMemoryProjectedStreamStorageLayer = exports.MakeInMemoryEventLakeAggregateStore = exports.InMemoryEventLakeAggregateStore = exports.MakeInMemoryEventStreamAggregateStore = exports.InMemoryEventStreamAggregateStore = exports.InMemoryEventStreamStore = exports.InMemoryEventStreamStorageLayer = exports.InMemoryEventLakeStore = exports.InMemoryEventLakeStorageLayer = void 0;
|
|
4
4
|
var in_memory_event_lake_storage_layer_1 = require("./in-memory.event-lake.storage-layer");
|
|
5
5
|
Object.defineProperty(exports, "InMemoryEventLakeStorageLayer", { enumerable: true, get: function () { return in_memory_event_lake_storage_layer_1.InMemoryEventLakeStorageLayer; } });
|
|
6
6
|
var in_memory_event_lake_store_1 = require("./in-memory.event-lake.store");
|
|
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "InMemoryEventStreamAggregateStore", { enumerable
|
|
|
14
14
|
Object.defineProperty(exports, "MakeInMemoryEventStreamAggregateStore", { enumerable: true, get: function () { return in_memory_event_stream_aggregate_store_1.MakeInMemoryEventStreamAggregateStore; } });
|
|
15
15
|
var in_memory_event_lake_aggregate_store_1 = require("./in-memory.event-lake.aggregate-store");
|
|
16
16
|
Object.defineProperty(exports, "InMemoryEventLakeAggregateStore", { enumerable: true, get: function () { return in_memory_event_lake_aggregate_store_1.InMemoryEventLakeAggregateStore; } });
|
|
17
|
+
Object.defineProperty(exports, "MakeInMemoryEventLakeAggregateStore", { enumerable: true, get: function () { return in_memory_event_lake_aggregate_store_1.MakeInMemoryEventLakeAggregateStore; } });
|
|
17
18
|
var in_memory_projected_stream_storage_layer_1 = require("./in-memory.projected-stream.storage-layer");
|
|
18
19
|
Object.defineProperty(exports, "InMemoryProjectedStreamStorageLayer", { enumerable: true, get: function () { return in_memory_projected_stream_storage_layer_1.InMemoryProjectedStreamStorageLayer; } });
|
|
19
20
|
Object.defineProperty(exports, "InMemoryLakeSourceFilter", { enumerable: true, get: function () { return in_memory_projected_stream_storage_layer_1.InMemoryLakeSourceFilter; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2FAAqF;AAA5E,mJAAA,6BAA6B,OAAA;AACtC,2EAAsE;AAA7D,oIAAA,sBAAsB,OAAA;AAC/B,+FAAyF;AAAhF,uJAAA,+BAA+B,OAAA;AACxC,+EAA0E;AAAjE,wIAAA,wBAAwB,OAAA;AAEjC,mGAGkD;AAFhD,2JAAA,iCAAiC,OAAA;AACjC,+JAAA,qCAAqC,OAAA;AAGvC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2FAAqF;AAA5E,mJAAA,6BAA6B,OAAA;AACtC,2EAAsE;AAA7D,oIAAA,sBAAsB,OAAA;AAC/B,+FAAyF;AAAhF,uJAAA,+BAA+B,OAAA;AACxC,+EAA0E;AAAjE,wIAAA,wBAAwB,OAAA;AAEjC,mGAGkD;AAFhD,2JAAA,iCAAiC,OAAA;AACjC,+JAAA,qCAAqC,OAAA;AAGvC,+FAGgD;AAF9C,uJAAA,+BAA+B,OAAA;AAC/B,2JAAA,mCAAmC,OAAA;AAGrC,uGAIoD;AAHlD,+JAAA,mCAAmC,OAAA;AACnC,oJAAA,wBAAwB,OAAA;AACxB,sJAAA,0BAA0B,OAAA;AAG5B,yFAAoF;AAA3E,kJAAA,6BAA6B,OAAA;AAEtC,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA","sourcesContent":["export { InMemoryEventLakeStorageLayer } from \"./in-memory.event-lake.storage-layer\";\nexport { InMemoryEventLakeStore } from \"./in-memory.event-lake.store\";\nexport { InMemoryEventStreamStorageLayer } from \"./in-memory.event-stream.storage-layer\";\nexport { InMemoryEventStreamStore } from \"./in-memory.event-stream.store\";\n\nexport {\n InMemoryEventStreamAggregateStore,\n MakeInMemoryEventStreamAggregateStore,\n} from \"./in-memory.event-stream.aggregate-store\";\n\nexport {\n InMemoryEventLakeAggregateStore,\n MakeInMemoryEventLakeAggregateStore,\n} from \"./in-memory.event-lake.aggregate-store\";\n\nexport {\n InMemoryProjectedStreamStorageLayer,\n InMemoryLakeSourceFilter,\n InMemoryStreamSourceFilter,\n} from \"./in-memory.projected-stream.storage-layer\";\n\nexport { InMemoryProjectedStreamReader } from \"./in-memory.projected-stream.reader\";\n\nexport { InMemorySnapshotter } from \"./in-memory.snapshotter\";\n"]}
|
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.33",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,15 +9,16 @@
|
|
|
9
9
|
"build": "tsc"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@ddd-ts/core": "0.0.
|
|
13
|
-
"@ddd-ts/
|
|
14
|
-
"@ddd-ts/
|
|
12
|
+
"@ddd-ts/core": "0.0.33",
|
|
13
|
+
"@ddd-ts/shape": "0.0.33",
|
|
14
|
+
"@ddd-ts/store-inmemory": "0.0.33",
|
|
15
|
+
"@ddd-ts/types": "0.0.33"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@ddd-ts/shape": "0.0.
|
|
18
|
-
"@ddd-ts/tests": "0.0.
|
|
19
|
-
"@ddd-ts/tools": "0.0.
|
|
20
|
-
"@ddd-ts/traits": "0.0.
|
|
18
|
+
"@ddd-ts/shape": "0.0.33",
|
|
19
|
+
"@ddd-ts/tests": "0.0.33",
|
|
20
|
+
"@ddd-ts/tools": "0.0.33",
|
|
21
|
+
"@ddd-ts/traits": "0.0.33",
|
|
21
22
|
"@types/jest": "^29.5.1",
|
|
22
23
|
"@types/node": "^20.12.4"
|
|
23
24
|
}
|