@fornari-lanza/domain-design-language-language 0.0.6 → 0.0.8

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,12 +18,12 @@ 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)) {
25
25
  formatter
26
- .properties('ubiquitousLanguage', 'aggregates', 'domainServices', 'ports', 'commands', 'eventStorming')
26
+ .properties('ubiquitousLanguage', 'aggregates', 'domainServices', 'ports', 'commands', 'readModels')
27
27
  .prepend(Formatting.indent());
28
28
  formatter.property('description').prepend(Formatting.indent());
29
29
  }
@@ -140,10 +140,18 @@ export class DomainDesignLanguageFormatter extends AbstractFormatter {
140
140
  }
141
141
  else if (ast.isEventStormingDeclaration(node)) {
142
142
  formatter.keyword('EventStorming').append(Formatting.oneSpace());
143
- formatter.properties('elements', 'flows').prepend(Formatting.indent());
143
+ formatter.properties('actors', 'flows').prepend(Formatting.indent());
144
144
  }
145
- else if (ast.isEventStormingElement(node)) {
146
- formatter.property('name').surround(Formatting.oneSpace());
145
+ else if (ast.isActorsDeclaration(node)) {
146
+ formatter.keyword('Actors').append(Formatting.oneSpace());
147
+ formatter.properties('actors').prepend(Formatting.indent());
148
+ }
149
+ else if (ast.isReadModelsDeclaration(node)) {
150
+ formatter.keyword('ReadModels').append(Formatting.oneSpace());
151
+ formatter.properties('readModels').prepend(Formatting.indent());
152
+ }
153
+ else if (ast.isActor(node) || ast.isReadModel(node)) {
154
+ formatter.property('name').append(Formatting.oneSpace());
147
155
  formatter.property('description').prepend(Formatting.indent());
148
156
  }
149
157
  else if (ast.isProcessFlow(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,9 +2,26 @@ 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;
6
9
  private getBoundedContextUris;
10
+ private getQualifiedBoundedContexts;
11
+ private getQualifiedReadModelName;
12
+ private getQualifiedEventName;
7
13
  private getScopeForDomainAttribute;
8
- private getScopeForDomainEvents;
14
+ private getScopeForAggregateEventsFromCommand;
15
+ private getScopeForAggregateEventsFromMethod;
16
+ private getScopeForCommandReference;
17
+ private getScopeForActorReference;
18
+ private getScopeForReadModelReference;
19
+ private getLocalCommandScope;
20
+ private getGlobalCommandScope;
21
+ private getScopeForEventStormingTrigger;
22
+ private getLocalEventScopeFromFlow;
23
+ private getGlobalEventScopeFromFlow;
24
+ private getLocalReadModelScope;
25
+ private getGlobalReadModelScope;
9
26
  private getScopeForDomainExceptions;
10
27
  }
@@ -1,15 +1,29 @@
1
1
  import { DefaultScopeProvider, } from 'langium';
2
- import { isAggregateRoot, isCommand, isAsymmetricRelationship, isBoundedContext, isDomainAttribute, isEntity, isMethod, isProcessFlow, isReactionStep, isSymmetricRelationship, isValueObject, } from './generated/ast.js';
2
+ import { isAggregateRoot, isAsymmetricRelationship, isActorCommandStep, isBoundedContext, isCommand, isDomainAttribute, isDomainModel, isEntity, isEventStormingDeclaration, isMethod, isPolicy, isProcessFlow, isReactionStep, isGivenStep, isProjection, isSymmetricRelationship, isValueObject, } from './generated/ast.js';
3
3
  export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
4
4
  getScope(context) {
5
5
  if (isDomainAttribute(context.container) && context.property === 'type')
6
6
  return this.getScopeForDomainAttribute(context);
7
7
  if (isMethod(context.container) && context.property === 'throws')
8
8
  return this.getScopeForDomainExceptions(context);
9
- if ((isCommand(context.container) && context.property === 'events') ||
10
- (isMethod(context.container) && context.property === 'events') ||
11
- (isReactionStep(context.container) && context.property === 'trigger'))
12
- 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 (isGivenStep(context.container) && context.property === 'actor')
14
+ return this.getScopeForActorReference(context);
15
+ if (isActorCommandStep(context.container) && context.property === 'issuer')
16
+ return this.getScopeForActorReference(context);
17
+ if (isPolicy(context.container) && context.property === 'command')
18
+ return this.getScopeForCommandReference(context);
19
+ if (isActorCommandStep(context.container) && context.property === 'command')
20
+ return this.getScopeForCommandReference(context);
21
+ if (isGivenStep(context.container) && context.property === 'readModel')
22
+ return this.getScopeForReadModelReference(context);
23
+ if (isProjection(context.container) && context.property === 'readModel')
24
+ return this.getScopeForReadModelReference(context);
25
+ if (isReactionStep(context.container) && context.property === 'trigger')
26
+ return this.getScopeForEventStormingTrigger(context);
13
27
  if (isAsymmetricRelationship(context.container) &&
14
28
  (context.property === 'upstream' || context.property === 'downstream'))
15
29
  return this.getBoundedContextsFromGlobalScope();
@@ -25,6 +39,19 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
25
39
  node = node.$container;
26
40
  return predicate(node) ? node : undefined;
27
41
  }
42
+ searchAncestor(node, predicate) {
43
+ let current = node;
44
+ while (current.$container && !predicate(current))
45
+ current = current.$container;
46
+ return predicate(current) ? current : undefined;
47
+ }
48
+ getEventStormingDeclaration(context) {
49
+ return this.searchParent(context, isEventStormingDeclaration);
50
+ }
51
+ isGlobalEventStorming(context) {
52
+ const declaration = this.getEventStormingDeclaration(context);
53
+ return !!declaration && isDomainModel(declaration.$container);
54
+ }
28
55
  getBoundedContextsFromGlobalScope() {
29
56
  const uris = this.getBoundedContextUris();
30
57
  const astNodeDescriptions = this.indexManager
@@ -42,6 +69,20 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
42
69
  });
43
70
  return uris;
44
71
  }
