@reventlessdev/reventless-gwt 1.0.0-alpha.97 → 1.0.0-alpha.98
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
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 1.0.0-alpha.98 (2026-07-10)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **plugin-structure:** capture per-component chapter grouping for the deployed graph ([f9c88a9](https://github.com/ReventlessDev/reventless-core/commit/f9c88a9a48d8c032ffe23f9e5277caf12c29e85c))
|
|
11
|
+
|
|
12
|
+
|
|
6
13
|
# 1.0.0-alpha.97 (2026-07-10)
|
|
7
14
|
|
|
8
15
|
**Note:** Version bump only for package @reventlessdev/reventless-gwt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-gwt",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.98",
|
|
4
4
|
"description": "Given-When-Then DSLs and CLI runner for Reventless slice testing",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"bin": {
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"chokidar": "^3.6.0",
|
|
21
21
|
"picocolors": "^1.1.1",
|
|
22
22
|
"sury": "11.0.0-alpha.4",
|
|
23
|
-
"@reventlessdev/
|
|
23
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.94",
|
|
24
24
|
"@reventlessdev/rescript-jest": "1.0.0-alpha.6",
|
|
25
|
-
"@reventlessdev/reventless-core": "3.0.0-alpha.
|
|
26
|
-
"@reventlessdev/
|
|
27
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.
|
|
25
|
+
"@reventlessdev/reventless-core": "3.0.0-alpha.153",
|
|
26
|
+
"@reventlessdev/rescript-effect": "0.1.0-alpha.25",
|
|
27
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.72",
|
|
28
28
|
"@reventlessdev/reventless-vscode-protocol": "1.0.0-alpha.17"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
@@ -15,6 +15,7 @@ let writable = (~name, ~produces=[], ~consumes=[], ~linkedViews=[]): Reventless.
|
|
|
15
15
|
linkedViews,
|
|
16
16
|
consistencyRead: None,
|
|
17
17
|
events: [],
|
|
18
|
+
chapter: None,
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
let queryable = (~name, ~consumes=[]): Reventless.Plugin.queryableDef => {
|
|
@@ -27,6 +28,7 @@ let queryable = (~name, ~consumes=[]): Reventless.Plugin.queryableDef => {
|
|
|
27
28
|
searchableFields: [],
|
|
28
29
|
statusField: None,
|
|
29
30
|
visibility: None,
|
|
31
|
+
chapter: None,
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
let automation = (~name, ~consumes=[]): Reventless.Plugin.automationSliceDef => {
|
|
@@ -34,6 +36,7 @@ let automation = (~name, ~consumes=[]): Reventless.Plugin.automationSliceDef =>
|
|
|
34
36
|
consumedEventTypes: consumes,
|
|
35
37
|
producedCommandTypes: [],
|
|
36
38
|
targetName: "",
|
|
39
|
+
chapter: None,
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
let structure = (
|
|
@@ -13,7 +13,8 @@ function writable(name, producesOpt, consumesOpt, linkedViewsOpt) {
|
|
|
13
13
|
consumedEventTypes: consumes,
|
|
14
14
|
linkedViews: linkedViews,
|
|
15
15
|
consistencyRead: undefined,
|
|
16
|
-
events: []
|
|
16
|
+
events: [],
|
|
17
|
+
chapter: undefined
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
20
|
|
|
@@ -28,7 +29,8 @@ function queryable(name, consumesOpt) {
|
|
|
28
29
|
labelField: "id",
|
|
29
30
|
searchableFields: [],
|
|
30
31
|
statusField: undefined,
|
|
31
|
-
visibility: undefined
|
|
32
|
+
visibility: undefined,
|
|
33
|
+
chapter: undefined
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
36
|
|
|
@@ -38,7 +40,8 @@ function automation(name, consumesOpt) {
|
|
|
38
40
|
name: name,
|
|
39
41
|
consumedEventTypes: consumes,
|
|
40
42
|
producedCommandTypes: [],
|
|
41
|
-
targetName: ""
|
|
43
|
+
targetName: "",
|
|
44
|
+
chapter: undefined
|
|
42
45
|
};
|
|
43
46
|
}
|
|
44
47
|
|
|
@@ -19,7 +19,7 @@ let command = (~name, ~mutationField, ~apiExposed=None): Reventless.Plugin.comma
|
|
|
19
19
|
|
|
20
20
|
let evt = (~name): Reventless.Plugin.eventDef => {name, schema: "", references: []}
|
|
21
21
|
|
|
22
|
-
let writable = (~name, ~commands=[], ~produces=[], ~consumes=[], ~linkedViews=[], ~events=[]): Reventless.Plugin.writableDef => {
|
|
22
|
+
let writable = (~name, ~commands=[], ~produces=[], ~consumes=[], ~linkedViews=[], ~events=[], ~chapter=None): Reventless.Plugin.writableDef => {
|
|
23
23
|
name,
|
|
24
24
|
commands,
|
|
25
25
|
producedEventTypes: produces,
|
|
@@ -27,9 +27,10 @@ let writable = (~name, ~commands=[], ~produces=[], ~consumes=[], ~linkedViews=[]
|
|
|
27
27
|
linkedViews,
|
|
28
28
|
consistencyRead: None,
|
|
29
29
|
events,
|
|
30
|
+
chapter,
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
let queryable = (~name, ~consumes=[], ~visibility=None): Reventless.Plugin.queryableDef => {
|
|
33
|
+
let queryable = (~name, ~consumes=[], ~visibility=None, ~chapter=None): Reventless.Plugin.queryableDef => {
|
|
33
34
|
name,
|
|
34
35
|
queryField: "",
|
|
35
36
|
schema: "",
|
|
@@ -39,28 +40,32 @@ let queryable = (~name, ~consumes=[], ~visibility=None): Reventless.Plugin.query
|
|
|
39
40
|
searchableFields: [],
|
|
40
41
|
statusField: None,
|
|
41
42
|
visibility,
|
|
43
|
+
chapter,
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
let automation = (~name, ~consumes=[], ~produces=[], ~target=""): Reventless.Plugin.automationSliceDef => {
|
|
46
|
+
let automation = (~name, ~consumes=[], ~produces=[], ~target="", ~chapter=None): Reventless.Plugin.automationSliceDef => {
|
|
45
47
|
name,
|
|
46
48
|
consumedEventTypes: consumes,
|
|
47
49
|
producedCommandTypes: produces,
|
|
48
50
|
targetName: target,
|
|
51
|
+
chapter,
|
|
49
52
|
}
|
|
50
53
|
|
|
51
|
-
let inbound = (~name, ~produces=[], ~target="", ~ext=None): Reventless.Plugin.inboundTranslationSliceDef => {
|
|
54
|
+
let inbound = (~name, ~produces=[], ~target="", ~ext=None, ~chapter=None): Reventless.Plugin.inboundTranslationSliceDef => {
|
|
52
55
|
name,
|
|
53
56
|
commandTypes: produces,
|
|
54
57
|
targetName: target,
|
|
55
58
|
externalSystem: ext,
|
|
59
|
+
chapter,
|
|
56
60
|
}
|
|
57
61
|
|
|
58
|
-
let outbound = (~name, ~consumes=[], ~produces=[], ~target=None, ~ext=None): Reventless.Plugin.outboundTranslationSliceDef => {
|
|
62
|
+
let outbound = (~name, ~consumes=[], ~produces=[], ~target=None, ~ext=None, ~chapter=None): Reventless.Plugin.outboundTranslationSliceDef => {
|
|
59
63
|
name,
|
|
60
64
|
consumedEventTypes: consumes,
|
|
61
65
|
inboundCommandTypes: produces,
|
|
62
66
|
targetName: target,
|
|
63
67
|
externalSystem: ext,
|
|
68
|
+
chapter,
|
|
64
69
|
}
|
|
65
70
|
|
|
66
71
|
let structure = (
|
|
@@ -27,12 +27,13 @@ function evt(name) {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
function writable(name, commandsOpt, producesOpt, consumesOpt, linkedViewsOpt, eventsOpt) {
|
|
30
|
+
function writable(name, commandsOpt, producesOpt, consumesOpt, linkedViewsOpt, eventsOpt, chapterOpt) {
|
|
31
31
|
let commands = commandsOpt !== undefined ? commandsOpt : [];
|
|
32
32
|
let produces = producesOpt !== undefined ? producesOpt : [];
|
|
33
33
|
let consumes = consumesOpt !== undefined ? consumesOpt : [];
|
|
34
34
|
let linkedViews = linkedViewsOpt !== undefined ? linkedViewsOpt : [];
|
|
35
35
|
let events = eventsOpt !== undefined ? eventsOpt : [];
|
|
36
|
+
let chapter = chapterOpt !== undefined ? Primitive_option.valFromOption(chapterOpt) : undefined;
|
|
36
37
|
return {
|
|
37
38
|
name: name,
|
|
38
39
|
commands: commands,
|
|
@@ -40,13 +41,15 @@ function writable(name, commandsOpt, producesOpt, consumesOpt, linkedViewsOpt, e
|
|
|
40
41
|
consumedEventTypes: consumes,
|
|
41
42
|
linkedViews: linkedViews,
|
|
42
43
|
consistencyRead: undefined,
|
|
43
|
-
events: events
|
|
44
|
+
events: events,
|
|
45
|
+
chapter: chapter
|
|
44
46
|
};
|
|
45
47
|
}
|
|
46
48
|
|
|
47
|
-
function queryable(name, consumesOpt, visibilityOpt) {
|
|
49
|
+
function queryable(name, consumesOpt, visibilityOpt, chapterOpt) {
|
|
48
50
|
let consumes = consumesOpt !== undefined ? consumesOpt : [];
|
|
49
51
|
let visibility = visibilityOpt !== undefined ? Primitive_option.valFromOption(visibilityOpt) : undefined;
|
|
52
|
+
let chapter = chapterOpt !== undefined ? Primitive_option.valFromOption(chapterOpt) : undefined;
|
|
50
53
|
return {
|
|
51
54
|
name: name,
|
|
52
55
|
queryField: "",
|
|
@@ -56,45 +59,52 @@ function queryable(name, consumesOpt, visibilityOpt) {
|
|
|
56
59
|
labelField: "id",
|
|
57
60
|
searchableFields: [],
|
|
58
61
|
statusField: undefined,
|
|
59
|
-
visibility: visibility
|
|
62
|
+
visibility: visibility,
|
|
63
|
+
chapter: chapter
|
|
60
64
|
};
|
|
61
65
|
}
|
|
62
66
|
|
|
63
|
-
function automation(name, consumesOpt, producesOpt, targetOpt) {
|
|
67
|
+
function automation(name, consumesOpt, producesOpt, targetOpt, chapterOpt) {
|
|
64
68
|
let consumes = consumesOpt !== undefined ? consumesOpt : [];
|
|
65
69
|
let produces = producesOpt !== undefined ? producesOpt : [];
|
|
66
70
|
let target = targetOpt !== undefined ? targetOpt : "";
|
|
71
|
+
let chapter = chapterOpt !== undefined ? Primitive_option.valFromOption(chapterOpt) : undefined;
|
|
67
72
|
return {
|
|
68
73
|
name: name,
|
|
69
74
|
consumedEventTypes: consumes,
|
|
70
75
|
producedCommandTypes: produces,
|
|
71
|
-
targetName: target
|
|
76
|
+
targetName: target,
|
|
77
|
+
chapter: chapter
|
|
72
78
|
};
|
|
73
79
|
}
|
|
74
80
|
|
|
75
|
-
function inbound(name, producesOpt, targetOpt, extOpt) {
|
|
81
|
+
function inbound(name, producesOpt, targetOpt, extOpt, chapterOpt) {
|
|
76
82
|
let produces = producesOpt !== undefined ? producesOpt : [];
|
|
77
83
|
let target = targetOpt !== undefined ? targetOpt : "";
|
|
78
84
|
let ext = extOpt !== undefined ? Primitive_option.valFromOption(extOpt) : undefined;
|
|
85
|
+
let chapter = chapterOpt !== undefined ? Primitive_option.valFromOption(chapterOpt) : undefined;
|
|
79
86
|
return {
|
|
80
87
|
name: name,
|
|
81
88
|
commandTypes: produces,
|
|
82
89
|
targetName: target,
|
|
83
|
-
externalSystem: ext
|
|
90
|
+
externalSystem: ext,
|
|
91
|
+
chapter: chapter
|
|
84
92
|
};
|
|
85
93
|
}
|
|
86
94
|
|
|
87
|
-
function outbound(name, consumesOpt, producesOpt, targetOpt, extOpt) {
|
|
95
|
+
function outbound(name, consumesOpt, producesOpt, targetOpt, extOpt, chapterOpt) {
|
|
88
96
|
let consumes = consumesOpt !== undefined ? consumesOpt : [];
|
|
89
97
|
let produces = producesOpt !== undefined ? producesOpt : [];
|
|
90
98
|
let target = targetOpt !== undefined ? Primitive_option.valFromOption(targetOpt) : undefined;
|
|
91
99
|
let ext = extOpt !== undefined ? Primitive_option.valFromOption(extOpt) : undefined;
|
|
100
|
+
let chapter = chapterOpt !== undefined ? Primitive_option.valFromOption(chapterOpt) : undefined;
|
|
92
101
|
return {
|
|
93
102
|
name: name,
|
|
94
103
|
consumedEventTypes: consumes,
|
|
95
104
|
inboundCommandTypes: produces,
|
|
96
105
|
targetName: target,
|
|
97
|
-
externalSystem: ext
|
|
106
|
+
externalSystem: ext,
|
|
107
|
+
chapter: chapter
|
|
98
108
|
};
|
|
99
109
|
}
|
|
100
110
|
|
|
@@ -146,7 +156,7 @@ function nodeKind(g, id) {
|
|
|
146
156
|
|
|
147
157
|
globalThis.describe("DomainGraph.build", () => {
|
|
148
158
|
globalThis.test("Command → Aggregate → Event → ReadModel (DCB consumedEventTypes)", async () => {
|
|
149
|
-
let shop = structure([writable("Order", [command("Place", "Shop_Order_Place", undefined)], ["Shop.Placed"], undefined, undefined, undefined)], undefined, [queryable("OrderView", ["Shop.Placed"], undefined)], undefined, undefined, undefined, undefined, undefined);
|
|
159
|
+
let shop = structure([writable("Order", [command("Place", "Shop_Order_Place", undefined)], ["Shop.Placed"], undefined, undefined, undefined, undefined)], undefined, [queryable("OrderView", ["Shop.Placed"], undefined, undefined)], undefined, undefined, undefined, undefined, undefined);
|
|
150
160
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
151
161
|
"Shop",
|
|
152
162
|
shop
|
|
@@ -171,7 +181,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
171
181
|
schema: "",
|
|
172
182
|
references: []
|
|
173
183
|
}
|
|
174
|
-
])], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
184
|
+
], undefined)], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
175
185
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
176
186
|
"Catalog",
|
|
177
187
|
shop
|
|
@@ -193,7 +203,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
193
203
|
schema: "",
|
|
194
204
|
references: []
|
|
195
205
|
}
|
|
196
|
-
])], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
206
|
+
], undefined)], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
197
207
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
198
208
|
"Catalog",
|
|
199
209
|
shop
|
|
@@ -202,7 +212,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
202
212
|
globalThis.expect(hasEdge(g, "Catalog.Archived", "Catalog:Categories", "Projects")).toBe(true);
|
|
203
213
|
});
|
|
204
214
|
globalThis.test("an Internal StateViewSlice still gets a node + projects edge (dev graph shows it)", async () => {
|
|
205
|
-
let shop = structure([writable("Order", undefined, ["Shop.Placed"], undefined, undefined, undefined)], undefined, [queryable("AvailableView", ["Shop.Placed"], "Internal")], undefined, undefined, undefined, undefined, undefined);
|
|
215
|
+
let shop = structure([writable("Order", undefined, ["Shop.Placed"], undefined, undefined, undefined, undefined)], undefined, [queryable("AvailableView", ["Shop.Placed"], "Internal", undefined)], undefined, undefined, undefined, undefined, undefined);
|
|
206
216
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
207
217
|
"Shop",
|
|
208
218
|
shop
|
|
@@ -214,7 +224,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
214
224
|
let shop = structure([writable("Order", undefined, [
|
|
215
225
|
"Shop.Placed",
|
|
216
226
|
"Shop.Shipped"
|
|
217
|
-
], undefined, ["Orders"], undefined)], [queryable("Orders", undefined, undefined)], undefined, undefined, undefined, undefined, undefined, undefined);
|
|
227
|
+
], undefined, ["Orders"], undefined, undefined)], [queryable("Orders", undefined, undefined, undefined)], undefined, undefined, undefined, undefined, undefined, undefined);
|
|
218
228
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
219
229
|
"Shop",
|
|
220
230
|
shop
|
|
@@ -223,7 +233,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
223
233
|
globalThis.expect(hasEdge(g, "Shop.Shipped", "Shop:Orders", "Projects")).toBe(true);
|
|
224
234
|
});
|
|
225
235
|
globalThis.test("automation slices are triggered by their consumed events", async () => {
|
|
226
|
-
let shop = structure([writable("Order", undefined, ["Shop.Placed"], undefined, undefined, undefined)], undefined, undefined, undefined, [automation("Notify", ["Shop.Placed"], undefined, undefined)], undefined, undefined, undefined);
|
|
236
|
+
let shop = structure([writable("Order", undefined, ["Shop.Placed"], undefined, undefined, undefined, undefined)], undefined, undefined, undefined, [automation("Notify", ["Shop.Placed"], undefined, undefined, undefined)], undefined, undefined, undefined);
|
|
227
237
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
228
238
|
"Shop",
|
|
229
239
|
shop
|
|
@@ -235,7 +245,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
235
245
|
let shop = structure(undefined, undefined, undefined, [writable("Ship", [
|
|
236
246
|
command("ShipOrder", "Shop_Ship_ShipOrder", undefined),
|
|
237
247
|
command("Place", "Shop_Ship_Place", undefined)
|
|
238
|
-
], ["Shop.Shipped"], undefined, undefined, undefined)], [automation("AutoShip", ["Shop.Placed"], ["AutoShip.ShipOrder"], "Ship")], undefined, undefined, undefined);
|
|
248
|
+
], ["Shop.Shipped"], undefined, undefined, undefined, undefined)], [automation("AutoShip", ["Shop.Placed"], ["AutoShip.ShipOrder"], "Ship", undefined)], undefined, undefined, undefined);
|
|
239
249
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
240
250
|
"Shop",
|
|
241
251
|
shop
|
|
@@ -244,7 +254,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
244
254
|
globalThis.expect(hasEdge(g, "Shop:AutoShip", "Shop_Ship_Place", "DelegatesTo")).toBe(false);
|
|
245
255
|
});
|
|
246
256
|
globalThis.test("an inbound translation routes to the command it raises on its target", async () => {
|
|
247
|
-
let shop = structure(undefined, undefined, undefined, [writable("Product", [command("Add", "Shop_Product_Add", undefined)], undefined, undefined, undefined, undefined)], undefined, undefined, [inbound("ImportProduct", ["ImportProduct.Add"], "Product", undefined)], undefined);
|
|
257
|
+
let shop = structure(undefined, undefined, undefined, [writable("Product", [command("Add", "Shop_Product_Add", undefined)], undefined, undefined, undefined, undefined, undefined)], undefined, undefined, [inbound("ImportProduct", ["ImportProduct.Add"], "Product", undefined, undefined)], undefined);
|
|
248
258
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
249
259
|
"Shop",
|
|
250
260
|
shop
|
|
@@ -253,7 +263,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
253
263
|
globalThis.expect(hasEdge(g, "Shop:ImportProduct", "Shop_Product_Add", "DelegatesTo")).toBe(true);
|
|
254
264
|
});
|
|
255
265
|
globalThis.test("an outbound translation with a target routes to the command it raises", async () => {
|
|
256
|
-
let shop = structure(undefined, undefined, undefined, [writable("Product", [command("Sync", "Shop_Product_Sync", undefined)], undefined, undefined, undefined, undefined)], undefined, [outbound("ExportProduct", ["Shop.Added"], ["ExportProduct.Sync"], "Product", undefined)], undefined, undefined);
|
|
266
|
+
let shop = structure(undefined, undefined, undefined, [writable("Product", [command("Sync", "Shop_Product_Sync", undefined)], undefined, undefined, undefined, undefined, undefined)], undefined, [outbound("ExportProduct", ["Shop.Added"], ["ExportProduct.Sync"], "Product", undefined, undefined)], undefined, undefined);
|
|
257
267
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
258
268
|
"Shop",
|
|
259
269
|
shop
|
|
@@ -261,7 +271,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
261
271
|
globalThis.expect(hasEdge(g, "Shop:ExportProduct", "Shop_Product_Sync", "DelegatesTo")).toBe(true);
|
|
262
272
|
});
|
|
263
273
|
globalThis.test("an inbound translation naming an external system draws a box feeding it", async () => {
|
|
264
|
-
let shop = structure(undefined, undefined, undefined, undefined, undefined, undefined, [inbound("ImportProduct", ["ImportProduct.Add"], "Product", "SupplierFeed")], undefined);
|
|
274
|
+
let shop = structure(undefined, undefined, undefined, undefined, undefined, undefined, [inbound("ImportProduct", ["ImportProduct.Add"], "Product", "SupplierFeed", undefined)], undefined);
|
|
265
275
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
266
276
|
"Shop",
|
|
267
277
|
shop
|
|
@@ -272,7 +282,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
272
282
|
globalThis.expect(edgeLabel(g, "ext:SupplierFeed", "Shop:ImportProduct", "TranslatesIn")).toEqual(undefined);
|
|
273
283
|
});
|
|
274
284
|
globalThis.test("an outbound translation naming an external system feeds the box", async () => {
|
|
275
|
-
let shop = structure(undefined, undefined, undefined, undefined, undefined, [outbound("SendEmail", ["Shop.Placed"], undefined, Primitive_option.some(undefined), "EmailService")], undefined, undefined);
|
|
285
|
+
let shop = structure(undefined, undefined, undefined, undefined, undefined, [outbound("SendEmail", ["Shop.Placed"], undefined, Primitive_option.some(undefined), "EmailService", undefined)], undefined, undefined);
|
|
276
286
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
277
287
|
"Shop",
|
|
278
288
|
shop
|
|
@@ -282,7 +292,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
282
292
|
globalThis.expect(edgeLabel(g, "Shop:SendEmail", "ext:EmailService", "TranslatesOut")).toEqual(undefined);
|
|
283
293
|
});
|
|
284
294
|
globalThis.test("translation slices with no external system draw no box (opt-in)", async () => {
|
|
285
|
-
let shop = structure(undefined, undefined, undefined, undefined, undefined, undefined, [inbound("ImportProduct", undefined, "Product", undefined)], undefined);
|
|
295
|
+
let shop = structure(undefined, undefined, undefined, undefined, undefined, undefined, [inbound("ImportProduct", undefined, "Product", undefined, undefined)], undefined);
|
|
286
296
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
287
297
|
"Shop",
|
|
288
298
|
shop
|
|
@@ -290,8 +300,8 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
290
300
|
globalThis.expect(g.nodes.some(n => n.kind === "ExternalSystem")).toBe(false);
|
|
291
301
|
});
|
|
292
302
|
globalThis.test("two slices naming the same external system share one deduped box", async () => {
|
|
293
|
-
let a = structure(undefined, undefined, undefined, undefined, undefined, [outbound("SendEmailA", ["A.X"], undefined, Primitive_option.some(undefined), "EmailService")], undefined, undefined);
|
|
294
|
-
let b = structure(undefined, undefined, undefined, undefined, undefined, undefined, [inbound("FromEmail", ["FromEmail.Record"], "Inbox", "EmailService")], undefined);
|
|
303
|
+
let a = structure(undefined, undefined, undefined, undefined, undefined, [outbound("SendEmailA", ["A.X"], undefined, Primitive_option.some(undefined), "EmailService", undefined)], undefined, undefined);
|
|
304
|
+
let b = structure(undefined, undefined, undefined, undefined, undefined, undefined, [inbound("FromEmail", ["FromEmail.Record"], "Inbox", "EmailService", undefined)], undefined);
|
|
295
305
|
let g = DomainGraph$ReventlessGwt.build([
|
|
296
306
|
[
|
|
297
307
|
"PluginA",
|
|
@@ -308,8 +318,8 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
308
318
|
});
|
|
309
319
|
globalThis.test("an event produced by two write-sides is one node with two emit edges", async () => {
|
|
310
320
|
let shop = structure([
|
|
311
|
-
writable("A", undefined, ["Shop.Touched"], undefined, undefined, undefined),
|
|
312
|
-
writable("B", undefined, ["Shop.Touched"], undefined, undefined, undefined)
|
|
321
|
+
writable("A", undefined, ["Shop.Touched"], undefined, undefined, undefined, undefined),
|
|
322
|
+
writable("B", undefined, ["Shop.Touched"], undefined, undefined, undefined, undefined)
|
|
313
323
|
], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
314
324
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
315
325
|
"Shop",
|
|
@@ -329,7 +339,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
329
339
|
eventTypes: extension_eventTypes,
|
|
330
340
|
commandTypes: extension_commandTypes
|
|
331
341
|
};
|
|
332
|
-
let init = structure([writable("ProductDemand", undefined, ["Catalog.Recorded"], undefined, undefined, undefined)], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
342
|
+
let init = structure([writable("ProductDemand", undefined, ["Catalog.Recorded"], undefined, undefined, undefined, undefined)], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
333
343
|
let catalog_readModels = init.readModels;
|
|
334
344
|
let catalog_stateViewSlices = init.stateViewSlices;
|
|
335
345
|
let catalog_stateChangeSlices = init.stateChangeSlices;
|
|
@@ -373,7 +383,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
373
383
|
eventTypes: extension_eventTypes,
|
|
374
384
|
commandTypes: extension_commandTypes
|
|
375
385
|
};
|
|
376
|
-
let init = structure(undefined, undefined, undefined, [writable("ProductDemand", [command("RecordDemand", "Catalog_ProductDemand_RecordDemand", undefined)], ["Catalog.Recorded"], undefined, undefined, undefined)], undefined, undefined, undefined, undefined);
|
|
386
|
+
let init = structure(undefined, undefined, undefined, [writable("ProductDemand", [command("RecordDemand", "Catalog_ProductDemand_RecordDemand", undefined)], ["Catalog.Recorded"], undefined, undefined, undefined, undefined)], undefined, undefined, undefined, undefined);
|
|
377
387
|
let catalog_readModels = init.readModels;
|
|
378
388
|
let catalog_stateViewSlices = init.stateViewSlices;
|
|
379
389
|
let catalog_stateChangeSlices = init.stateChangeSlices;
|
|
@@ -412,7 +422,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
412
422
|
eventTypes: extension_eventTypes,
|
|
413
423
|
commandTypes: extension_commandTypes
|
|
414
424
|
};
|
|
415
|
-
let init = structure([writable("ProductDemand", undefined, ["Catalog.Recorded"], undefined, undefined, undefined)], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
425
|
+
let init = structure([writable("ProductDemand", undefined, ["Catalog.Recorded"], undefined, undefined, undefined, undefined)], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
416
426
|
let catalog_readModels = init.readModels;
|
|
417
427
|
let catalog_stateViewSlices = init.stateViewSlices;
|
|
418
428
|
let catalog_stateChangeSlices = init.stateChangeSlices;
|
|
@@ -449,7 +459,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
449
459
|
sourceEventTypes: ep_sourceEventTypes,
|
|
450
460
|
commandTypes: ep_commandTypes
|
|
451
461
|
};
|
|
452
|
-
let catalog = structure(undefined, undefined, undefined, [writable("AddProduct", [command("AddProduct", "Catalog_AddProduct", undefined)], ["Catalog.ProductAdded"], undefined, undefined, undefined)], undefined, undefined, undefined, [ep]);
|
|
462
|
+
let catalog = structure(undefined, undefined, undefined, [writable("AddProduct", [command("AddProduct", "Catalog_AddProduct", undefined)], ["Catalog.ProductAdded"], undefined, undefined, undefined, undefined)], undefined, undefined, undefined, [ep]);
|
|
453
463
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
454
464
|
"Catalog",
|
|
455
465
|
catalog
|
|
@@ -469,7 +479,7 @@ globalThis.describe("DomainGraph.build", () => {
|
|
|
469
479
|
sourceEventTypes: ep_sourceEventTypes,
|
|
470
480
|
commandTypes: ep_commandTypes
|
|
471
481
|
};
|
|
472
|
-
let catalog = structure(undefined, undefined, undefined, [writable("AddProduct", [command("AddProduct", "Catalog_AddProduct", undefined)], ["Catalog.ProductAdded"], undefined, undefined, undefined)], undefined, undefined, undefined, [ep]);
|
|
482
|
+
let catalog = structure(undefined, undefined, undefined, [writable("AddProduct", [command("AddProduct", "Catalog_AddProduct", undefined)], ["Catalog.ProductAdded"], undefined, undefined, undefined, undefined)], undefined, undefined, undefined, [ep]);
|
|
473
483
|
let g = DomainGraph$ReventlessGwt.build([[
|
|
474
484
|
"Catalog",
|
|
475
485
|
catalog
|