@fornari-lanza/domain-design-language-language 0.0.5 → 0.0.7

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.
@@ -18,7 +18,7 @@ export class DomainDesignLanguageFormatter extends AbstractFormatter {
18
18
  parenthesisClose.prepend(Formatting.noSpace());
19
19
  comma.append(Formatting.oneSpace()).prepend(Formatting.noSpace());
20
20
  if (ast.isDomainModel(node)) {
21
- const nodes = formatter.nodes(...(node.boundedContext ? [node.boundedContext] : []), ...(node.contextMap ? [node.contextMap] : []));
21
+ const nodes = formatter.nodes(...(node.boundedContext ? [node.boundedContext] : []), ...(node.contextMap ? [node.contextMap] : []), ...(node.eventStorming ? [node.eventStorming] : []));
22
22
  nodes.append(Formatting.noIndent());
23
23
  }
24
24
  else if (ast.isBoundedContext(node)) {
@@ -1 +1 @@
1
- {"version":3,"file":"domain-design-language-formatter.js","sourceRoot":"","sources":["../src/domain-design-language-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain-design-language-formatter.js","sourceRoot":"","sources":["../src/domain-design-language-formatter.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,25 @@ import { DefaultScopeProvider, ReferenceInfo, Scope } from 'langium';
2
2
  export declare class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
3
3
  getScope(context: ReferenceInfo): Scope;
4
4
  private searchParent;
5
+ private searchAncestor;
6
+ private getEventStormingDeclaration;
7
+ private isGlobalEventStorming;
5
8
  private getBoundedContextsFromGlobalScope;
9
+ private getBoundedContextUris;
10
+ private getQualifiedBoundedContexts;
11
+ private getQualifiedReadModelName;
12
+ private getQualifiedEventName;
6
13
  private getScopeForDomainAttribute;
7
- private getScopeForDomainEvents;
14
+ private getScopeForAggregateEventsFromCommand;
15
+ private getScopeForAggregateEventsFromMethod;
16
+ private getScopeForCommandReference;
17
+ private getScopeForReadModelReference;
18
+ private getLocalCommandScope;
19
+ private getGlobalCommandScope;
20
+ private getScopeForEventStormingTrigger;
21
+ private getLocalEventScopeFromFlow;
22
+ private getGlobalEventScopeFromFlow;
23
+ private getLocalReadModelScope;
24
+ private getGlobalReadModelScope;
8
25
  private getScopeForDomainExceptions;
9
26
  }
@@ -1,16 +1,25 @@
1
- import { DefaultScopeProvider, URI, } from 'langium';
2
- import { isAggregateRoot, isCommand, isAsymmetricRelationship, isBoundedContext, isDomainAttribute, isEntity, isMethod, isProcessFlow, isReactionStep, isSymmetricRelationship, isValueObject, } from './generated/ast.js';
3
- import { glob } from 'glob';
1
+ import { DefaultScopeProvider, } from 'langium';
2
+ import { isAggregateRoot, isAsymmetricRelationship, isActorCommandStep, isBoundedContext, isCommand, isDomainAttribute, isDomainModel, isEntity, isEventStormingDeclaration, isMethod, isPolicy, isProcessFlow, isReactionStep, isReadModel, isGivenStep, isProjection, isSymmetricRelationship, isValueObject, } from './generated/ast.js';
4
3
  export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
5
4
  getScope(context) {
6
5
  if (isDomainAttribute(context.container) && context.property === 'type')
7
6
  return this.getScopeForDomainAttribute(context);
8
7
  if (isMethod(context.container) && context.property === 'throws')
9
8
  return this.getScopeForDomainExceptions(context);
10
- if ((isCommand(context.container) && context.property === 'events') ||
11
- (isMethod(context.container) && context.property === 'events') ||
12
- (isReactionStep(context.container) && context.property === 'trigger'))
13
- return this.getScopeForDomainEvents(context);
9
+ if (isCommand(context.container) && context.property === 'events')
10
+ return this.getScopeForAggregateEventsFromCommand(context.container);
11
+ if (isMethod(context.container) && context.property === 'events')
12
+ return this.getScopeForAggregateEventsFromMethod(context);
13
+ if (isPolicy(context.container) && context.property === 'command')
14
+ return this.getScopeForCommandReference(context);
15
+ if (isActorCommandStep(context.container) && context.property === 'command')
16
+ return this.getScopeForCommandReference(context);
17
+ if (isGivenStep(context.container) && context.property === 'readModel')
18
+ return this.getScopeForReadModelReference(context);
19
+ if (isProjection(context.container) && context.property === 'readModel')
20
+ return this.getScopeForReadModelReference(context);
21
+ if (isReactionStep(context.container) && context.property === 'trigger')
22
+ return this.getScopeForEventStormingTrigger(context);
14
23
  if (isAsymmetricRelationship(context.container) &&
15
24
  (context.property === 'upstream' || context.property === 'downstream'))
16
25
  return this.getBoundedContextsFromGlobalScope();
@@ -26,16 +35,50 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
26
35
  node = node.$container;
27
36
  return predicate(node) ? node : undefined;
28
37
  }
38
+ searchAncestor(node, predicate) {
39
+ let current = node;
40
+ while (current.$container && !predicate(current))
41
+ current = current.$container;
42
+ return predicate(current) ? current : undefined;
43
+ }
44
+ getEventStormingDeclaration(context) {
45
+ return this.searchParent(context, isEventStormingDeclaration);
46
+ }
47
+ isGlobalEventStorming(context) {
48
+ const declaration = this.getEventStormingDeclaration(context);
49
+ return !!declaration && isDomainModel(declaration.$container);
50
+ }
29
51
  getBoundedContextsFromGlobalScope() {
30
- const files = glob.sync('./boundedContexts/*.ddd', { absolute: true });
31
- const uris = new Set();
32
- for (const filePath of files)
33
- uris.add(URI.file(filePath).toString());
52
+ const uris = this.getBoundedContextUris();
34
53
  const astNodeDescriptions = this.indexManager
35
54
  .allElements('BoundedContext', uris)
36
55
  .toArray();
37
56
  return this.createScope(astNodeDescriptions);
38
57
  }
58
+ getBoundedContextUris() {
59
+ const uris = new Set();
60
+ this.indexManager
61
+ .allElements('BoundedContext')
62
+ .forEach((description) => {
63
+ if (/\/boundedContexts\/[^/]+\.ddd$/i.test(description.documentUri.path))
64
+ uris.add(description.documentUri.toString());
65
+ });
66
+ return uris;
67
+ }
68
+ getQualifiedBoundedContexts() {
69
+ return this.indexManager
70
+ .allElements('BoundedContext', this.getBoundedContextUris())
71
+ .toArray()
72
+ .map((description) => description.node)
73
+ .filter((node) => !!node && isBoundedContext(node));
74
+ }
75
+ getQualifiedReadModelName(boundedContext, readModel) {
76
+ return `${boundedContext.name}.${readModel.name}`;
77
+ }
78
+ getQualifiedEventName(event) {
79
+ const boundedContext = this.searchAncestor(event, isBoundedContext);
80
+ return boundedContext ? `${boundedContext.name}.${event.name}` : event.name;
81
+ }
39
82
  getScopeForDomainAttribute(context) {
40
83
  const boundedContext = this.searchParent(context, isBoundedContext);
41
84
  const validReferences = new Set();
@@ -50,47 +93,92 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
50
93
  }
51
94
  return this.createScope(validReferences);
52
95
  }
53
- getScopeForDomainEvents(context) {
96
+ getScopeForAggregateEventsFromCommand(command) {
54
97
  const validReferences = new Set();
55
- if (isReactionStep(context.container)) {
56
- //const isFirstReactionStep = context.container.$containerIndex === 0;
57
- const flow = this.searchParent(context, isProcessFlow);
58
- const events = [];
59
- /* if (isFirstReactionStep) {
60
- events.push(
61
- ...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter(
62
- (e): e is DomainEvent => !!e,
63
- ),
64
- );
65
- } else {
66
- const policyEvents =
67
- flow?.reactions[
68
- (context.container.$containerIndex ?? 1) - 1
69
- ].outcomes.flatMap((o) =>
70
- isPolicyTrigger(o) && o.policy.command.ref?.events
71
- ? o.policy.command.ref?.events
72
- .map((e) => e.ref)
73
- .filter((e): e is DomainEvent => !!e)
74
- : [],
75
- ) ?? [];
76
- events.push(...policyEvents);
77
- } */
78
- events.push(...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter((e) => !!e));
79
- events.forEach((event) => {
80
- validReferences.add(this.descriptions.createDescription(event, event.name));
81
- });
82
- }
83
- else if (isCommand(context.container)) {
84
- context.container.aggregate.ref?.events?.events.forEach((event) => {
85
- validReferences.add(this.descriptions.createDescription(event, event.name));
98
+ command.aggregate.ref?.events?.events.forEach((event) => {
99
+ validReferences.add(this.descriptions.createDescription(event, event.name));
100
+ });
101
+ return this.createScope(validReferences);
102
+ }
103
+ getScopeForAggregateEventsFromMethod(context) {
104
+ const validReferences = new Set();
105
+ const aggregate = this.searchParent(context, isAggregateRoot);
106
+ aggregate?.events?.events.forEach((event) => {
107
+ validReferences.add(this.descriptions.createDescription(event, event.name));
108
+ });
109
+ return this.createScope(validReferences);
110
+ }
111
+ getScopeForCommandReference(context) {
112
+ if (this.isGlobalEventStorming(context))
113
+ return this.getGlobalCommandScope();
114
+ return this.getLocalCommandScope(context);
115
+ }
116
+ getScopeForReadModelReference(context) {
117
+ if (this.isGlobalEventStorming(context))
118
+ return this.getGlobalReadModelScope();
119
+ return this.getLocalReadModelScope(context);
120
+ }
121
+ getLocalCommandScope(context) {
122
+ const boundedContext = this.searchParent(context, isBoundedContext);
123
+ const validReferences = new Set();
124
+ boundedContext?.commands.forEach((command) => {
125
+ validReferences.add(this.descriptions.createDescription(command, command.name));
126
+ });
127
+ return this.createScope(validReferences);
128
+ }
129
+ getGlobalCommandScope() {
130
+ const validReferences = new Set();
131
+ this.getQualifiedBoundedContexts().forEach((boundedContext) => {
132
+ boundedContext.commands.forEach((command) => {
133
+ validReferences.add(this.descriptions.createDescription(command, `${boundedContext.name}.${command.name}`));
86
134
  });
87
- }
88
- else if (isMethod(context.container)) {
89
- const aggregate = this.searchParent(context, isAggregateRoot);
90
- aggregate?.events?.events.forEach((event) => {
91
- validReferences.add(this.descriptions.createDescription(event, event.name));
135
+ });
136
+ return this.createScope(validReferences);
137
+ }
138
+ getScopeForEventStormingTrigger(context) {
139
+ if (this.isGlobalEventStorming(context))
140
+ return this.getGlobalEventScopeFromFlow(context);
141
+ return this.getLocalEventScopeFromFlow(context);
142
+ }
143
+ getLocalEventScopeFromFlow(context) {
144
+ const validReferences = new Set();
145
+ const flow = this.searchParent(context, isProcessFlow);
146
+ const events = [];
147
+ events.push(...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter((event) => !!event));
148
+ events.forEach((event) => {
149
+ validReferences.add(this.descriptions.createDescription(event, event.name));
150
+ });
151
+ return this.createScope(validReferences);
152
+ }
153
+ getGlobalEventScopeFromFlow(context) {
154
+ const validReferences = new Set();
155
+ const flow = this.searchParent(context, isProcessFlow);
156
+ const events = [];
157
+ events.push(...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter((event) => !!event));
158
+ events.forEach((event) => {
159
+ validReferences.add(this.descriptions.createDescription(event, this.getQualifiedEventName(event)));
160
+ });
161
+ return this.createScope(validReferences);
162
+ }
163
+ getLocalReadModelScope(context) {
164
+ const boundedContext = this.searchParent(context, isBoundedContext);
165
+ const validReferences = new Set();
166
+ boundedContext?.eventStorming?.elements
167
+ .filter(isReadModel)
168
+ .forEach((readModel) => {
169
+ validReferences.add(this.descriptions.createDescription(readModel, readModel.name));
170
+ });
171
+ return this.createScope(validReferences);
172
+ }
173
+ getGlobalReadModelScope() {
174
+ const validReferences = new Set();
175
+ this.getQualifiedBoundedContexts().forEach((boundedContext) => {
176
+ boundedContext.eventStorming?.elements
177
+ .filter(isReadModel)
178
+ .forEach((readModel) => {
179
+ validReferences.add(this.descriptions.createDescription(readModel, this.getQualifiedReadModelName(boundedContext, readModel)));
92
180
  });
93
- }
181
+ });
94
182
  return this.createScope(validReferences);
95
183
  }
96
184
  getScopeForDomainExceptions(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"domain-design-language-scope.js","sourceRoot":"","sources":["../src/domain-design-language-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain-design-language-scope.js","sourceRoot":"","sources":["../src/domain-design-language-scope.ts"],"names":[],"mappings":"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"}
@@ -221,11 +221,13 @@ export interface DomainModel extends langium.AstNode {
221
221
  readonly $type: 'DomainModel';
222
222
  boundedContext?: BoundedContext;
223
223
  contextMap?: ContextMap;
224
+ eventStorming?: EventStormingDeclaration;
224
225
  }
225
226
  export declare const DomainModel: {
226
227
  readonly $type: "DomainModel";
227
228
  readonly boundedContext: "boundedContext";
228
229
  readonly contextMap: "contextMap";
230
+ readonly eventStorming: "eventStorming";
229
231
  };
230
232
  export declare function isDomainModel(item: unknown): item is DomainModel;
231
233
  export type DomainObject = AggregateRoot | Entity | ValueObject;
@@ -314,7 +316,7 @@ export declare const Enum: {
314
316
  };
315
317
  export declare function isEnum(item: unknown): item is Enum;
316
318
  export interface EventStormingDeclaration extends langium.AstNode {
317
- readonly $container: BoundedContext;
319
+ readonly $container: BoundedContext | DomainModel;
318
320
  readonly $type: 'EventStormingDeclaration';
319
321
  elements: Array<EventStormingElement>;
320
322
  flows: Array<ProcessFlow>;
@@ -960,6 +962,9 @@ export declare class DomainDesignLanguageAstReflection extends langium.AbstractA
960
962
  readonly contextMap: {
961
963
  readonly name: "contextMap";
962
964
  };
965
+ readonly eventStorming: {
966
+ readonly name: "eventStorming";
967
+ };
963
968
  };
964
969
  readonly superTypes: [];
965
970
  };
@@ -142,7 +142,8 @@ export function isDomainException(item) {
142
142
  export const DomainModel = {
143
143
  $type: 'DomainModel',
144
144
  boundedContext: 'boundedContext',
145
- contextMap: 'contextMap'
145
+ contextMap: 'contextMap',
146
+ eventStorming: 'eventStorming'
146
147
  };
147
148
  export function isDomainModel(item) {
148
149
  return reflection.isInstance(item, DomainModel.$type);
@@ -709,6 +710,9 @@ export class DomainDesignLanguageAstReflection extends langium.AbstractAstReflec
709
710
  },
710
711
  contextMap: {
711
712
  name: DomainModel.contextMap
713
+ },
714
+ eventStorming: {
715
+ name: DomainModel.eventStorming
712
716
  }
713
717
  },
714
718
  superTypes: []
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/generated/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/generated/ast.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,19 @@ export const DomainDesignLanguageGrammar = () => loadedDomainDesignLanguageGramm
41
41
  "arguments": []
42
42
  },
43
43
  "cardinality": "?"
44
+ },
45
+ {
46
+ "$type": "Assignment",
47
+ "feature": "eventStorming",
48
+ "operator": "=",
49
+ "terminal": {
50
+ "$type": "RuleCall",
51
+ "rule": {
52
+ "$ref": "#/rules@31"
53
+ },
54
+ "arguments": []
55
+ },
56
+ "cardinality": "?"
44
57
  }
45
58
  ]
46
59
  },
@@ -2524,7 +2537,7 @@ export const DomainDesignLanguageGrammar = () => loadedDomainDesignLanguageGramm
2524
2537
  "terminal": {
2525
2538
  "$type": "RuleCall",
2526
2539
  "rule": {
2527
- "$ref": "#/rules@54"
2540
+ "$ref": "#/rules@52"
2528
2541
  },
2529
2542
  "arguments": []
2530
2543
  },
@@ -2780,7 +2793,7 @@ export const DomainDesignLanguageGrammar = () => loadedDomainDesignLanguageGramm
2780
2793
  "terminal": {
2781
2794
  "$type": "RuleCall",
2782
2795
  "rule": {
2783
- "$ref": "#/rules@54"
2796
+ "$ref": "#/rules@52"
2784
2797
  },
2785
2798
  "arguments": []
2786
2799
  },
@@ -1 +1 @@
1
- {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../src/generated/grammar.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,IAAI,iCAAsD,CAAC;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAY,EAAE,CAAC,iCAAiC,IAAI,CAAC,iCAAiC,GAAG,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAigHtJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../src/generated/grammar.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,IAAI,iCAAsD,CAAC;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAY,EAAE,CAAC,iCAAiC,IAAI,CAAC,iCAAiC,GAAG,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8gHtJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fornari-lanza/domain-design-language-language",
3
3
  "description": "The language specific package",
4
- "version": "0.0.5",
4
+ "version": "0.0.7",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=20.10.0",
@@ -23,6 +23,7 @@ export class DomainDesignLanguageFormatter extends AbstractFormatter {
23
23
  const nodes = formatter.nodes(
24
24
  ...(node.boundedContext ? [node.boundedContext] : []),
25
25
  ...(node.contextMap ? [node.contextMap] : []),
26
+ ...(node.eventStorming ? [node.eventStorming] : []),
26
27
  );
27
28
  nodes.append(Formatting.noIndent());
28
29
  } else if (ast.isBoundedContext(node)) {
@@ -4,26 +4,34 @@ import {
4
4
  DefaultScopeProvider,
5
5
  ReferenceInfo,
6
6
  Scope,
7
- URI,
8
7
  } from 'langium';
9
8
  import {
10
9
  AggregateRoot,
11
10
  BoundedContext,
11
+ Command,
12
12
  DomainEvent,
13
+ EventStormingDeclaration,
14
+ ReadModel,
13
15
  isAggregateRoot,
14
- isCommand,
15
16
  isAsymmetricRelationship,
17
+ isActorCommandStep,
16
18
  isBoundedContext,
19
+ isCommand,
17
20
  isDomainAttribute,
21
+ isDomainModel,
18
22
  isEntity,
23
+ isEventStormingDeclaration,
19
24
  isMethod,
25
+ isPolicy,
20
26
  isProcessFlow,
21
27
  isReactionStep,
28
+ isReadModel,
29
+ isGivenStep,
30
+ isProjection,
22
31
  isSymmetricRelationship,
23
32
  isValueObject,
24
33
  ProcessFlow,
25
34
  } from './generated/ast.js';
26
- import { glob } from 'glob';
27
35
 
28
36
  export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
29
37
  override getScope(context: ReferenceInfo): Scope {
@@ -31,12 +39,20 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
31
39
  return this.getScopeForDomainAttribute(context);
32
40
  if (isMethod(context.container) && context.property === 'throws')
33
41
  return this.getScopeForDomainExceptions(context);
34
- if (
35
- (isCommand(context.container) && context.property === 'events') ||
36
- (isMethod(context.container) && context.property === 'events') ||
37
- (isReactionStep(context.container) && context.property === 'trigger')
38
- )
39
- return this.getScopeForDomainEvents(context);
42
+ if (isCommand(context.container) && context.property === 'events')
43
+ return this.getScopeForAggregateEventsFromCommand(context.container);
44
+ if (isMethod(context.container) && context.property === 'events')
45
+ return this.getScopeForAggregateEventsFromMethod(context);
46
+ if (isPolicy(context.container) && context.property === 'command')
47
+ return this.getScopeForCommandReference(context);
48
+ if (isActorCommandStep(context.container) && context.property === 'command')
49
+ return this.getScopeForCommandReference(context);
50
+ if (isGivenStep(context.container) && context.property === 'readModel')
51
+ return this.getScopeForReadModelReference(context);
52
+ if (isProjection(context.container) && context.property === 'readModel')
53
+ return this.getScopeForReadModelReference(context);
54
+ if (isReactionStep(context.container) && context.property === 'trigger')
55
+ return this.getScopeForEventStormingTrigger(context);
40
56
  if (
41
57
  isAsymmetricRelationship(context.container) &&
42
58
  (context.property === 'upstream' || context.property === 'downstream')
@@ -60,16 +76,68 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
60
76
  return predicate(node) ? (node as T) : undefined;
61
77
  }
62
78
 
79
+ private searchAncestor<T extends AstNode>(
80
+ node: AstNode,
81
+ predicate: (candidate: AstNode) => boolean,
82
+ ): T | undefined {
83
+ let current = node;
84
+ while (current.$container && !predicate(current)) current = current.$container;
85
+ return predicate(current) ? (current as T) : undefined;
86
+ }
87
+
88
+ private getEventStormingDeclaration(
89
+ context: ReferenceInfo,
90
+ ): EventStormingDeclaration | undefined {
91
+ return this.searchParent<EventStormingDeclaration>(
92
+ context,
93
+ isEventStormingDeclaration,
94
+ );
95
+ }
96
+
97
+ private isGlobalEventStorming(context: ReferenceInfo): boolean {
98
+ const declaration = this.getEventStormingDeclaration(context);
99
+ return !!declaration && isDomainModel(declaration.$container);
100
+ }
101
+
63
102
  private getBoundedContextsFromGlobalScope(): Scope {
64
- const files = glob.sync('./boundedContexts/*.ddd', { absolute: true });
65
- const uris = new Set<string>();
66
- for (const filePath of files) uris.add(URI.file(filePath).toString());
103
+ const uris = this.getBoundedContextUris();
67
104
  const astNodeDescriptions = this.indexManager
68
105
  .allElements('BoundedContext', uris)
69
106
  .toArray();
70
107
  return this.createScope(astNodeDescriptions);
71
108
  }
72
109
 
110
+ private getBoundedContextUris(): Set<string> {
111
+ const uris = new Set<string>();
112
+ this.indexManager
113
+ .allElements('BoundedContext')
114
+ .forEach((description) => {
115
+ if (/\/boundedContexts\/[^/]+\.ddd$/i.test(description.documentUri.path))
116
+ uris.add(description.documentUri.toString());
117
+ });
118
+ return uris;
119
+ }
120
+
121
+ private getQualifiedBoundedContexts(): BoundedContext[] {
122
+ return this.indexManager
123
+ .allElements('BoundedContext', this.getBoundedContextUris())
124
+ .toArray()
125
+ .map((description) => description.node)
126
+ .filter((node): node is BoundedContext => !!node && isBoundedContext(node));
127
+ }
128
+
129
+ private getQualifiedReadModelName(
130
+ boundedContext: BoundedContext,
131
+ readModel: ReadModel,
132
+ ): string {
133
+ return `${boundedContext.name}.${readModel.name}`;
134
+ }
135
+
136
+ private getQualifiedEventName(event: DomainEvent): string {
137
+ const boundedContext = this.searchAncestor<BoundedContext>(event, isBoundedContext);
138
+ return boundedContext ? `${boundedContext.name}.${event.name}` : event.name;
139
+ }
140
+
73
141
  private getScopeForDomainAttribute(context: ReferenceInfo): Scope {
74
142
  const boundedContext = this.searchParent<BoundedContext>(
75
143
  context,
@@ -95,58 +163,139 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
95
163
  return this.createScope(validReferences);
96
164
  }
97
165
 
98
- private getScopeForDomainEvents(context: ReferenceInfo): Scope {
166
+ private getScopeForAggregateEventsFromCommand(command: Command): Scope {
99
167
  const validReferences = new Set<AstNodeDescription>();
100
- if (isReactionStep(context.container)) {
101
- //const isFirstReactionStep = context.container.$containerIndex === 0;
102
- const flow = this.searchParent<ProcessFlow>(context, isProcessFlow);
103
- const events: DomainEvent[] = [];
104
- /* if (isFirstReactionStep) {
105
- events.push(
106
- ...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter(
107
- (e): e is DomainEvent => !!e,
108
- ),
168
+ command.aggregate.ref?.events?.events.forEach((event) => {
169
+ validReferences.add(
170
+ this.descriptions.createDescription(event, event.name),
109
171
  );
110
- } else {
111
- const policyEvents =
112
- flow?.reactions[
113
- (context.container.$containerIndex ?? 1) - 1
114
- ].outcomes.flatMap((o) =>
115
- isPolicyTrigger(o) && o.policy.command.ref?.events
116
- ? o.policy.command.ref?.events
117
- .map((e) => e.ref)
118
- .filter((e): e is DomainEvent => !!e)
119
- : [],
120
- ) ?? [];
121
- events.push(...policyEvents);
122
- } */
123
- events.push(
124
- ...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter(
125
- (e): e is DomainEvent => !!e,
126
- ),
172
+ });
173
+ return this.createScope(validReferences);
174
+ }
175
+
176
+ private getScopeForAggregateEventsFromMethod(context: ReferenceInfo): Scope {
177
+ const validReferences = new Set<AstNodeDescription>();
178
+ const aggregate = this.searchParent<AggregateRoot>(context, isAggregateRoot);
179
+ aggregate?.events?.events.forEach((event) => {
180
+ validReferences.add(
181
+ this.descriptions.createDescription(event, event.name),
127
182
  );
128
- events.forEach((event) => {
129
- validReferences.add(
130
- this.descriptions.createDescription(event, event.name),
131
- );
132
- });
133
- } else if (isCommand(context.container)) {
134
- context.container.aggregate.ref?.events?.events.forEach((event) => {
183
+ });
184
+ return this.createScope(validReferences);
185
+ }
186
+
187
+ private getScopeForCommandReference(context: ReferenceInfo): Scope {
188
+ if (this.isGlobalEventStorming(context)) return this.getGlobalCommandScope();
189
+ return this.getLocalCommandScope(context);
190
+ }
191
+
192
+ private getScopeForReadModelReference(context: ReferenceInfo): Scope {
193
+ if (this.isGlobalEventStorming(context)) return this.getGlobalReadModelScope();
194
+ return this.getLocalReadModelScope(context);
195
+ }
196
+
197
+ private getLocalCommandScope(context: ReferenceInfo): Scope {
198
+ const boundedContext = this.searchParent<BoundedContext>(
199
+ context,
200
+ isBoundedContext,
201
+ );
202
+ const validReferences = new Set<AstNodeDescription>();
203
+ boundedContext?.commands.forEach((command) => {
204
+ validReferences.add(
205
+ this.descriptions.createDescription(command, command.name),
206
+ );
207
+ });
208
+ return this.createScope(validReferences);
209
+ }
210
+
211
+ private getGlobalCommandScope(): Scope {
212
+ const validReferences = new Set<AstNodeDescription>();
213
+ this.getQualifiedBoundedContexts().forEach((boundedContext) => {
214
+ boundedContext.commands.forEach((command) => {
135
215
  validReferences.add(
136
- this.descriptions.createDescription(event, event.name),
216
+ this.descriptions.createDescription(
217
+ command,
218
+ `${boundedContext.name}.${command.name}`,
219
+ ),
137
220
  );
138
221
  });
139
- } else if (isMethod(context.container)) {
140
- const aggregate = this.searchParent<AggregateRoot>(
141
- context,
142
- isAggregateRoot,
222
+ });
223
+ return this.createScope(validReferences);
224
+ }
225
+
226
+ private getScopeForEventStormingTrigger(context: ReferenceInfo): Scope {
227
+ if (this.isGlobalEventStorming(context))
228
+ return this.getGlobalEventScopeFromFlow(context);
229
+ return this.getLocalEventScopeFromFlow(context);
230
+ }
231
+
232
+ private getLocalEventScopeFromFlow(context: ReferenceInfo): Scope {
233
+ const validReferences = new Set<AstNodeDescription>();
234
+ const flow = this.searchParent<ProcessFlow>(context, isProcessFlow);
235
+ const events: DomainEvent[] = [];
236
+ events.push(
237
+ ...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter(
238
+ (event): event is DomainEvent => !!event,
239
+ ),
240
+ );
241
+ events.forEach((event) => {
242
+ validReferences.add(
243
+ this.descriptions.createDescription(event, event.name),
143
244
  );
144
- aggregate?.events?.events.forEach((event) => {
245
+ });
246
+ return this.createScope(validReferences);
247
+ }
248
+
249
+ private getGlobalEventScopeFromFlow(context: ReferenceInfo): Scope {
250
+ const validReferences = new Set<AstNodeDescription>();
251
+ const flow = this.searchParent<ProcessFlow>(context, isProcessFlow);
252
+ const events: DomainEvent[] = [];
253
+ events.push(
254
+ ...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter(
255
+ (event): event is DomainEvent => !!event,
256
+ ),
257
+ );
258
+ events.forEach((event) => {
259
+ validReferences.add(
260
+ this.descriptions.createDescription(
261
+ event,
262
+ this.getQualifiedEventName(event),
263
+ ),
264
+ );
265
+ });
266
+ return this.createScope(validReferences);
267
+ }
268
+
269
+ private getLocalReadModelScope(context: ReferenceInfo): Scope {
270
+ const boundedContext = this.searchParent<BoundedContext>(
271
+ context,
272
+ isBoundedContext,
273
+ );
274
+ const validReferences = new Set<AstNodeDescription>();
275
+ boundedContext?.eventStorming?.elements
276
+ .filter(isReadModel)
277
+ .forEach((readModel) => {
145
278
  validReferences.add(
146
- this.descriptions.createDescription(event, event.name),
279
+ this.descriptions.createDescription(readModel, readModel.name),
147
280
  );
148
281
  });
149
- }
282
+ return this.createScope(validReferences);
283
+ }
284
+
285
+ private getGlobalReadModelScope(): Scope {
286
+ const validReferences = new Set<AstNodeDescription>();
287
+ this.getQualifiedBoundedContexts().forEach((boundedContext) => {
288
+ boundedContext.eventStorming?.elements
289
+ .filter(isReadModel)
290
+ .forEach((readModel) => {
291
+ validReferences.add(
292
+ this.descriptions.createDescription(
293
+ readModel,
294
+ this.getQualifiedReadModelName(boundedContext, readModel),
295
+ ),
296
+ );
297
+ });
298
+ });
150
299
  return this.createScope(validReferences);
151
300
  }
152
301
 
@@ -2,7 +2,8 @@ grammar DomainDesignLanguage
2
2
 
3
3
  entry DomainModel:
4
4
  (boundedContext=BoundedContext)?
5
- (contextMap=ContextMap)?;
5
+ (contextMap=ContextMap)?
6
+ (eventStorming=EventStormingDeclaration)?;
6
7
 
7
8
  //BOUNDED CONTEXTS
8
9
  BoundedContext:
@@ -215,7 +216,7 @@ Actor:
215
216
  Policy:
216
217
  'Policy' name=ID '{'
217
218
  (description=STRING)?
218
- 'invokes' command=[Command:ID]
219
+ 'invokes' command=[Command:QualifiedName]
219
220
  '}';
220
221
 
221
222
  ReadModel:
@@ -235,7 +236,7 @@ GivenStep:
235
236
  'given' actor=[Actor:ID] 'views' readModel=[ReadModel:QualifiedName];
236
237
 
237
238
  ActorCommandStep:
238
- issuer=[Actor:ID] 'issues' command=[Command:ID];
239
+ issuer=[Actor:ID] 'issues' command=[Command:QualifiedName];
239
240
 
240
241
  ReactionStep:
241
242
  'on' trigger=[DomainEvent:QualifiedName] 'then' '{'
@@ -363,12 +363,14 @@ export interface DomainModel extends langium.AstNode {
363
363
  readonly $type: 'DomainModel';
364
364
  boundedContext?: BoundedContext;
365
365
  contextMap?: ContextMap;
366
+ eventStorming?: EventStormingDeclaration;
366
367
  }
367
368
 
368
369
  export const DomainModel = {
369
370
  $type: 'DomainModel',
370
371
  boundedContext: 'boundedContext',
371
- contextMap: 'contextMap'
372
+ contextMap: 'contextMap',
373
+ eventStorming: 'eventStorming'
372
374
  } as const;
373
375
 
374
376
  export function isDomainModel(item: unknown): item is DomainModel {
@@ -500,7 +502,7 @@ export function isEnum(item: unknown): item is Enum {
500
502
  }
501
503
 
502
504
  export interface EventStormingDeclaration extends langium.AstNode {
503
- readonly $container: BoundedContext;
505
+ readonly $container: BoundedContext | DomainModel;
504
506
  readonly $type: 'EventStormingDeclaration';
505
507
  elements: Array<EventStormingElement>;
506
508
  flows: Array<ProcessFlow>;
@@ -1302,6 +1304,9 @@ export class DomainDesignLanguageAstReflection extends langium.AbstractAstReflec
1302
1304
  },
1303
1305
  contextMap: {
1304
1306
  name: DomainModel.contextMap
1307
+ },
1308
+ eventStorming: {
1309
+ name: DomainModel.eventStorming
1305
1310
  }
1306
1311
  },
1307
1312
  superTypes: []
@@ -44,6 +44,19 @@ export const DomainDesignLanguageGrammar = (): Grammar => loadedDomainDesignLang
44
44
  "arguments": []
45
45
  },
46
46
  "cardinality": "?"
47
+ },
48
+ {
49
+ "$type": "Assignment",
50
+ "feature": "eventStorming",
51
+ "operator": "=",
52
+ "terminal": {
53
+ "$type": "RuleCall",
54
+ "rule": {
55
+ "$ref": "#/rules@31"
56
+ },
57
+ "arguments": []
58
+ },
59
+ "cardinality": "?"
47
60
  }
48
61
  ]
49
62
  },
@@ -2527,7 +2540,7 @@ export const DomainDesignLanguageGrammar = (): Grammar => loadedDomainDesignLang
2527
2540
  "terminal": {
2528
2541
  "$type": "RuleCall",
2529
2542
  "rule": {
2530
- "$ref": "#/rules@54"
2543
+ "$ref": "#/rules@52"
2531
2544
  },
2532
2545
  "arguments": []
2533
2546
  },
@@ -2783,7 +2796,7 @@ export const DomainDesignLanguageGrammar = (): Grammar => loadedDomainDesignLang
2783
2796
  "terminal": {
2784
2797
  "$type": "RuleCall",
2785
2798
  "rule": {
2786
- "$ref": "#/rules@54"
2799
+ "$ref": "#/rules@52"
2787
2800
  },
2788
2801
  "arguments": []
2789
2802
  },