@domainlang/language 0.11.0 → 0.13.0
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/out/ast-augmentation.d.ts +7 -2
- package/out/diagram/context-map-diagram-generator.d.ts +72 -0
- package/out/diagram/context-map-diagram-generator.js +405 -0
- package/out/diagram/context-map-diagram-generator.js.map +1 -0
- package/out/diagram/context-map-layout-configurator.d.ts +15 -0
- package/out/diagram/context-map-layout-configurator.js +39 -0
- package/out/diagram/context-map-layout-configurator.js.map +1 -0
- package/out/diagram/elk-layout-factory.d.ts +43 -0
- package/out/diagram/elk-layout-factory.js +64 -0
- package/out/diagram/elk-layout-factory.js.map +1 -0
- package/out/domain-lang-module.d.ts +7 -0
- package/out/domain-lang-module.js +11 -2
- package/out/domain-lang-module.js.map +1 -1
- package/out/generated/ast.d.ts +323 -51
- package/out/generated/ast.js +194 -33
- package/out/generated/ast.js.map +1 -1
- package/out/generated/grammar.js +418 -172
- package/out/generated/grammar.js.map +1 -1
- package/out/index.d.ts +3 -0
- package/out/index.js +4 -0
- package/out/index.js.map +1 -1
- package/out/lsp/domain-lang-code-lens-provider.d.ts +8 -0
- package/out/lsp/domain-lang-code-lens-provider.js +48 -0
- package/out/lsp/domain-lang-code-lens-provider.js.map +1 -0
- package/out/lsp/domain-lang-completion.js +39 -15
- package/out/lsp/domain-lang-completion.js.map +1 -1
- package/out/lsp/domain-lang-document-symbol-provider.js +5 -5
- package/out/lsp/domain-lang-document-symbol-provider.js.map +1 -1
- package/out/lsp/domain-lang-formatter.js +32 -0
- package/out/lsp/domain-lang-formatter.js.map +1 -1
- package/out/lsp/domain-lang-index-manager.d.ts +2 -3
- package/out/lsp/domain-lang-index-manager.js +5 -8
- package/out/lsp/domain-lang-index-manager.js.map +1 -1
- package/out/lsp/domain-lang-workspace-manager.d.ts +1 -1
- package/out/lsp/domain-lang-workspace-manager.js +2 -26
- package/out/lsp/domain-lang-workspace-manager.js.map +1 -1
- package/out/lsp/explain.js +9 -3
- package/out/lsp/explain.js.map +1 -1
- package/out/lsp/hover/domain-lang-hover.js +13 -11
- package/out/lsp/hover/domain-lang-hover.js.map +1 -1
- package/out/lsp/hover/domain-lang-keywords.js +29 -26
- package/out/lsp/hover/domain-lang-keywords.js.map +1 -1
- package/out/lsp/tool-handlers.js +63 -57
- package/out/lsp/tool-handlers.js.map +1 -1
- package/out/sdk/ast-augmentation.d.ts +29 -21
- package/out/sdk/ast-augmentation.js +11 -7
- package/out/sdk/ast-augmentation.js.map +1 -1
- package/out/sdk/index.d.ts +2 -2
- package/out/sdk/index.js +1 -1
- package/out/sdk/index.js.map +1 -1
- package/out/sdk/loader-node.js +2 -2
- package/out/sdk/loader-node.js.map +1 -1
- package/out/sdk/patterns.d.ts +50 -61
- package/out/sdk/patterns.js +92 -62
- package/out/sdk/patterns.js.map +1 -1
- package/out/sdk/query.js +54 -43
- package/out/sdk/query.js.map +1 -1
- package/out/sdk/serializers.js +20 -7
- package/out/sdk/serializers.js.map +1 -1
- package/out/sdk/types.d.ts +87 -18
- package/out/sdk/types.js.map +1 -1
- package/out/sdk/validator.js +48 -64
- package/out/sdk/validator.js.map +1 -1
- package/out/services/performance-optimizer.d.ts +3 -3
- package/out/services/performance-optimizer.js +1 -3
- package/out/services/performance-optimizer.js.map +1 -1
- package/out/services/relationship-inference.d.ts +4 -4
- package/out/services/relationship-inference.js +34 -46
- package/out/services/relationship-inference.js.map +1 -1
- package/out/syntaxes/domain-lang.monarch.js +1 -1
- package/out/syntaxes/domain-lang.monarch.js.map +1 -1
- package/out/utils/import-utils.d.ts +6 -20
- package/out/utils/import-utils.js +3 -63
- package/out/utils/import-utils.js.map +1 -1
- package/out/validation/constants.d.ts +23 -6
- package/out/validation/constants.js +24 -7
- package/out/validation/constants.js.map +1 -1
- package/out/validation/maps.js +10 -4
- package/out/validation/maps.js.map +1 -1
- package/out/validation/relationships.d.ts +4 -8
- package/out/validation/relationships.js +96 -48
- package/out/validation/relationships.js.map +1 -1
- package/package.json +5 -2
- package/src/ast-augmentation.ts +7 -2
- package/src/diagram/context-map-diagram-generator.ts +513 -0
- package/src/diagram/context-map-layout-configurator.ts +43 -0
- package/src/diagram/elk-layout-factory.ts +83 -0
- package/src/domain-lang-module.ts +19 -2
- package/src/domain-lang.langium +62 -26
- package/src/generated/ast.ts +413 -63
- package/src/generated/grammar.ts +418 -172
- package/src/index.ts +5 -0
- package/src/lsp/domain-lang-code-lens-provider.ts +54 -0
- package/src/lsp/domain-lang-completion.ts +42 -15
- package/src/lsp/domain-lang-document-symbol-provider.ts +5 -5
- package/src/lsp/domain-lang-formatter.ts +34 -0
- package/src/lsp/domain-lang-index-manager.ts +6 -9
- package/src/lsp/domain-lang-workspace-manager.ts +3 -29
- package/src/lsp/explain.ts +10 -2
- package/src/lsp/hover/domain-lang-hover.ts +10 -8
- package/src/lsp/hover/domain-lang-keywords.ts +27 -24
- package/src/lsp/tool-handlers.ts +61 -47
- package/src/sdk/ast-augmentation.ts +30 -21
- package/src/sdk/index.ts +11 -1
- package/src/sdk/loader-node.ts +2 -2
- package/src/sdk/patterns.ts +114 -76
- package/src/sdk/query.ts +57 -48
- package/src/sdk/serializers.ts +20 -7
- package/src/sdk/types.ts +92 -17
- package/src/sdk/validator.ts +52 -69
- package/src/services/performance-optimizer.ts +4 -6
- package/src/services/relationship-inference.ts +43 -54
- package/src/utils/import-utils.ts +9 -74
- package/src/validation/constants.ts +32 -9
- package/src/validation/maps.ts +12 -4
- package/src/validation/relationships.ts +150 -71
package/out/generated/ast.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare const DomainLangTerminals: {
|
|
|
11
11
|
SL_COMMENT: RegExp;
|
|
12
12
|
};
|
|
13
13
|
export type DomainLangTerminalNames = keyof typeof DomainLangTerminals;
|
|
14
|
-
export type DomainLangKeywordNames = "," | "->" | "." | ":" | "<-" | "<->" | "=" | "><" | "ACL" | "AntiCorruptionLayer" | "BBoM" | "BigBallOfMud" | "BoundedContext" | "CF" | "Classification" | "Conformist" | "ContextMap" | "
|
|
14
|
+
export type DomainLangKeywordNames = "," | "->" | "." | ":" | "<-" | "<->" | "=" | "><" | "ACL" | "AntiCorruptionLayer" | "BBoM" | "BigBallOfMud" | "BoundedContext" | "C" | "CF" | "Classification" | "Conformist" | "ContextMap" | "Customer" | "Decision" | "Domain" | "DomainMap" | "Import" | "Metadata" | "Namespace" | "OHS" | "OpenHostService" | "P" | "PL" | "Partnership" | "Policy" | "PublishedLanguage" | "Rule" | "S" | "SK" | "SW" | "SeparateWays" | "SharedKernel" | "Supplier" | "Team" | "Term" | "[" | "]" | "aka" | "archetype" | "as" | "bc" | "businessModel" | "by" | "classification" | "cmap" | "contains" | "decision" | "decisions" | "description" | "dmap" | "dom" | "evolution" | "examples" | "for" | "glossary" | "import" | "in" | "integrations" | "is" | "meta" | "metadata" | "ns" | "policy" | "relationships" | "rule" | "rules" | "synonyms" | "team" | "term" | "terminology" | "this" | "type" | "vision" | "{" | "}";
|
|
15
15
|
export type DomainLangTokenNames = DomainLangTerminalNames | DomainLangKeywordNames;
|
|
16
16
|
/**
|
|
17
17
|
* Decisions, Policies, and Business Rules.
|
|
@@ -24,11 +24,37 @@ export declare const AbstractDecision: {
|
|
|
24
24
|
readonly $type: "AbstractDecision";
|
|
25
25
|
};
|
|
26
26
|
export declare function isAbstractDecision(item: unknown): item is AbstractDecision;
|
|
27
|
+
/**
|
|
28
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
29
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
30
|
+
* Short and long forms parse to the same node type.
|
|
31
|
+
*/
|
|
32
|
+
export interface AntiCorruptionLayer extends langium.AstNode {
|
|
33
|
+
readonly $container: DirectionalRelationship;
|
|
34
|
+
readonly $type: 'AntiCorruptionLayer';
|
|
35
|
+
}
|
|
36
|
+
export declare const AntiCorruptionLayer: {
|
|
37
|
+
readonly $type: "AntiCorruptionLayer";
|
|
38
|
+
};
|
|
39
|
+
export declare function isAntiCorruptionLayer(item: unknown): item is AntiCorruptionLayer;
|
|
27
40
|
/**
|
|
28
41
|
* Assignment operators - flexible syntax.
|
|
29
42
|
*/
|
|
30
43
|
export type Assignment = ':' | '=' | 'is';
|
|
31
44
|
export declare function isAssignment(item: unknown): item is Assignment;
|
|
45
|
+
/**
|
|
46
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
47
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
48
|
+
* Short and long forms parse to the same node type.
|
|
49
|
+
*/
|
|
50
|
+
export interface BigBallOfMud extends langium.AstNode {
|
|
51
|
+
readonly $container: DirectionalRelationship;
|
|
52
|
+
readonly $type: 'BigBallOfMud';
|
|
53
|
+
}
|
|
54
|
+
export declare const BigBallOfMud: {
|
|
55
|
+
readonly $type: "BigBallOfMud";
|
|
56
|
+
};
|
|
57
|
+
export declare function isBigBallOfMud(item: unknown): item is BigBallOfMud;
|
|
32
58
|
/**
|
|
33
59
|
* Bounded Context - A boundary within which a domain model is defined.
|
|
34
60
|
* Central pattern in DDD for managing complexity and team boundaries.
|
|
@@ -114,6 +140,19 @@ export declare const Classification: {
|
|
|
114
140
|
readonly name: "name";
|
|
115
141
|
};
|
|
116
142
|
export declare function isClassification(item: unknown): item is Classification;
|
|
143
|
+
/**
|
|
144
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
145
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
146
|
+
* Short and long forms parse to the same node type.
|
|
147
|
+
*/
|
|
148
|
+
export interface Conformist extends langium.AstNode {
|
|
149
|
+
readonly $container: DirectionalRelationship;
|
|
150
|
+
readonly $type: 'Conformist';
|
|
151
|
+
}
|
|
152
|
+
export declare const Conformist: {
|
|
153
|
+
readonly $type: "Conformist";
|
|
154
|
+
};
|
|
155
|
+
export declare function isConformist(item: unknown): item is Conformist;
|
|
117
156
|
export type Container = Model | NamespaceDeclaration;
|
|
118
157
|
export declare const Container: {
|
|
119
158
|
readonly $type: "Container";
|
|
@@ -139,6 +178,19 @@ export declare const ContextMap: {
|
|
|
139
178
|
readonly relationships: "relationships";
|
|
140
179
|
};
|
|
141
180
|
export declare function isContextMap(item: unknown): item is ContextMap;
|
|
181
|
+
/**
|
|
182
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
183
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
184
|
+
* Short and long forms parse to the same node type.
|
|
185
|
+
*/
|
|
186
|
+
export interface Customer extends langium.AstNode {
|
|
187
|
+
readonly $container: DirectionalRelationship;
|
|
188
|
+
readonly $type: 'Customer';
|
|
189
|
+
}
|
|
190
|
+
export declare const Customer: {
|
|
191
|
+
readonly $type: "Customer";
|
|
192
|
+
};
|
|
193
|
+
export declare function isCustomer(item: unknown): item is Customer;
|
|
142
194
|
export interface Decision extends langium.AstNode {
|
|
143
195
|
readonly $container: BoundedContext;
|
|
144
196
|
readonly $type: 'Assignment' | 'Decision';
|
|
@@ -153,6 +205,43 @@ export declare const Decision: {
|
|
|
153
205
|
readonly value: "value";
|
|
154
206
|
};
|
|
155
207
|
export declare function isDecision(item: unknown): item is Decision;
|
|
208
|
+
/**
|
|
209
|
+
* Directional relationship arrows.
|
|
210
|
+
*
|
|
211
|
+
* Arrow semantics:
|
|
212
|
+
* -> Upstream to downstream (left provides, right consumes)
|
|
213
|
+
* <- Downstream to upstream (right provides, left consumes)
|
|
214
|
+
* <-> Bidirectional (mutual data flow with explicit patterns)
|
|
215
|
+
*/
|
|
216
|
+
export type DirectionalArrow = '->' | '<-' | '<->';
|
|
217
|
+
export declare function isDirectionalArrow(item: unknown): item is DirectionalArrow;
|
|
218
|
+
/**
|
|
219
|
+
* Directional relationship - upstream/downstream with optional side patterns.
|
|
220
|
+
*
|
|
221
|
+
* Examples:
|
|
222
|
+
* Orders [OHS] -> [CF] Payments
|
|
223
|
+
* Orders [S] -> [C] Payments
|
|
224
|
+
* Orders -> Payments
|
|
225
|
+
* Orders [OHS] <-> [CF] Payments
|
|
226
|
+
*/
|
|
227
|
+
export interface DirectionalRelationship extends langium.AstNode {
|
|
228
|
+
readonly $container: BoundedContext | ContextMap;
|
|
229
|
+
readonly $type: 'DirectionalRelationship';
|
|
230
|
+
arrow: DirectionalArrow;
|
|
231
|
+
left: BoundedContextRef;
|
|
232
|
+
leftPatterns: Array<SidePattern>;
|
|
233
|
+
right: BoundedContextRef;
|
|
234
|
+
rightPatterns: Array<SidePattern>;
|
|
235
|
+
}
|
|
236
|
+
export declare const DirectionalRelationship: {
|
|
237
|
+
readonly $type: "DirectionalRelationship";
|
|
238
|
+
readonly arrow: "arrow";
|
|
239
|
+
readonly left: "left";
|
|
240
|
+
readonly leftPatterns: "leftPatterns";
|
|
241
|
+
readonly right: "right";
|
|
242
|
+
readonly rightPatterns: "rightPatterns";
|
|
243
|
+
};
|
|
244
|
+
export declare function isDirectionalRelationship(item: unknown): item is DirectionalRelationship;
|
|
156
245
|
/**
|
|
157
246
|
* Domain - A sphere of knowledge or activity in DDD.
|
|
158
247
|
* Can be nested via `in` to show subdomain hierarchy.
|
|
@@ -244,11 +333,6 @@ export declare const ImportStatement: {
|
|
|
244
333
|
readonly uri: "uri";
|
|
245
334
|
};
|
|
246
335
|
export declare function isImportStatement(item: unknown): item is ImportStatement;
|
|
247
|
-
/**
|
|
248
|
-
* DDD Integration Patterns (used in relationships).
|
|
249
|
-
*/
|
|
250
|
-
export type IntegrationPattern = 'ACL' | 'AntiCorruptionLayer' | 'BBoM' | 'BigBallOfMud' | 'CF' | 'Conformist' | 'OHS' | 'OpenHostService' | 'P' | 'PL' | 'Partnership' | 'PublishedLanguage' | 'SK' | 'SharedKernel';
|
|
251
|
-
export declare function isIntegrationPattern(item: unknown): item is IntegrationPattern;
|
|
252
336
|
/**
|
|
253
337
|
* Metadata - Defines a key that can be used in metadata blocks.
|
|
254
338
|
* Examples: Language, Framework, Database, Repository.
|
|
@@ -319,6 +403,31 @@ export declare const ObjectMap: {
|
|
|
319
403
|
readonly $type: "ObjectMap";
|
|
320
404
|
};
|
|
321
405
|
export declare function isObjectMap(item: unknown): item is ObjectMap;
|
|
406
|
+
/**
|
|
407
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
408
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
409
|
+
* Short and long forms parse to the same node type.
|
|
410
|
+
*/
|
|
411
|
+
export interface OpenHostService extends langium.AstNode {
|
|
412
|
+
readonly $container: DirectionalRelationship;
|
|
413
|
+
readonly $type: 'OpenHostService';
|
|
414
|
+
}
|
|
415
|
+
export declare const OpenHostService: {
|
|
416
|
+
readonly $type: "OpenHostService";
|
|
417
|
+
};
|
|
418
|
+
export declare function isOpenHostService(item: unknown): item is OpenHostService;
|
|
419
|
+
/**
|
|
420
|
+
* DDD Symmetric Patterns - describe the relationship between two contexts.
|
|
421
|
+
* These are mutual/shared patterns, not directional.
|
|
422
|
+
*/
|
|
423
|
+
export interface Partnership extends langium.AstNode {
|
|
424
|
+
readonly $container: SymmetricRelationship;
|
|
425
|
+
readonly $type: 'Partnership';
|
|
426
|
+
}
|
|
427
|
+
export declare const Partnership: {
|
|
428
|
+
readonly $type: "Partnership";
|
|
429
|
+
};
|
|
430
|
+
export declare function isPartnership(item: unknown): item is Partnership;
|
|
322
431
|
export interface Policy extends langium.AstNode {
|
|
323
432
|
readonly $container: BoundedContext;
|
|
324
433
|
readonly $type: 'Assignment' | 'Policy';
|
|
@@ -333,6 +442,19 @@ export declare const Policy: {
|
|
|
333
442
|
readonly value: "value";
|
|
334
443
|
};
|
|
335
444
|
export declare function isPolicy(item: unknown): item is Policy;
|
|
445
|
+
/**
|
|
446
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
447
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
448
|
+
* Short and long forms parse to the same node type.
|
|
449
|
+
*/
|
|
450
|
+
export interface PublishedLanguage extends langium.AstNode {
|
|
451
|
+
readonly $container: DirectionalRelationship;
|
|
452
|
+
readonly $type: 'PublishedLanguage';
|
|
453
|
+
}
|
|
454
|
+
export declare const PublishedLanguage: {
|
|
455
|
+
readonly $type: "PublishedLanguage";
|
|
456
|
+
};
|
|
457
|
+
export declare function isPublishedLanguage(item: unknown): item is PublishedLanguage;
|
|
336
458
|
/**
|
|
337
459
|
* Qualified Name - Hierarchical namespacing with dots.
|
|
338
460
|
*/
|
|
@@ -340,46 +462,55 @@ export type QualifiedName = string;
|
|
|
340
462
|
export declare function isQualifiedName(item: unknown): item is QualifiedName;
|
|
341
463
|
/**
|
|
342
464
|
* Relationship - Connection between two Bounded Contexts.
|
|
343
|
-
*
|
|
465
|
+
* Uses entity–relationship–entity structure where the relationship expression
|
|
466
|
+
* (type, arrow, side annotations) sits between the two entity references.
|
|
467
|
+
*
|
|
468
|
+
* Forms:
|
|
469
|
+
* Directional: Orders [OHS] -> [CF] Payments
|
|
470
|
+
* Symmetric: CardManagement [SK] AccountManagement
|
|
471
|
+
* Separate Ways arrow: Orders >< Payments
|
|
344
472
|
*
|
|
345
473
|
* [Read more on domainlang.net](https://domainlang.net/reference/language#relationships)
|
|
346
474
|
*/
|
|
347
|
-
export
|
|
348
|
-
readonly $container: BoundedContext | ContextMap;
|
|
349
|
-
readonly $type: 'Assignment' | 'Relationship';
|
|
350
|
-
arrow: RelationshipArrow;
|
|
351
|
-
left: BoundedContextRef;
|
|
352
|
-
leftPatterns: Array<IntegrationPattern>;
|
|
353
|
-
right: BoundedContextRef;
|
|
354
|
-
rightPatterns: Array<IntegrationPattern>;
|
|
355
|
-
type?: RelationshipType;
|
|
356
|
-
}
|
|
475
|
+
export type Relationship = DirectionalRelationship | SymmetricRelationship;
|
|
357
476
|
export declare const Relationship: {
|
|
358
477
|
readonly $type: "Relationship";
|
|
359
|
-
readonly arrow: "arrow";
|
|
360
|
-
readonly left: "left";
|
|
361
|
-
readonly leftPatterns: "leftPatterns";
|
|
362
|
-
readonly right: "right";
|
|
363
|
-
readonly rightPatterns: "rightPatterns";
|
|
364
|
-
readonly type: "type";
|
|
365
478
|
};
|
|
366
479
|
export declare function isRelationship(item: unknown): item is Relationship;
|
|
367
480
|
/**
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
481
|
+
* DDD Symmetric Patterns - describe the relationship between two contexts.
|
|
482
|
+
* These are mutual/shared patterns, not directional.
|
|
483
|
+
*/
|
|
484
|
+
export interface SeparateWays extends langium.AstNode {
|
|
485
|
+
readonly $container: SymmetricRelationship;
|
|
486
|
+
readonly $type: 'SeparateWays';
|
|
487
|
+
}
|
|
488
|
+
export declare const SeparateWays: {
|
|
489
|
+
readonly $type: "SeparateWays";
|
|
490
|
+
};
|
|
491
|
+
export declare function isSeparateWays(item: unknown): item is SeparateWays;
|
|
492
|
+
/**
|
|
493
|
+
* DDD Symmetric Patterns - describe the relationship between two contexts.
|
|
494
|
+
* These are mutual/shared patterns, not directional.
|
|
375
495
|
*/
|
|
376
|
-
export
|
|
377
|
-
|
|
496
|
+
export interface SharedKernel extends langium.AstNode {
|
|
497
|
+
readonly $container: SymmetricRelationship;
|
|
498
|
+
readonly $type: 'SharedKernel';
|
|
499
|
+
}
|
|
500
|
+
export declare const SharedKernel: {
|
|
501
|
+
readonly $type: "SharedKernel";
|
|
502
|
+
};
|
|
503
|
+
export declare function isSharedKernel(item: unknown): item is SharedKernel;
|
|
378
504
|
/**
|
|
379
|
-
* DDD
|
|
505
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
506
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
507
|
+
* Short and long forms parse to the same node type.
|
|
380
508
|
*/
|
|
381
|
-
export type
|
|
382
|
-
export declare
|
|
509
|
+
export type SidePattern = AntiCorruptionLayer | BigBallOfMud | Conformist | Customer | OpenHostService | PublishedLanguage | Supplier;
|
|
510
|
+
export declare const SidePattern: {
|
|
511
|
+
readonly $type: "SidePattern";
|
|
512
|
+
};
|
|
513
|
+
export declare function isSidePattern(item: unknown): item is SidePattern;
|
|
383
514
|
/**
|
|
384
515
|
* Top-level elements that can appear in the model.
|
|
385
516
|
* Unifies all major DDD constructs for flexible ordering.
|
|
@@ -389,6 +520,53 @@ export declare const StructureElement: {
|
|
|
389
520
|
readonly $type: "StructureElement";
|
|
390
521
|
};
|
|
391
522
|
export declare function isStructureElement(item: unknown): item is StructureElement;
|
|
523
|
+
/**
|
|
524
|
+
* DDD Side Patterns - describe one side's role in a directional relationship.
|
|
525
|
+
* Each pattern produces a distinct AST node type via {infer} actions.
|
|
526
|
+
* Short and long forms parse to the same node type.
|
|
527
|
+
*/
|
|
528
|
+
export interface Supplier extends langium.AstNode {
|
|
529
|
+
readonly $container: DirectionalRelationship;
|
|
530
|
+
readonly $type: 'Supplier';
|
|
531
|
+
}
|
|
532
|
+
export declare const Supplier: {
|
|
533
|
+
readonly $type: "Supplier";
|
|
534
|
+
};
|
|
535
|
+
export declare function isSupplier(item: unknown): item is Supplier;
|
|
536
|
+
/**
|
|
537
|
+
* DDD Symmetric Patterns - describe the relationship between two contexts.
|
|
538
|
+
* These are mutual/shared patterns, not directional.
|
|
539
|
+
*/
|
|
540
|
+
export type SymmetricPattern = Partnership | SeparateWays | SharedKernel;
|
|
541
|
+
export declare const SymmetricPattern: {
|
|
542
|
+
readonly $type: "SymmetricPattern";
|
|
543
|
+
};
|
|
544
|
+
export declare function isSymmetricPattern(item: unknown): item is SymmetricPattern;
|
|
545
|
+
/**
|
|
546
|
+
* Symmetric relationship - mutual pattern between two contexts, no directionality.
|
|
547
|
+
*
|
|
548
|
+
* Examples:
|
|
549
|
+
* CardManagement [SK] AccountManagement
|
|
550
|
+
* Orders [P] Payments
|
|
551
|
+
* Orders >< Payments
|
|
552
|
+
* Orders [SW] Payments
|
|
553
|
+
*/
|
|
554
|
+
export interface SymmetricRelationship extends langium.AstNode {
|
|
555
|
+
readonly $container: BoundedContext | ContextMap;
|
|
556
|
+
readonly $type: 'SymmetricRelationship';
|
|
557
|
+
arrow?: '><';
|
|
558
|
+
left: BoundedContextRef;
|
|
559
|
+
pattern?: SymmetricPattern;
|
|
560
|
+
right: BoundedContextRef;
|
|
561
|
+
}
|
|
562
|
+
export declare const SymmetricRelationship: {
|
|
563
|
+
readonly $type: "SymmetricRelationship";
|
|
564
|
+
readonly arrow: "arrow";
|
|
565
|
+
readonly left: "left";
|
|
566
|
+
readonly pattern: "pattern";
|
|
567
|
+
readonly right: "right";
|
|
568
|
+
};
|
|
569
|
+
export declare function isSymmetricRelationship(item: unknown): item is SymmetricRelationship;
|
|
392
570
|
/**
|
|
393
571
|
* Team - People responsible for a Bounded Context or Domain.
|
|
394
572
|
* Represents organizational boundaries in DDD.
|
|
@@ -426,13 +604,18 @@ export declare const Type: {
|
|
|
426
604
|
export declare function isType(item: unknown): item is Type;
|
|
427
605
|
export type DomainLangAstType = {
|
|
428
606
|
AbstractDecision: AbstractDecision;
|
|
607
|
+
AntiCorruptionLayer: AntiCorruptionLayer;
|
|
608
|
+
BigBallOfMud: BigBallOfMud;
|
|
429
609
|
BoundedContext: BoundedContext;
|
|
430
610
|
BoundedContextRef: BoundedContextRef;
|
|
431
611
|
BusinessRule: BusinessRule;
|
|
432
612
|
Classification: Classification;
|
|
613
|
+
Conformist: Conformist;
|
|
433
614
|
Container: Container;
|
|
434
615
|
ContextMap: ContextMap;
|
|
616
|
+
Customer: Customer;
|
|
435
617
|
Decision: Decision;
|
|
618
|
+
DirectionalRelationship: DirectionalRelationship;
|
|
436
619
|
Domain: Domain;
|
|
437
620
|
DomainMap: DomainMap;
|
|
438
621
|
DomainTerm: DomainTerm;
|
|
@@ -442,9 +625,18 @@ export type DomainLangAstType = {
|
|
|
442
625
|
Model: Model;
|
|
443
626
|
NamespaceDeclaration: NamespaceDeclaration;
|
|
444
627
|
ObjectMap: ObjectMap;
|
|
628
|
+
OpenHostService: OpenHostService;
|
|
629
|
+
Partnership: Partnership;
|
|
445
630
|
Policy: Policy;
|
|
631
|
+
PublishedLanguage: PublishedLanguage;
|
|
446
632
|
Relationship: Relationship;
|
|
633
|
+
SeparateWays: SeparateWays;
|
|
634
|
+
SharedKernel: SharedKernel;
|
|
635
|
+
SidePattern: SidePattern;
|
|
447
636
|
StructureElement: StructureElement;
|
|
637
|
+
Supplier: Supplier;
|
|
638
|
+
SymmetricPattern: SymmetricPattern;
|
|
639
|
+
SymmetricRelationship: SymmetricRelationship;
|
|
448
640
|
Team: Team;
|
|
449
641
|
ThisRef: ThisRef;
|
|
450
642
|
Type: Type;
|
|
@@ -456,6 +648,16 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
456
648
|
readonly properties: {};
|
|
457
649
|
readonly superTypes: [];
|
|
458
650
|
};
|
|
651
|
+
readonly AntiCorruptionLayer: {
|
|
652
|
+
readonly name: "AntiCorruptionLayer";
|
|
653
|
+
readonly properties: {};
|
|
654
|
+
readonly superTypes: ["SidePattern"];
|
|
655
|
+
};
|
|
656
|
+
readonly BigBallOfMud: {
|
|
657
|
+
readonly name: "BigBallOfMud";
|
|
658
|
+
readonly properties: {};
|
|
659
|
+
readonly superTypes: ["SidePattern"];
|
|
660
|
+
};
|
|
459
661
|
readonly BoundedContext: {
|
|
460
662
|
readonly name: "BoundedContext";
|
|
461
663
|
readonly properties: {
|
|
@@ -545,6 +747,11 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
545
747
|
};
|
|
546
748
|
readonly superTypes: ["Type"];
|
|
547
749
|
};
|
|
750
|
+
readonly Conformist: {
|
|
751
|
+
readonly name: "Conformist";
|
|
752
|
+
readonly properties: {};
|
|
753
|
+
readonly superTypes: ["SidePattern"];
|
|
754
|
+
};
|
|
548
755
|
readonly Container: {
|
|
549
756
|
readonly name: "Container";
|
|
550
757
|
readonly properties: {};
|
|
@@ -568,6 +775,11 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
568
775
|
};
|
|
569
776
|
readonly superTypes: ["ObjectMap"];
|
|
570
777
|
};
|
|
778
|
+
readonly Customer: {
|
|
779
|
+
readonly name: "Customer";
|
|
780
|
+
readonly properties: {};
|
|
781
|
+
readonly superTypes: ["SidePattern"];
|
|
782
|
+
};
|
|
571
783
|
readonly Decision: {
|
|
572
784
|
readonly name: "Decision";
|
|
573
785
|
readonly properties: {
|
|
@@ -584,6 +796,29 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
584
796
|
};
|
|
585
797
|
readonly superTypes: ["AbstractDecision"];
|
|
586
798
|
};
|
|
799
|
+
readonly DirectionalRelationship: {
|
|
800
|
+
readonly name: "DirectionalRelationship";
|
|
801
|
+
readonly properties: {
|
|
802
|
+
readonly arrow: {
|
|
803
|
+
readonly name: "arrow";
|
|
804
|
+
};
|
|
805
|
+
readonly left: {
|
|
806
|
+
readonly name: "left";
|
|
807
|
+
};
|
|
808
|
+
readonly leftPatterns: {
|
|
809
|
+
readonly name: "leftPatterns";
|
|
810
|
+
readonly defaultValue: [];
|
|
811
|
+
};
|
|
812
|
+
readonly right: {
|
|
813
|
+
readonly name: "right";
|
|
814
|
+
};
|
|
815
|
+
readonly rightPatterns: {
|
|
816
|
+
readonly name: "rightPatterns";
|
|
817
|
+
readonly defaultValue: [];
|
|
818
|
+
};
|
|
819
|
+
};
|
|
820
|
+
readonly superTypes: ["Relationship"];
|
|
821
|
+
};
|
|
587
822
|
readonly Domain: {
|
|
588
823
|
readonly name: "Domain";
|
|
589
824
|
readonly properties: {
|
|
@@ -707,6 +942,16 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
707
942
|
readonly properties: {};
|
|
708
943
|
readonly superTypes: ["StructureElement"];
|
|
709
944
|
};
|
|
945
|
+
readonly OpenHostService: {
|
|
946
|
+
readonly name: "OpenHostService";
|
|
947
|
+
readonly properties: {};
|
|
948
|
+
readonly superTypes: ["SidePattern"];
|
|
949
|
+
};
|
|
950
|
+
readonly Partnership: {
|
|
951
|
+
readonly name: "Partnership";
|
|
952
|
+
readonly properties: {};
|
|
953
|
+
readonly superTypes: ["SymmetricPattern"];
|
|
954
|
+
};
|
|
710
955
|
readonly Policy: {
|
|
711
956
|
readonly name: "Policy";
|
|
712
957
|
readonly properties: {
|
|
@@ -723,8 +968,48 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
723
968
|
};
|
|
724
969
|
readonly superTypes: ["AbstractDecision"];
|
|
725
970
|
};
|
|
971
|
+
readonly PublishedLanguage: {
|
|
972
|
+
readonly name: "PublishedLanguage";
|
|
973
|
+
readonly properties: {};
|
|
974
|
+
readonly superTypes: ["SidePattern"];
|
|
975
|
+
};
|
|
726
976
|
readonly Relationship: {
|
|
727
977
|
readonly name: "Relationship";
|
|
978
|
+
readonly properties: {};
|
|
979
|
+
readonly superTypes: [];
|
|
980
|
+
};
|
|
981
|
+
readonly SeparateWays: {
|
|
982
|
+
readonly name: "SeparateWays";
|
|
983
|
+
readonly properties: {};
|
|
984
|
+
readonly superTypes: ["SymmetricPattern"];
|
|
985
|
+
};
|
|
986
|
+
readonly SharedKernel: {
|
|
987
|
+
readonly name: "SharedKernel";
|
|
988
|
+
readonly properties: {};
|
|
989
|
+
readonly superTypes: ["SymmetricPattern"];
|
|
990
|
+
};
|
|
991
|
+
readonly SidePattern: {
|
|
992
|
+
readonly name: "SidePattern";
|
|
993
|
+
readonly properties: {};
|
|
994
|
+
readonly superTypes: [];
|
|
995
|
+
};
|
|
996
|
+
readonly StructureElement: {
|
|
997
|
+
readonly name: "StructureElement";
|
|
998
|
+
readonly properties: {};
|
|
999
|
+
readonly superTypes: [];
|
|
1000
|
+
};
|
|
1001
|
+
readonly Supplier: {
|
|
1002
|
+
readonly name: "Supplier";
|
|
1003
|
+
readonly properties: {};
|
|
1004
|
+
readonly superTypes: ["SidePattern"];
|
|
1005
|
+
};
|
|
1006
|
+
readonly SymmetricPattern: {
|
|
1007
|
+
readonly name: "SymmetricPattern";
|
|
1008
|
+
readonly properties: {};
|
|
1009
|
+
readonly superTypes: [];
|
|
1010
|
+
};
|
|
1011
|
+
readonly SymmetricRelationship: {
|
|
1012
|
+
readonly name: "SymmetricRelationship";
|
|
728
1013
|
readonly properties: {
|
|
729
1014
|
readonly arrow: {
|
|
730
1015
|
readonly name: "arrow";
|
|
@@ -732,27 +1017,14 @@ export declare class DomainLangAstReflection extends langium.AbstractAstReflecti
|
|
|
732
1017
|
readonly left: {
|
|
733
1018
|
readonly name: "left";
|
|
734
1019
|
};
|
|
735
|
-
readonly
|
|
736
|
-
readonly name: "
|
|
737
|
-
readonly defaultValue: [];
|
|
1020
|
+
readonly pattern: {
|
|
1021
|
+
readonly name: "pattern";
|
|
738
1022
|
};
|
|
739
1023
|
readonly right: {
|
|
740
1024
|
readonly name: "right";
|
|
741
1025
|
};
|
|
742
|
-
readonly rightPatterns: {
|
|
743
|
-
readonly name: "rightPatterns";
|
|
744
|
-
readonly defaultValue: [];
|
|
745
|
-
};
|
|
746
|
-
readonly type: {
|
|
747
|
-
readonly name: "type";
|
|
748
|
-
};
|
|
749
1026
|
};
|
|
750
|
-
readonly superTypes: [];
|
|
751
|
-
};
|
|
752
|
-
readonly StructureElement: {
|
|
753
|
-
readonly name: "StructureElement";
|
|
754
|
-
readonly properties: {};
|
|
755
|
-
readonly superTypes: [];
|
|
1027
|
+
readonly superTypes: ["Relationship"];
|
|
756
1028
|
};
|
|
757
1029
|
readonly Team: {
|
|
758
1030
|
readonly name: "Team";
|