@reventlessdev/reventless-local 3.0.0-alpha.114 → 3.0.0-alpha.116
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/CHANGELOG.md +30 -0
- package/package.json +8 -8
- package/src/Platform.res +116 -67
- package/src/Platform.res.mjs +114 -190
- package/src/adapter/DcbEventLog/DcbEventLogStorage_InMemory.res +102 -17
- package/src/adapter/DcbEventLog/DcbEventLogStorage_InMemory.res.mjs +105 -22
- package/src/adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res +123 -40
- package/src/adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res.mjs +96 -24
- package/src/adapter/EventCollector/LocalEventCollectorChannel.res +33 -0
- package/src/adapter/EventCollector/LocalEventCollectorChannel.res.mjs +44 -0
- package/src/adapter/EventLog/EventLogStorage_InMemory.res +24 -3
- package/src/adapter/EventLog/EventLogStorage_InMemory.res.mjs +21 -4
- package/src/adapter/EventLog/EventLogStorage_Sqlite.res +148 -27
- package/src/adapter/EventLog/EventLogStorage_Sqlite.res.mjs +144 -34
- package/src/adapter/LocalBus.res +85 -3
- package/src/adapter/LocalBus.res.mjs +220 -66
- package/src/adapter/ProjectionCheckpoint.res +350 -0
- package/src/adapter/ProjectionCheckpoint.res.mjs +327 -0
- package/src/adapter/ProjectionPending.res +60 -0
- package/src/adapter/ProjectionPending.res.mjs +64 -0
- package/src/adapter/QueryDb/QueryDbListQuery.res +261 -0
- package/src/adapter/QueryDb/QueryDbListQuery.res.mjs +212 -0
- package/src/adapter/QueryDb/QueryDbResolvers_GraphQL.res +54 -286
- package/src/adapter/QueryDb/QueryDbResolvers_GraphQL.res.mjs +28 -190
- package/src/adapter/QueryDb/QueryDbStorage_InMemory.res +128 -10
- package/src/adapter/QueryDb/QueryDbStorage_InMemory.res.mjs +123 -23
- package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res +187 -12
- package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res.mjs +120 -7
- package/src/adapter/SqliteDriver.res +17 -2
- package/src/adapter/SqliteDriver.res.mjs +10 -2
- package/src/components/DcbEventLog_Builder.res +7 -1
- package/src/components/DcbEventLog_Builder.res.mjs +3 -3
- package/src/components/ReadModel_Builder.res +3 -1
- package/src/components/ReadModel_Builder.res.mjs +13 -4
- package/src/components/StateViewSlice_Builder.res +4 -1
- package/src/components/StateViewSlice_Builder.res.mjs +9 -3
- package/src/test/Mocks/MockEventLogStorage.res +20 -3
- package/src/test/Mocks/MockEventLogStorage.res.mjs +25 -3
- package/tests/PluginEventDecodeTest.res +51 -0
- package/tests/PluginEventDecodeTest.res.mjs +63 -0
- package/tests/adapter/BackendParityTest.res +64 -0
- package/tests/adapter/BackendParityTest.res.mjs +45 -0
- package/tests/adapter/DcbEventLogStorageSqliteTest.res +73 -0
- package/tests/adapter/DcbEventLogStorageSqliteTest.res.mjs +86 -0
- package/tests/adapter/DcbEventLogStorageTest.res +46 -0
- package/tests/adapter/DcbEventLogStorageTest.res.mjs +63 -0
- package/tests/adapter/EventLogSnapshotParityTest.res +81 -0
- package/tests/adapter/EventLogSnapshotParityTest.res.mjs +141 -0
- package/tests/adapter/EventLogStorageSqliteTest.res +132 -2
- package/tests/adapter/EventLogStorageSqliteTest.res.mjs +195 -1
- package/tests/adapter/LocalBusPubSubTest.res +31 -0
- package/tests/adapter/LocalBusPubSubTest.res.mjs +28 -0
- package/tests/adapter/ProjectionCheckpointTest.res +422 -0
- package/tests/adapter/ProjectionCheckpointTest.res.mjs +401 -0
- package/tests/adapter/QueryDbGsiTtlTest.res +78 -0
- package/tests/adapter/QueryDbGsiTtlTest.res.mjs +77 -0
- package/tests/adapter/QueryDbListPushdownParityTest.res +197 -0
- package/tests/adapter/QueryDbListPushdownParityTest.res.mjs +292 -0
- package/tests/adapter/QueryDbListResolverTest.res +76 -0
- package/tests/adapter/QueryDbListResolverTest.res.mjs +84 -0
- package/tests/components/aggregate/AggregateFixtures.res +4 -0
- package/tests/components/aggregate/AggregateFixtures.res.mjs +1 -0
- package/tests/components/eventlog/EventLogAppendStreamTest.res.mjs +4 -4
- package/tests/components/eventlog/EventLogStreamTest.res.mjs +8 -8
- package/tests/plugin/PluginBehavior_GWT.res.mjs +1 -0
|
@@ -52,7 +52,7 @@ globalThis.describe("EventLog.appendStream (in-memory adapter)", () => {
|
|
|
52
52
|
}
|
|
53
53
|
]);
|
|
54
54
|
await Effect.runPromise(ops.appendStream(0, "as-order-1", stream));
|
|
55
|
-
let replayed = await Effect.runPromise(Stream.runCollect(ops.replayStream("as-order-1")));
|
|
55
|
+
let replayed = await Effect.runPromise(Stream.runCollect(ops.replayStream("as-order-1", undefined)));
|
|
56
56
|
let first = replayed[0];
|
|
57
57
|
globalThis.expect(first).toEqual({
|
|
58
58
|
TAG: "ItemCreated",
|
|
@@ -87,7 +87,7 @@ globalThis.describe("EventLog.appendStream (in-memory adapter)", () => {
|
|
|
87
87
|
id: "b"
|
|
88
88
|
})
|
|
89
89
|
]);
|
|
90
|
-
let sourceStream = ops.replayStream("as-src-1");
|
|
90
|
+
let sourceStream = ops.replayStream("as-src-1", undefined);
|
|
91
91
|
await Effect.runPromise(ops.appendStream(0, "as-dst-1", sourceStream));
|
|
92
92
|
let destEvents = await ops.replay("as-dst-1");
|
|
93
93
|
globalThis.expect(destEvents.length).toBe(2);
|
|
@@ -98,9 +98,9 @@ globalThis.describe("EventLog.appendStream (in-memory adapter)", () => {
|
|
|
98
98
|
TAG: "ItemCreated",
|
|
99
99
|
name: "copied"
|
|
100
100
|
})]);
|
|
101
|
-
let sourceStream = ops.replayStream("as-src-2");
|
|
101
|
+
let sourceStream = ops.replayStream("as-src-2", undefined);
|
|
102
102
|
await Effect.runPromise(ops.appendStream(0, "as-dst-2", sourceStream));
|
|
103
|
-
let destEvents = await Effect.runPromise(Stream.runCollect(ops.replayStream("as-dst-2")));
|
|
103
|
+
let destEvents = await Effect.runPromise(Stream.runCollect(ops.replayStream("as-dst-2", undefined)));
|
|
104
104
|
let first = destEvents[0];
|
|
105
105
|
globalThis.expect(first).toEqual({
|
|
106
106
|
TAG: "ItemCreated",
|
|
@@ -23,12 +23,12 @@ globalThis.describe("EventLog.replayStream (in-memory adapter)", () => {
|
|
|
23
23
|
TAG: "ItemDeleted",
|
|
24
24
|
id: "stream-1"
|
|
25
25
|
})]);
|
|
26
|
-
let count = await Effect.runPromise(Stream$1.runFold(ops.replayStream("stream-1"), 0, (n, param) => n + 1 | 0));
|
|
26
|
+
let count = await Effect.runPromise(Stream$1.runFold(ops.replayStream("stream-1", undefined), 0, (n, param) => n + 1 | 0));
|
|
27
27
|
globalThis.expect(count).toBe(2);
|
|
28
28
|
});
|
|
29
29
|
globalThis.test("replayStream for unknown id returns empty stream", async () => {
|
|
30
30
|
let ops = await TestRunner$ReventlessLocal.resolve(Component$ReventlessCore.operations(EventLogFixtures$ReventlessLocal.eventLog));
|
|
31
|
-
let count = await Effect.runPromise(Stream$1.runFold(ops.replayStream("no-such-id"), 0, (n, param) => n + 1 | 0));
|
|
31
|
+
let count = await Effect.runPromise(Stream$1.runFold(ops.replayStream("no-such-id", undefined), 0, (n, param) => n + 1 | 0));
|
|
32
32
|
globalThis.expect(count).toBe(0);
|
|
33
33
|
});
|
|
34
34
|
globalThis.test("replayStream emits events in append order", async () => {
|
|
@@ -41,7 +41,7 @@ globalThis.describe("EventLog.replayStream (in-memory adapter)", () => {
|
|
|
41
41
|
TAG: "ItemDeleted",
|
|
42
42
|
id: "stream-2"
|
|
43
43
|
})]);
|
|
44
|
-
let events = await Effect.runPromise(Stream.runCollect(ops.replayStream("stream-2")));
|
|
44
|
+
let events = await Effect.runPromise(Stream.runCollect(ops.replayStream("stream-2", undefined)));
|
|
45
45
|
globalThis.expect(events.length).toBe(2);
|
|
46
46
|
let first = events[0];
|
|
47
47
|
globalThis.expect(first).toEqual({
|
|
@@ -65,8 +65,8 @@ globalThis.describe("EventLog.replayStream (in-memory adapter)", () => {
|
|
|
65
65
|
id: "agg-Y"
|
|
66
66
|
})
|
|
67
67
|
]);
|
|
68
|
-
let countX = await Effect.runPromise(Stream$1.runFold(ops.replayStream("agg-X"), 0, (n, param) => n + 1 | 0));
|
|
69
|
-
let countY = await Effect.runPromise(Stream$1.runFold(ops.replayStream("agg-Y"), 0, (n, param) => n + 1 | 0));
|
|
68
|
+
let countX = await Effect.runPromise(Stream$1.runFold(ops.replayStream("agg-X", undefined), 0, (n, param) => n + 1 | 0));
|
|
69
|
+
let countY = await Effect.runPromise(Stream$1.runFold(ops.replayStream("agg-Y", undefined), 0, (n, param) => n + 1 | 0));
|
|
70
70
|
globalThis.expect(countX).toBe(1);
|
|
71
71
|
globalThis.expect(countY).toBe(2);
|
|
72
72
|
});
|
|
@@ -94,7 +94,7 @@ globalThis.describe("EventLog.replayStream (in-memory adapter)", () => {
|
|
|
94
94
|
name: "e5"
|
|
95
95
|
})
|
|
96
96
|
]);
|
|
97
|
-
let first2 = await Effect.runPromise(Stream.runCollect(Stream$1.take(ops.replayStream("stream-3"), 2)));
|
|
97
|
+
let first2 = await Effect.runPromise(Stream.runCollect(Stream$1.take(ops.replayStream("stream-3", undefined), 2)));
|
|
98
98
|
globalThis.expect(first2.length).toBe(2);
|
|
99
99
|
});
|
|
100
100
|
});
|
|
@@ -115,7 +115,7 @@ globalThis.describe("EventLog.replayStream (in-memory adapter)", () => {
|
|
|
115
115
|
TAG: "ItemCreated",
|
|
116
116
|
name: "e3"
|
|
117
117
|
})]);
|
|
118
|
-
let match = await Effect.runPromise(Stream$1.runFold(ops.replayStream("fold-1"), [
|
|
118
|
+
let match = await Effect.runPromise(Stream$1.runFold(ops.replayStream("fold-1", undefined), [
|
|
119
119
|
undefined,
|
|
120
120
|
0
|
|
121
121
|
], (param, _ev) => [
|
|
@@ -126,7 +126,7 @@ globalThis.describe("EventLog.replayStream (in-memory adapter)", () => {
|
|
|
126
126
|
});
|
|
127
127
|
globalThis.test("runFold on empty stream returns initial accumulator", async () => {
|
|
128
128
|
let ops = await TestRunner$ReventlessLocal.resolve(Component$ReventlessCore.operations(EventLogFixtures$ReventlessLocal.eventLog));
|
|
129
|
-
let match = await Effect.runPromise(Stream$1.runFold(ops.replayStream("unknown-fold"), [
|
|
129
|
+
let match = await Effect.runPromise(Stream$1.runFold(ops.replayStream("unknown-fold", undefined), [
|
|
130
130
|
undefined,
|
|
131
131
|
0
|
|
132
132
|
], (param, _ev) => [
|
|
@@ -20,6 +20,7 @@ let PluginTest = Behavior_GWT$ReventlessGwt.MakeFromAggregate({
|
|
|
20
20
|
initialState: PluginBehavior$ReventlessCore.initialState,
|
|
21
21
|
evolve: PluginBehavior$ReventlessCore.evolve,
|
|
22
22
|
decide: PluginBehavior$ReventlessCore.decide,
|
|
23
|
+
snapshot: undefined,
|
|
23
24
|
moduleUrl: PluginBehavior$ReventlessCore.moduleUrl
|
|
24
25
|
});
|
|
25
26
|
|