eventmodeler 0.5.0 → 0.6.1
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/index.js +6776 -2132
- package/package.json +11 -5
- package/dist/api/index.d.ts +0 -285
- package/dist/api/index.js +0 -323
- package/dist/cloud/slices/index.d.ts +0 -276
- package/dist/cloud/slices/index.js +0 -406
- package/dist/eventmodeler.js +0 -5646
- package/dist/formatters.d.ts +0 -17
- package/dist/formatters.js +0 -482
- package/dist/index.d.ts +0 -2
- package/dist/lib/auth.d.ts +0 -24
- package/dist/lib/auth.js +0 -331
- package/dist/lib/backend.d.ts +0 -43
- package/dist/lib/backend.js +0 -73
- package/dist/lib/chapter-utils.d.ts +0 -13
- package/dist/lib/chapter-utils.js +0 -71
- package/dist/lib/cloud-client.d.ts +0 -69
- package/dist/lib/cloud-client.js +0 -364
- package/dist/lib/config.d.ts +0 -30
- package/dist/lib/config.js +0 -95
- package/dist/lib/diff/merge-rules.d.ts +0 -45
- package/dist/lib/diff/merge-rules.js +0 -210
- package/dist/lib/diff/model-differ.d.ts +0 -8
- package/dist/lib/diff/model-differ.js +0 -568
- package/dist/lib/diff/three-way-merge.d.ts +0 -7
- package/dist/lib/diff/three-way-merge.js +0 -390
- package/dist/lib/diff/types.d.ts +0 -75
- package/dist/lib/diff/types.js +0 -1
- package/dist/lib/element-lookup.d.ts +0 -58
- package/dist/lib/element-lookup.js +0 -126
- package/dist/lib/file-loader.d.ts +0 -8
- package/dist/lib/file-loader.js +0 -108
- package/dist/lib/flow-utils.d.ts +0 -53
- package/dist/lib/flow-utils.js +0 -348
- package/dist/lib/format.d.ts +0 -10
- package/dist/lib/format.js +0 -23
- package/dist/lib/project-config.d.ts +0 -27
- package/dist/lib/project-config.js +0 -83
- package/dist/lib/slice-utils.d.ts +0 -59
- package/dist/lib/slice-utils.js +0 -140
- package/dist/local/slices/index.d.ts +0 -11
- package/dist/local/slices/index.js +0 -13
- package/dist/projection.d.ts +0 -3
- package/dist/projection.js +0 -828
- package/dist/slices/add-field/index.d.ts +0 -8
- package/dist/slices/add-field/index.js +0 -211
- package/dist/slices/add-scenario/index.d.ts +0 -27
- package/dist/slices/add-scenario/index.js +0 -307
- package/dist/slices/codegen-chapter-events/index.d.ts +0 -2
- package/dist/slices/codegen-chapter-events/index.js +0 -145
- package/dist/slices/codegen-slice/index.d.ts +0 -2
- package/dist/slices/codegen-slice/index.js +0 -448
- package/dist/slices/create-automation-slice/index.d.ts +0 -2
- package/dist/slices/create-automation-slice/index.js +0 -304
- package/dist/slices/create-flow/index.d.ts +0 -2
- package/dist/slices/create-flow/index.js +0 -183
- package/dist/slices/create-state-change-slice/index.d.ts +0 -2
- package/dist/slices/create-state-change-slice/index.js +0 -263
- package/dist/slices/create-state-view-slice/index.d.ts +0 -2
- package/dist/slices/create-state-view-slice/index.js +0 -128
- package/dist/slices/diff/index.d.ts +0 -11
- package/dist/slices/diff/index.js +0 -293
- package/dist/slices/export-eventmodel-to-json/index.d.ts +0 -2
- package/dist/slices/export-eventmodel-to-json/index.js +0 -355
- package/dist/slices/git/index.d.ts +0 -2
- package/dist/slices/git/index.js +0 -125
- package/dist/slices/guide/guides/codegen.d.ts +0 -5
- package/dist/slices/guide/guides/codegen.js +0 -339
- package/dist/slices/guide/guides/connect-slices.d.ts +0 -5
- package/dist/slices/guide/guides/connect-slices.js +0 -202
- package/dist/slices/guide/guides/create-slices.d.ts +0 -5
- package/dist/slices/guide/guides/create-slices.js +0 -303
- package/dist/slices/guide/guides/explore.d.ts +0 -5
- package/dist/slices/guide/guides/explore.js +0 -251
- package/dist/slices/guide/guides/information-flow.d.ts +0 -5
- package/dist/slices/guide/guides/information-flow.js +0 -318
- package/dist/slices/guide/guides/scenarios.d.ts +0 -5
- package/dist/slices/guide/guides/scenarios.js +0 -269
- package/dist/slices/guide/index.d.ts +0 -1
- package/dist/slices/guide/index.js +0 -40
- package/dist/slices/import/index.d.ts +0 -8
- package/dist/slices/import/index.js +0 -63
- package/dist/slices/init/index.d.ts +0 -5
- package/dist/slices/init/index.js +0 -80
- package/dist/slices/list-chapters/index.d.ts +0 -3
- package/dist/slices/list-chapters/index.js +0 -21
- package/dist/slices/list-commands/index.d.ts +0 -3
- package/dist/slices/list-commands/index.js +0 -20
- package/dist/slices/list-events/index.d.ts +0 -3
- package/dist/slices/list-events/index.js +0 -98
- package/dist/slices/list-processors/index.d.ts +0 -3
- package/dist/slices/list-processors/index.js +0 -20
- package/dist/slices/list-readmodels/index.d.ts +0 -3
- package/dist/slices/list-readmodels/index.js +0 -21
- package/dist/slices/list-scenarios/index.d.ts +0 -3
- package/dist/slices/list-scenarios/index.js +0 -35
- package/dist/slices/list-screens/index.d.ts +0 -3
- package/dist/slices/list-screens/index.js +0 -47
- package/dist/slices/list-slices/index.d.ts +0 -3
- package/dist/slices/list-slices/index.js +0 -35
- package/dist/slices/login/index.d.ts +0 -1
- package/dist/slices/login/index.js +0 -20
- package/dist/slices/logout/index.d.ts +0 -1
- package/dist/slices/logout/index.js +0 -14
- package/dist/slices/map-fields/index.d.ts +0 -2
- package/dist/slices/map-fields/index.js +0 -269
- package/dist/slices/mark-slice-status/index.d.ts +0 -2
- package/dist/slices/mark-slice-status/index.js +0 -31
- package/dist/slices/merge/index.d.ts +0 -19
- package/dist/slices/merge/index.js +0 -147
- package/dist/slices/open-app/index.d.ts +0 -1
- package/dist/slices/open-app/index.js +0 -36
- package/dist/slices/remove-field/index.d.ts +0 -8
- package/dist/slices/remove-field/index.js +0 -167
- package/dist/slices/remove-scenario/index.d.ts +0 -2
- package/dist/slices/remove-scenario/index.js +0 -77
- package/dist/slices/search/index.d.ts +0 -3
- package/dist/slices/search/index.js +0 -302
- package/dist/slices/show-actor/index.d.ts +0 -4
- package/dist/slices/show-actor/index.js +0 -115
- package/dist/slices/show-aggregate/index.d.ts +0 -3
- package/dist/slices/show-aggregate/index.js +0 -108
- package/dist/slices/show-aggregate-completeness/index.d.ts +0 -4
- package/dist/slices/show-aggregate-completeness/index.js +0 -181
- package/dist/slices/show-chapter/index.d.ts +0 -3
- package/dist/slices/show-chapter/index.js +0 -195
- package/dist/slices/show-command/index.d.ts +0 -3
- package/dist/slices/show-command/index.js +0 -133
- package/dist/slices/show-completeness/index.d.ts +0 -4
- package/dist/slices/show-completeness/index.js +0 -731
- package/dist/slices/show-event/index.d.ts +0 -3
- package/dist/slices/show-event/index.js +0 -118
- package/dist/slices/show-model-summary/index.d.ts +0 -3
- package/dist/slices/show-model-summary/index.js +0 -31
- package/dist/slices/show-processor/index.d.ts +0 -3
- package/dist/slices/show-processor/index.js +0 -111
- package/dist/slices/show-readmodel/index.d.ts +0 -3
- package/dist/slices/show-readmodel/index.js +0 -158
- package/dist/slices/show-scenario/index.d.ts +0 -3
- package/dist/slices/show-scenario/index.js +0 -196
- package/dist/slices/show-screen/index.d.ts +0 -3
- package/dist/slices/show-screen/index.js +0 -139
- package/dist/slices/show-slice/index.d.ts +0 -3
- package/dist/slices/show-slice/index.js +0 -696
- package/dist/slices/update-field/index.d.ts +0 -15
- package/dist/slices/update-field/index.js +0 -208
- package/dist/slices/whoami/index.d.ts +0 -2
- package/dist/slices/whoami/index.js +0 -44
- package/dist/types.d.ts +0 -195
- package/dist/types.js +0 -1
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { escapeXml, outputJson } from '../../lib/format.js';
|
|
2
|
-
import { findElementOrExit } from '../../lib/element-lookup.js';
|
|
3
|
-
function formatFieldXml(field, indent) {
|
|
4
|
-
const attrs = [
|
|
5
|
-
`name="${escapeXml(field.name)}"`,
|
|
6
|
-
`type="${field.fieldType}"`,
|
|
7
|
-
];
|
|
8
|
-
if (field.isList)
|
|
9
|
-
attrs.push('list="true"');
|
|
10
|
-
if (field.isGenerated)
|
|
11
|
-
attrs.push('generated="true"');
|
|
12
|
-
if (field.isOptional)
|
|
13
|
-
attrs.push('optional="true"');
|
|
14
|
-
if (field.subfields && field.subfields.length > 0) {
|
|
15
|
-
let xml = `${indent}<field ${attrs.join(' ')}>\n`;
|
|
16
|
-
for (const subfield of field.subfields) {
|
|
17
|
-
xml += formatFieldXml(subfield, indent + ' ');
|
|
18
|
-
}
|
|
19
|
-
xml += `${indent}</field>\n`;
|
|
20
|
-
return xml;
|
|
21
|
-
}
|
|
22
|
-
return `${indent}<field ${attrs.join(' ')}/>\n`;
|
|
23
|
-
}
|
|
24
|
-
function fieldToJson(field) {
|
|
25
|
-
const result = {
|
|
26
|
-
name: field.name,
|
|
27
|
-
type: field.fieldType
|
|
28
|
-
};
|
|
29
|
-
if (field.isList)
|
|
30
|
-
result.list = true;
|
|
31
|
-
if (field.isGenerated)
|
|
32
|
-
result.generated = true;
|
|
33
|
-
if (field.isOptional)
|
|
34
|
-
result.optional = true;
|
|
35
|
-
if (field.subfields && field.subfields.length > 0) {
|
|
36
|
-
result.subfields = field.subfields.map(fieldToJson);
|
|
37
|
-
}
|
|
38
|
-
return result;
|
|
39
|
-
}
|
|
40
|
-
// Find which aggregate an event belongs to (center point inside aggregate bounds)
|
|
41
|
-
function findAggregateForEvent(model, event) {
|
|
42
|
-
const centerX = event.position.x + event.width / 2;
|
|
43
|
-
const centerY = event.position.y + event.height / 2;
|
|
44
|
-
for (const aggregate of model.aggregates.values()) {
|
|
45
|
-
const bounds = {
|
|
46
|
-
left: aggregate.position.x,
|
|
47
|
-
right: aggregate.position.x + aggregate.size.width,
|
|
48
|
-
top: aggregate.position.y,
|
|
49
|
-
bottom: aggregate.position.y + aggregate.size.height,
|
|
50
|
-
};
|
|
51
|
-
if (centerX >= bounds.left && centerX <= bounds.right && centerY >= bounds.top && centerY <= bounds.bottom) {
|
|
52
|
-
return aggregate;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
function formatCommandXml(model, command) {
|
|
58
|
-
let xml = `<command id="${command.id}" name="${escapeXml(command.name)}">\n`;
|
|
59
|
-
if (command.fields.length > 0) {
|
|
60
|
-
xml += ' <fields>\n';
|
|
61
|
-
for (const field of command.fields) {
|
|
62
|
-
xml += formatFieldXml(field, ' ');
|
|
63
|
-
}
|
|
64
|
-
xml += ' </fields>\n';
|
|
65
|
-
}
|
|
66
|
-
const incomingFlows = [...model.flows.values()].filter(f => f.targetId === command.id);
|
|
67
|
-
const outgoingFlows = [...model.flows.values()].filter(f => f.sourceId === command.id);
|
|
68
|
-
if (incomingFlows.length > 0) {
|
|
69
|
-
xml += ' <triggered-by>\n';
|
|
70
|
-
for (const flow of incomingFlows) {
|
|
71
|
-
const screen = model.screens.get(flow.sourceId);
|
|
72
|
-
const processor = model.processors.get(flow.sourceId);
|
|
73
|
-
if (screen)
|
|
74
|
-
xml += ` <screen name="${escapeXml(screen.name)}"/>\n`;
|
|
75
|
-
if (processor)
|
|
76
|
-
xml += ` <processor name="${escapeXml(processor.name)}"/>\n`;
|
|
77
|
-
}
|
|
78
|
-
xml += ' </triggered-by>\n';
|
|
79
|
-
}
|
|
80
|
-
if (outgoingFlows.length > 0) {
|
|
81
|
-
xml += ' <produces>\n';
|
|
82
|
-
for (const flow of outgoingFlows) {
|
|
83
|
-
const target = model.events.get(flow.targetId);
|
|
84
|
-
if (target) {
|
|
85
|
-
const aggregate = findAggregateForEvent(model, target);
|
|
86
|
-
const aggregateAttr = aggregate ? ` aggregate="${escapeXml(aggregate.name)}"` : '';
|
|
87
|
-
xml += ` <event name="${escapeXml(target.name)}"${aggregateAttr}/>\n`;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
xml += ' </produces>\n';
|
|
91
|
-
}
|
|
92
|
-
xml += '</command>';
|
|
93
|
-
return xml;
|
|
94
|
-
}
|
|
95
|
-
export function showCommand(model, name, format) {
|
|
96
|
-
const command = findElementOrExit(model.commands, name, 'command');
|
|
97
|
-
if (format === 'json') {
|
|
98
|
-
const incomingFlows = [...model.flows.values()].filter(f => f.targetId === command.id);
|
|
99
|
-
const outgoingFlows = [...model.flows.values()].filter(f => f.sourceId === command.id);
|
|
100
|
-
const result = {
|
|
101
|
-
id: command.id,
|
|
102
|
-
name: command.name,
|
|
103
|
-
fields: command.fields.map(fieldToJson)
|
|
104
|
-
};
|
|
105
|
-
const triggeredBy = [];
|
|
106
|
-
for (const flow of incomingFlows) {
|
|
107
|
-
const screen = model.screens.get(flow.sourceId);
|
|
108
|
-
const processor = model.processors.get(flow.sourceId);
|
|
109
|
-
if (screen)
|
|
110
|
-
triggeredBy.push(screen.name);
|
|
111
|
-
if (processor)
|
|
112
|
-
triggeredBy.push(processor.name);
|
|
113
|
-
}
|
|
114
|
-
if (triggeredBy.length > 0)
|
|
115
|
-
result.triggeredBy = triggeredBy;
|
|
116
|
-
const produces = [];
|
|
117
|
-
for (const flow of outgoingFlows) {
|
|
118
|
-
const target = model.events.get(flow.targetId);
|
|
119
|
-
if (target) {
|
|
120
|
-
const aggregate = findAggregateForEvent(model, target);
|
|
121
|
-
produces.push({
|
|
122
|
-
name: target.name,
|
|
123
|
-
...(aggregate ? { aggregate: aggregate.name } : {})
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (produces.length > 0)
|
|
128
|
-
result.produces = produces;
|
|
129
|
-
outputJson(result);
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
console.log(formatCommandXml(model, command));
|
|
133
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { EventModel } from '../../types.js';
|
|
2
|
-
import { type OutputFormat } from '../../lib/format.js';
|
|
3
|
-
export declare function showCompleteness(model: EventModel, elementName: string, format: OutputFormat): void;
|
|
4
|
-
export declare function showModelCompleteness(model: EventModel, format: OutputFormat): void;
|