@fornari-lanza/domain-design-language-language 0.0.11 → 0.0.12

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.
@@ -11,6 +11,7 @@ export declare class DomainDesignLanguageScopeProvider extends DefaultScopeProvi
11
11
  private getQualifiedReadModelName;
12
12
  private getQualifiedEventName;
13
13
  private getScopeForDomainAttribute;
14
+ private getScopeForMethodInputDomainAttribute;
14
15
  private getScopeForAggregateEventsFromCommand;
15
16
  private getScopeForAggregateEventsFromMethod;
16
17
  private getScopeForCommandReference;
@@ -24,5 +25,6 @@ export declare class DomainDesignLanguageScopeProvider extends DefaultScopeProvi
24
25
  private getGlobalEventScopeFromFlow;
25
26
  private getLocalReadModelScope;
26
27
  private getGlobalReadModelScope;
28
+ private getScopeForDomainServiceReference;
27
29
  private getScopeForDomainExceptions;
28
30
  }
@@ -1,7 +1,11 @@
1
1
  import { DefaultScopeProvider, } from 'langium';
2
- import { isAggregateRoot, isAsymmetricRelationship, isActorCommandStep, isBoundedContext, isCommand, isDependency, isDomainAttribute, isDomainModel, isEntity, isEventStormingDeclaration, isMethod, isPolicy, isProcessFlow, isReactionStep, isGivenStep, isProjection, isSymmetricRelationship, isValueObject, } from './generated/ast.js';
2
+ import { isAggregateRoot, isAsymmetricRelationship, isActorCommandStep, isBoundedContext, isCommand, isDependency, isDomainAttribute, isDomainModel, isEntity, isEventStormingDeclaration, isMethod, isMethodInput, isPolicy, isProcessFlow, isReactionStep, isGivenStep, isProjection, isSymmetricRelationship, isValueObject, } from './generated/ast.js';
3
3
  export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
4
4
  getScope(context) {
5
+ if (isDomainAttribute(context.container) &&
6
+ context.property === 'type' &&
7
+ this.searchParent(context, isMethodInput))
8
+ return this.getScopeForMethodInputDomainAttribute(context);
5
9
  if (isDomainAttribute(context.container) && context.property === 'type')
6
10
  return this.getScopeForDomainAttribute(context);
7
11
  if (isMethod(context.container) && context.property === 'throws')
@@ -33,6 +37,8 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
33
37
  (context.property === 'participant1' ||
34
38
  context.property === 'participant2'))
35
39
  return this.getBoundedContextsFromGlobalScope();
40
+ if (isCommand(context.container) && context.property === 'domainServices')
41
+ return this.getScopeForDomainServiceReference(context);
36
42
  return super.getScope(context);
37
43
  }
38
44
  searchParent(context, predicate) {
@@ -63,9 +69,7 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
63
69
  }