72
+ getQualifiedBoundedContexts() {
73
+ return this.indexManager
74
+ .allElements('BoundedContext', this.getBoundedContextUris())
75
+ .toArray()
76
+ .map((description) => description.node)
77
+ .filter((node) => !!node && isBoundedContext(node));
78
+ }
79
+ getQualifiedReadModelName(boundedContext, readModel) {
80
+ return `${boundedContext.name}.${readModel.name}`;
81
+ }
82
+ getQualifiedEventName(event) {
83
+ const boundedContext = this.searchAncestor(event, isBoundedContext);
84
+ return boundedContext ? `${boundedContext.name}.${event.name}` : event.name;
85
+ }
45
86
  getScopeForDomainAttribute(context) {
46
87
  const boundedContext = this.searchParent(context, isBoundedContext);
47
88
  const validReferences = new Set();
@@ -56,47 +97,96 @@ export class DomainDesignLanguageScopeProvider extends DefaultScopeProvider {
56
97
  }
57
98
  return this.createScope(validReferences);
58
99
  }
59
- getScopeForDomainEvents(context) {
100
+ getScopeForAggregateEventsFromCommand(command) {
60
101
  const validReferences = new Set();
61
- if (isReactionStep(context.container)) {
62
- //const isFirstReactionStep = context.container.$containerIndex === 0;
63
- const flow = this.searchParent(context, isProcessFlow);
64
- const events = [];
65
- /* if (isFirstReactionStep) {
66
- events.push(
67
- ...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter(
68
- (e): e is DomainEvent => !!e,
69
- ),
70
- );
71
- } else {
72
- const policyEvents =
73
- flow?.reactions[
74
- (context.container.$containerIndex ?? 1) - 1
75
- ].outcomes.flatMap((o) =>
76
- isPolicyTrigger(o) && o.policy.command.ref?.events
77
- ? o.policy.command.ref?.events
78
- .map((e) => e.ref)
79
- .filter((e): e is DomainEvent => !!e)
80
- : [],
81
- ) ?? [];
82
- events.push(...policyEvents);
83
- } */
84
- events.push(...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter((e) => !!e));
85
- events.forEach((event) => {
86
- validReferences.add(this.descriptions.createDescription(event, event.name));
87
- });
88
- }
89
- else if (isCommand(context.container)) {
90
- context.container.aggregate.ref?.events?.events.forEach((event) => {
91
- validReferences.add(this.descriptions.createDescription(event, event.name));
102
+ command.aggregate.ref?.events?.events.forEach((event) => {
103
+ validReferences.add(this.descriptions.createDescription(event, event.name));
104
+ });
105
+ return this.createScope(validReferences);
106
+ }
107
+ getScopeForAggregateEventsFromMethod(context) {
108
+ const validReferences = new Set();
109
+ const aggregate = this.searchParent(context, isAggregateRoot);
110
+ aggregate?.events?.events.forEach((event) => {
111
+ validReferences.add(this.descriptions.createDescription(event, event.name));
112
+ });
113
+ return this.createScope(validReferences);
114
+ }
115
+ getScopeForCommandReference(context) {
116
+ if (this.isGlobalEventStorming(context))
117
+ return this.getGlobalCommandScope();
118
+ return this.getLocalCommandScope(context);
119
+ }
120
+ getScopeForActorReference(context) {
121
+ const declaration = this.getEventStormingDeclaration(context);
122
+ const validReferences = new Set();
123
+ declaration?.actors?.actors.forEach((actor) => {
124
+ validReferences.add(this.descriptions.createDescription(actor, actor.name));
125
+ });
126
+ return this.createScope(validReferences);
127
+ }
128
+ getScopeForReadModelReference(context) {
129
+ if (this.isGlobalEventStorming(context))
130
+ return this.getGlobalReadModelScope();
131
+ return this.getLocalReadModelScope(context);
132
+ }
133
+ getLocalCommandScope(context) {
134
+ const boundedContext = this.searchParent(context, isBoundedContext);
135
+ const validReferences = new Set();
136
+ boundedContext?.commands.forEach((command) => {
137
+ validReferences.add(this.descriptions.createDescription(command, command.name));
138
+ });
139
+ return this.createScope(validReferences);
140
+ }
141
+ getGlobalCommandScope() {
142
+ const validReferences = new Set();
143
+ this.getQualifiedBoundedContexts().forEach((boundedContext) => {
144
+ boundedContext.commands.forEach((command) => {
145
+ validReferences.add(this.descriptions.createDescription(command, `${boundedContext.name}.${command.name}`));
92
146
  });
93
- }
94
- else if (isMethod(context.container)) {
95
- const aggregate = this.searchParent(context, isAggregateRoot);
96
- aggregate?.events?.events.forEach((event) => {
97
- validReferences.add(this.descriptions.createDescription(event, event.name));
147
+ });
148
+ return this.createScope(validReferences);
149
+ }
150
+ getScopeForEventStormingTrigger(context) {
151
+ if (this.isGlobalEventStorming(context))
152
+ return this.getGlobalEventScopeFromFlow(context);
153
+ return this.getLocalEventScopeFromFlow(context);
154
+ }
155
+ getLocalEventScopeFromFlow(context) {
156
+ const validReferences = new Set();
157
+ const flow = this.searchParent(context, isProcessFlow);
158
+ const events = [];
159
+ events.push(...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter((event) => !!event));
160
+ events.forEach((event) => {
161
+ validReferences.add(this.descriptions.createDescription(event, event.name));
162
+ });
163
+ return this.createScope(validReferences);
164
+ }
165
+ getGlobalEventScopeFromFlow(context) {
166
+ const validReferences = new Set();
167
+ const flow = this.searchParent(context, isProcessFlow);
168
+ const events = [];
169
+ events.push(...(flow?.command.command.ref?.events.map((e) => e.ref) ?? []).filter((event) => !!event));
170
+ events.forEach((event) => {
171
+ validReferences.add(this.descriptions.createDescription(event, this.getQualifiedEventName(event)));
172
+ });
173
+ return this.createScope(validReferences);
174
+ }
175
+ getLocalReadModelScope(context) {
176
+ const boundedContext = this.searchParent(context, isBoundedContext);
177
+ const validReferences = new Set();
178
+ boundedContext?.readModels?.readModels.forEach((readModel) => {
179
+ validReferences.add(this.descriptions.createDescription(readModel, readModel.name));
180
+ });
181
+ return this.createScope(validReferences);
182
+ }
183
+ getGlobalReadModelScope() {
184
+ const validReferences = new Set();
185
+ this.getQualifiedBoundedContexts().forEach((boundedContext) => {
186
+ boundedContext.readModels?.readModels.forEach((readModel) => {
187
+ validReferences.add(this.descriptions.createDescription(readModel, this.getQualifiedReadModelName(boundedContext, readModel)));
98
188
  });
99
- }
189
+ });
100
190
  return this.createScope(validReferences);
101
191
  }
102
192
  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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"}
@@ -1,5 +1,5 @@
1
1
  import type { AstNode, ValidationAcceptor } from 'langium';
2
- import { AggregateRoot, Command, AsymmetricRelationship, BoundedContext, DomainEvent, DomainEventsDeclaration, DomainModel, DomainService, Entity, Enum, EventStormingDeclaration, Payload, ProcessFlow, ReactionStep, Relationship, UbiquitousLanguageDeclaration, ValueObject, type ContextMap, MethodsDeclaration, Method, ExceptionsDeclaration } from './generated/ast.js';
2
+ import { AggregateRoot, Command, AsymmetricRelationship, BoundedContext, DomainEvent, DomainEventsDeclaration, DomainModel, DomainService, Entity, Enum, EventStormingDeclaration, ActorsDeclaration, ReadModelsDeclaration, Payload, ProcessFlow, ReactionStep, Relationship, UbiquitousLanguageDeclaration, ValueObject, type ContextMap, MethodsDeclaration, Method, ExceptionsDeclaration } from './generated/ast.js';
3
3
  import type { DomainDesignLanguageServices } from './domain-design-language-module.js';
4
4
  /**
5
5
  * Register custom validation checks.
@@ -15,7 +15,9 @@ export declare class DomainDesignLanguageValidator {
15
15
  checkUniqueDomainServices(boundedContext: BoundedContext, accept: ValidationAcceptor): void;
16
16
  checkUniquePorts(boundedContext: BoundedContext, accept: ValidationAcceptor): void;
17
17
  checkUniqueCommands(boundedContext: BoundedContext, accept: ValidationAcceptor): void;
18
- checkUniqueEventStormingElements(eventStormingDeclaration: EventStormingDeclaration, accept: ValidationAcceptor): void;
18
+ checkUniqueProcessFlows(eventStormingDeclaration: EventStormingDeclaration, accept: ValidationAcceptor): void;
19
+ checkUniqueActors(actorsDeclaration: ActorsDeclaration, accept: ValidationAcceptor): void;
20
+ checkUniqueReadModelsElements(readModelsDeclaration: ReadModelsDeclaration, accept: ValidationAcceptor): void;
19
21
  checkUniquePolicies(processFlow: ProcessFlow, accept: ValidationAcceptor): void;
20
22
  checkUniqueReactions(processFlow: ProcessFlow, accept: ValidationAcceptor): void;
21
23
  checkUniqueOutcomes(step: ReactionStep, accept: ValidationAcceptor): void;
@@ -1,4 +1,4 @@
1
- import { isActor, isAggregateRoot, isAsymmetricRelationship, isCommand, isPolicyTrigger, isObjectAttribute, isProjection, isReadModel, isSymmetricRelationship, isValueObject, isMethod, } from './generated/ast.js';
1
+ import { isAggregateRoot, isAsymmetricRelationship, isCommand, isPolicyTrigger, isObjectAttribute, isProjection, isSymmetricRelationship, isValueObject, isMethod, } from './generated/ast.js';
2
2
  /**
3
3
  * Register custom validation checks.
4
4
  */
@@ -56,14 +56,19 @@ export function registerValidationChecks(services) {
56
56
  validator.checkUniqueCommandElements,
57
57
  ],
58
58
  Enum: validator.checkUniqueValues,
59
- EventStormingElement: validator.checkNameStartsWithCapital,
60
59
  Policy: validator.checkNameStartsWithCapital,
60
+ EventStormingDeclaration: [
61
+ validator.checkUniqueProcessFlows,
62
+ ],
63
+ ActorsDeclaration: [validator.checkUniqueActors],
64
+ ReadModelsDeclaration: [
65
+ validator.checkUniqueReadModelsElements,
66
+ ],
61
67
  ProcessFlow: [
62
68
  validator.checkNameStartsWithCapital,
63
69
  validator.checkUniquePolicies,
64
70
  validator.checkUniqueReactions,
65
71
  ],
66
- EventStormingDeclaration: validator.checkUniqueEventStormingElements,
67
72
  ReactionStep: validator.checkUniqueOutcomes,
68
73
  };
69
74
  registry.register(checks, validator);
@@ -133,27 +138,7 @@ export class DomainDesignLanguageValidator {
133
138
  commands.add(command.name);
134
139
  });
135
140
  }
136
- checkUniqueEventStormingElements(eventStormingDeclaration, accept) {
137
- const actors = new Set();
138
- const readModels = new Set();
139
- eventStormingDeclaration.elements.forEach((element) => {
140
- if (isActor(element)) {
141
- if (actors.has(element.name))
142
- accept('error', `Repeated actor name '${element.name}' in event storming.`, {
143
- node: element,
144
- property: 'name',
145
- });
146
- actors.add(element.name);
147
- }
148
- else if (isReadModel(element)) {
149
- if (readModels.has(element.name))
150
- accept('error', `Repeated read model name '${element.name}' in event storming.`, {
151
- node: element,
152
- property: 'name',
153
- });
154
- readModels.add(element.name);
155
- }
156
- });
141
+ checkUniqueProcessFlows(eventStormingDeclaration, accept) {
157
142
  const processFlows = new Set();
158
143
  eventStormingDeclaration.flows.forEach((processFlow) => {
159
144
  if (processFlows.has(processFlow.name))
@@ -164,6 +149,28 @@ export class DomainDesignLanguageValidator {
164
149
  processFlows.add(processFlow.name);
165
150
  });
166
151
  }
152
+ checkUniqueActors(actorsDeclaration, accept) {
153
+ const actors = new Set();
154
+ actorsDeclaration.actors.forEach((actor) => {
155
+ if (actors.has(actor.name))
156
+ accept('error', `Repeated actor name '${actor.name}' in actors declaration.`, {
157
+ node: actor,
158
+ property: 'name',
159
+ });
160
+ actors.add(actor.name);
161
+ });
162
+ }
163
+ checkUniqueReadModelsElements(readModelsDeclaration, accept) {
164
+ const readModels = new Set();
165
+ readModelsDeclaration.readModels.forEach((readModel) => {
166
+ if (readModels.has(readModel.name))
167
+ accept('error', `Repeated read model name '${readModel.name}' in read models.`, {
168
+ node: readModel,
169
+ property: 'name',
170
+ });
171
+ readModels.add(readModel.name);
172
+ });
173
+ }
167
174
  checkUniquePolicies(processFlow, accept) {
168
175
  const policies = new Set();
169
176
  const outcomes = processFlow.reactions.flatMap((step) => step.outcomes.filter(isPolicyTrigger));
@@ -1 +1 @@
1
- {"version":3,"file":"domain-design-language-validator.js","sourceRoot":"","sources":["../src/domain-design-language-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain-design-language-validator.js","sourceRoot":"","sources":["../src/domain-design-language-validator.ts"],"names":[],"mappings":"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"}