64
70
  getBoundedContextUris() {
65
71
  const uris = new Set();
66
- this.indexManager
67
- .allElements('BoundedContext')
68
- .forEach((description) => {
72
+ this.indexManager.allElements('BoundedContext').forEach((description) => {
69
73
  if (/\/BoundedContexts\/[^/]+\.ddd$/i.test(description.documentUri.path))
70
74
  uris.add(description.documentUri.toString());
71
75
  });
@@ -99,6 +103,21 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
99
103
  }
100
104
  return this.createScope(validReferences);
101
105
  }
106
+ getScopeForMethodInputDomainAttribute(context) {
107
+ const boundedContext = this.searchParent(context, isBoundedContext);
108
+ const aggregate = this.searchParent(context, isAggregateRoot);
109
+ const validReferences = new Set();
110
+ if (boundedContext) {
111
+ boundedContext.aggregates.forEach((aggregate) => {
112
+ validReferences.add(this.descriptions.createDescription(aggregate, `${aggregate.name}Id`));
113
+ });
114
+ }
115
+ aggregate?.attributes.forEach((attr) => {
116
+ if (isValueObject(attr.type) || isEntity(attr.type))
117
+ validReferences.add(this.descriptions.createDescription(attr.type, `${aggregate.name}.${attr.type.name}`));
118
+ });
119
+ return this.createScope(validReferences);
120
+ }
102
121
  getScopeForAggregateEventsFromCommand(command) {
103
122
  const validReferences = new Set();
104
123
  command.aggregate.ref?.events?.events.forEach((event) => {
@@ -199,6 +218,14 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
199
218
  });
200
219
  return this.createScope(validReferences);
201
220
  }
221
+ getScopeForDomainServiceReference(context) {
222
+ const boundedContext = this.searchParent(context, isBoundedContext);
223
+ const validReferences = new Set();
224
+ boundedContext?.domainServices?.domainServices.forEach((ds) => {
225
+ validReferences.add(this.descriptions.createDescription(ds, ds.name));
226
+ });
227
+ return this.createScope(validReferences);
228
+ }
202
229
  getScopeForDomainExceptions(context) {
203
230
  const validReferences = new Set();
204
231
  if (isMethod(context.container)) {
@@ -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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"}
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.11",
4
+ "version": "0.0.12",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=20.10.0",
@@ -1,4 +1,3 @@
1
-
2
1
  import {
3
2
  AstNode,
4
3
  AstNodeDescription,
@@ -13,6 +12,7 @@ import {
13
12
  DomainEvent,
14
13
  EventStormingDeclaration,
15
14
  ReadModel,
15
+ MethodInput,
16
16
  isAggregateRoot,
17
17
  isAsymmetricRelationship,
18
18
  isActorCommandStep,
@@ -24,6 +24,7 @@ import {
24
24
  isEntity,
25
25
  isEventStormingDeclaration,
26
26
  isMethod,
27
+ isMethodInput,
27
28
  isPolicy,
28
29
  isProcessFlow,
29
30
  isReactionStep,
@@ -36,6 +37,12 @@ import {
36
37
 
37
38
  export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
38
39
  override getScope(context: ReferenceInfo): Scope {
40
+ if (
41
+ isDomainAttribute(context.container) &&
42
+ context.property === 'type' &&
43
+ this.searchParent<MethodInput>(context, isMethodInput)
44
+ )
45
+ return this.getScopeForMethodInputDomainAttribute(context);
39
46
  if (isDomainAttribute(context.container) && context.property === 'type')
40
47
  return this.getScopeForDomainAttribute(context);
41
48
  if (isMethod(context.container) && context.property === 'throws')
@@ -71,6 +78,8 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
71
78
  context.property === 'participant2')
72
79
  )
73
80
  return this.getBoundedContextsFromGlobalScope();
81
+ if (isCommand(context.container) && context.property === 'domainServices')
82
+ return this.getScopeForDomainServiceReference(context);
74
83
  return super.getScope(context);
75
84
  }
76
85
 
@@ -88,7 +97,8 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
88
97
  predicate: (candidate: AstNode) => boolean,
89
98
  ): T | undefined {
90
99
  let current = node;
91
- while (current.$container && !predicate(current)) current = current.$container;
100
+ while (current.$container && !predicate(current))
101
+ current = current.$container;
92
102
  return predicate(current) ? (current as T) : undefined;
93
103
  }
94
104
 
@@ -116,12 +126,10 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
116
126
 
117
127
  private getBoundedContextUris(): Set<string> {
118
128
  const uris = new Set<string>();
119
- this.indexManager
120
- .allElements('BoundedContext')
121
- .forEach((description) => {
122
- if (/\/BoundedContexts\/[^/]+\.ddd$/i.test(description.documentUri.path))
123
- uris.add(description.documentUri.toString());
124
- });
129
+ this.indexManager.allElements('BoundedContext').forEach((description) => {
130
+ if (/\/BoundedContexts\/[^/]+\.ddd$/i.test(description.documentUri.path))
131
+ uris.add(description.documentUri.toString());
132
+ });
125
133
  return uris;
126
134
  }
127
135
 
@@ -130,7 +138,9 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
130
138
  .allElements('BoundedContext', this.getBoundedContextUris())
131
139
  .toArray()
132
140
  .map((description) => description.node)
133
- .filter((node): node is BoundedContext => !!node && isBoundedContext(node));
141
+ .filter(
142
+ (node): node is BoundedContext => !!node && isBoundedContext(node),
143
+ );
134
144
  }
135
145
 
136
146
  private getQualifiedReadModelName(
@@ -141,7 +151,10 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
141
151
  }
142
152
 
143
153
  private getQualifiedEventName(event: DomainEvent): string {
144
- const boundedContext = this.searchAncestor<BoundedContext>(event, isBoundedContext);
154
+ const boundedContext = this.searchAncestor<BoundedContext>(
155
+ event,
156
+ isBoundedContext,
157
+ );
145
158
  return boundedContext ? `${boundedContext.name}.${event.name}` : event.name;
146
159
  }
147
160
 
@@ -170,6 +183,35 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
170
183
  return this.createScope(validReferences);
171
184
  }
172
185
 
186
+ private getScopeForMethodInputDomainAttribute(context: ReferenceInfo): Scope {
187
+ const boundedContext = this.searchParent<BoundedContext>(
188
+ context,
189
+ isBoundedContext,
190
+ );
191
+ const aggregate = this.searchParent<AggregateRoot>(
192
+ context,
193
+ isAggregateRoot,
194
+ );
195
+ const validReferences = new Set<AstNodeDescription>();
196
+ if (boundedContext) {
197
+ boundedContext.aggregates.forEach((aggregate) => {
198
+ validReferences.add(
199
+ this.descriptions.createDescription(aggregate, `${aggregate.name}Id`),
200
+ );
201
+ });
202
+ }
203
+ aggregate?.attributes.forEach((attr) => {
204
+ if (isValueObject(attr.type) || isEntity(attr.type))
205
+ validReferences.add(
206
+ this.descriptions.createDescription(
207
+ attr.type,
208
+ `${aggregate.name}.${attr.type.name}`,
209
+ ),
210
+ );
211
+ });
212
+ return this.createScope(validReferences);
213
+ }
214
+
173
215
  private getScopeForAggregateEventsFromCommand(command: Command): Scope {
174
216
  const validReferences = new Set<AstNodeDescription>();
175
217
  command.aggregate.ref?.events?.events.forEach((event) => {
@@ -182,7 +224,10 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
182
224
 
183
225
  private getScopeForAggregateEventsFromMethod(context: ReferenceInfo): Scope {
184
226
  const validReferences = new Set<AstNodeDescription>();
185
- const aggregate = this.searchParent<AggregateRoot>(context, isAggregateRoot);
227
+ const aggregate = this.searchParent<AggregateRoot>(
228
+ context,
229
+ isAggregateRoot,
230
+ );
186
231
  aggregate?.events?.events.forEach((event) => {
187
232
  validReferences.add(
188
233
  this.descriptions.createDescription(event, event.name),
@@ -192,7 +237,8 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
192
237
  }
193
238
 
194
239
  private getScopeForCommandReference(context: ReferenceInfo): Scope {
195
- if (this.isGlobalEventStorming(context)) return this.getGlobalCommandScope();
240
+ if (this.isGlobalEventStorming(context))
241
+ return this.getGlobalCommandScope();
196
242
  return this.getLocalCommandScope(context);
197
243
  }
198
244
 
@@ -220,7 +266,8 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
220
266
  }
221
267
 
222
268
  private getScopeForReadModelReference(context: ReferenceInfo): Scope {
223
- if (this.isGlobalEventStorming(context)) return this.getGlobalReadModelScope();
269
+ if (this.isGlobalEventStorming(context))
270
+ return this.getGlobalReadModelScope();
224
271
  return this.getLocalReadModelScope(context);
225
272
  }
226
273
 
@@ -303,24 +350,36 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
303
350
  );
304
351
  const validReferences = new Set<AstNodeDescription>();
305
352
  boundedContext?.readModels?.readModels.forEach((readModel) => {
306
- validReferences.add(
307
- this.descriptions.createDescription(readModel, readModel.name),
308
- );
309
- });
353
+ validReferences.add(
354
+ this.descriptions.createDescription(readModel, readModel.name),
355
+ );
356
+ });
310
357
  return this.createScope(validReferences);
311
358
  }
312
-
359
+
313
360
  private getGlobalReadModelScope(): Scope {
314
361
  const validReferences = new Set<AstNodeDescription>();
315
362
  this.getQualifiedBoundedContexts().forEach((boundedContext) => {
316
363
  boundedContext.readModels?.readModels.forEach((readModel) => {
317
- validReferences.add(
318
- this.descriptions.createDescription(
319
- readModel,
320
- this.getQualifiedReadModelName(boundedContext, readModel),
321
- ),
322
- );
323
- });
364
+ validReferences.add(
365
+ this.descriptions.createDescription(
366
+ readModel,
367
+ this.getQualifiedReadModelName(boundedContext, readModel),
368
+ ),
369
+ );
370
+ });
371
+ });
372
+ return this.createScope(validReferences);
373
+ }
374
+
375
+ private getScopeForDomainServiceReference(context: ReferenceInfo): Scope {
376
+ const boundedContext = this.searchParent<BoundedContext>(
377
+ context,
378
+ isBoundedContext,
379
+ );
380
+ const validReferences = new Set<AstNodeDescription>();
381
+ boundedContext?.domainServices?.domainServices.forEach((ds) => {
382
+ validReferences.add(this.descriptions.createDescription(ds, ds.name));
324
383
  });
325
384
  return this.createScope(validReferences);
326
385
  }