@domainlang/language 0.12.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.
Files changed (90) hide show
  1. package/out/ast-augmentation.d.ts +7 -2
  2. package/out/diagram/context-map-diagram-generator.d.ts +9 -2
  3. package/out/diagram/context-map-diagram-generator.js +112 -63
  4. package/out/diagram/context-map-diagram-generator.js.map +1 -1
  5. package/out/generated/ast.d.ts +323 -51
  6. package/out/generated/ast.js +194 -33
  7. package/out/generated/ast.js.map +1 -1
  8. package/out/generated/grammar.js +418 -172
  9. package/out/generated/grammar.js.map +1 -1
  10. package/out/lsp/domain-lang-completion.js +39 -15
  11. package/out/lsp/domain-lang-completion.js.map +1 -1
  12. package/out/lsp/domain-lang-formatter.js +32 -0
  13. package/out/lsp/domain-lang-formatter.js.map +1 -1
  14. package/out/lsp/domain-lang-index-manager.d.ts +2 -3
  15. package/out/lsp/domain-lang-index-manager.js +5 -8
  16. package/out/lsp/domain-lang-index-manager.js.map +1 -1
  17. package/out/lsp/domain-lang-workspace-manager.d.ts +1 -1
  18. package/out/lsp/domain-lang-workspace-manager.js +2 -26
  19. package/out/lsp/domain-lang-workspace-manager.js.map +1 -1
  20. package/out/lsp/explain.js +9 -3
  21. package/out/lsp/explain.js.map +1 -1
  22. package/out/lsp/hover/domain-lang-hover.js +13 -11
  23. package/out/lsp/hover/domain-lang-hover.js.map +1 -1
  24. package/out/lsp/hover/domain-lang-keywords.js +29 -26
  25. package/out/lsp/hover/domain-lang-keywords.js.map +1 -1
  26. package/out/sdk/ast-augmentation.d.ts +29 -21
  27. package/out/sdk/ast-augmentation.js +11 -7
  28. package/out/sdk/ast-augmentation.js.map +1 -1
  29. package/out/sdk/index.d.ts +2 -2
  30. package/out/sdk/index.js +1 -1
  31. package/out/sdk/index.js.map +1 -1
  32. package/out/sdk/loader-node.js +2 -2
  33. package/out/sdk/loader-node.js.map +1 -1
  34. package/out/sdk/patterns.d.ts +50 -61
  35. package/out/sdk/patterns.js +92 -62
  36. package/out/sdk/patterns.js.map +1 -1
  37. package/out/sdk/query.js +54 -43
  38. package/out/sdk/query.js.map +1 -1
  39. package/out/sdk/serializers.js +20 -7
  40. package/out/sdk/serializers.js.map +1 -1
  41. package/out/sdk/types.d.ts +87 -18
  42. package/out/sdk/types.js.map +1 -1
  43. package/out/sdk/validator.js +48 -64
  44. package/out/sdk/validator.js.map +1 -1
  45. package/out/services/performance-optimizer.d.ts +3 -3
  46. package/out/services/performance-optimizer.js +1 -3
  47. package/out/services/performance-optimizer.js.map +1 -1
  48. package/out/services/relationship-inference.d.ts +4 -4
  49. package/out/services/relationship-inference.js +34 -46
  50. package/out/services/relationship-inference.js.map +1 -1
  51. package/out/syntaxes/domain-lang.monarch.js +1 -1
  52. package/out/syntaxes/domain-lang.monarch.js.map +1 -1
  53. package/out/utils/import-utils.d.ts +6 -20
  54. package/out/utils/import-utils.js +3 -63
  55. package/out/utils/import-utils.js.map +1 -1
  56. package/out/validation/constants.d.ts +23 -6
  57. package/out/validation/constants.js +24 -7
  58. package/out/validation/constants.js.map +1 -1
  59. package/out/validation/maps.js +10 -4
  60. package/out/validation/maps.js.map +1 -1
  61. package/out/validation/relationships.d.ts +4 -8
  62. package/out/validation/relationships.js +96 -48
  63. package/out/validation/relationships.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/ast-augmentation.ts +7 -2
  66. package/src/diagram/context-map-diagram-generator.ts +132 -70
  67. package/src/domain-lang.langium +62 -26
  68. package/src/generated/ast.ts +413 -63
  69. package/src/generated/grammar.ts +418 -172
  70. package/src/lsp/domain-lang-completion.ts +42 -15
  71. package/src/lsp/domain-lang-formatter.ts +34 -0
  72. package/src/lsp/domain-lang-index-manager.ts +6 -9
  73. package/src/lsp/domain-lang-workspace-manager.ts +3 -29
  74. package/src/lsp/explain.ts +10 -2
  75. package/src/lsp/hover/domain-lang-hover.ts +10 -8
  76. package/src/lsp/hover/domain-lang-keywords.ts +27 -24
  77. package/src/sdk/ast-augmentation.ts +30 -21
  78. package/src/sdk/index.ts +11 -1
  79. package/src/sdk/loader-node.ts +2 -2
  80. package/src/sdk/patterns.ts +114 -76
  81. package/src/sdk/query.ts +57 -48
  82. package/src/sdk/serializers.ts +20 -7
  83. package/src/sdk/types.ts +92 -17
  84. package/src/sdk/validator.ts +52 -69
  85. package/src/services/performance-optimizer.ts +4 -6
  86. package/src/services/relationship-inference.ts +43 -54
  87. package/src/utils/import-utils.ts +9 -74
  88. package/src/validation/constants.ts +32 -9
  89. package/src/validation/maps.ts +12 -4
  90. package/src/validation/relationships.ts +150 -71
@@ -17,9 +17,21 @@ export const AbstractDecision = {
17
17
  export function isAbstractDecision(item) {
18
18
  return reflection.isInstance(item, AbstractDecision.$type);
19
19
  }
20
+ export const AntiCorruptionLayer = {
21
+ $type: 'AntiCorruptionLayer'
22
+ };
23
+ export function isAntiCorruptionLayer(item) {
24
+ return reflection.isInstance(item, AntiCorruptionLayer.$type);
25
+ }
20
26
  export function isAssignment(item) {
21
27
  return item === ':' || item === 'is' || item === '=';
22
28
  }
29
+ export const BigBallOfMud = {
30
+ $type: 'BigBallOfMud'
31
+ };
32
+ export function isBigBallOfMud(item) {
33
+ return reflection.isInstance(item, BigBallOfMud.$type);
34
+ }
23
35
  export const BoundedContext = {
24
36
  $type: 'BoundedContext',
25
37
  archetype: 'archetype',
@@ -61,6 +73,12 @@ export const Classification = {
61
73
  export function isClassification(item) {
62
74
  return reflection.isInstance(item, Classification.$type);
63
75
  }
76
+ export const Conformist = {
77
+ $type: 'Conformist'
78
+ };
79
+ export function isConformist(item) {
80
+ return reflection.isInstance(item, Conformist.$type);
81
+ }
64
82
  export const Container = {
65
83
  $type: 'Container'
66
84
  };
@@ -76,6 +94,12 @@ export const ContextMap = {
76
94
  export function isContextMap(item) {
77
95
  return reflection.isInstance(item, ContextMap.$type);
78
96
  }
97
+ export const Customer = {
98
+ $type: 'Customer'
99
+ };
100
+ export function isCustomer(item) {
101
+ return reflection.isInstance(item, Customer.$type);
102
+ }
79
103
  export const Decision = {
80
104
  $type: 'Decision',
81
105
  classification: 'classification',
@@ -85,6 +109,20 @@ export const Decision = {
85
109
  export function isDecision(item) {
86
110
  return reflection.isInstance(item, Decision.$type);
87
111
  }
112
+ export function isDirectionalArrow(item) {
113
+ return item === '<->' || item === '->' || item === '<-';
114
+ }
115
+ export const DirectionalRelationship = {
116
+ $type: 'DirectionalRelationship',
117
+ arrow: 'arrow',
118
+ left: 'left',
119
+ leftPatterns: 'leftPatterns',
120
+ right: 'right',
121
+ rightPatterns: 'rightPatterns'
122
+ };
123
+ export function isDirectionalRelationship(item) {
124
+ return reflection.isInstance(item, DirectionalRelationship.$type);
125
+ }
88
126
  export const Domain = {
89
127
  $type: 'Domain',
90
128
  description: 'description',
@@ -122,9 +160,6 @@ export const ImportStatement = {
122
160
  export function isImportStatement(item) {
123
161
  return reflection.isInstance(item, ImportStatement.$type);
124
162
  }
125
- export function isIntegrationPattern(item) {
126
- return item === 'PL' || item === 'PublishedLanguage' || item === 'OHS' || item === 'OpenHostService' || item === 'CF' || item === 'Conformist' || item === 'ACL' || item === 'AntiCorruptionLayer' || item === 'P' || item === 'Partnership' || item === 'SK' || item === 'SharedKernel' || item === 'BBoM' || item === 'BigBallOfMud';
127
- }
128
163
  export const Metadata = {
129
164
  $type: 'Metadata',
130
165
  name: 'name'
@@ -162,6 +197,18 @@ export const ObjectMap = {
162
197
  export function isObjectMap(item) {
163
198
  return reflection.isInstance(item, ObjectMap.$type);
164
199
  }
200
+ export const OpenHostService = {
201
+ $type: 'OpenHostService'
202
+ };
203
+ export function isOpenHostService(item) {
204
+ return reflection.isInstance(item, OpenHostService.$type);
205
+ }
206
+ export const Partnership = {
207
+ $type: 'Partnership'
208
+ };
209
+ export function isPartnership(item) {
210
+ return reflection.isInstance(item, Partnership.$type);
211
+ }
165
212
  export const Policy = {
166
213
  $type: 'Policy',
167
214
  classification: 'classification',
@@ -171,26 +218,38 @@ export const Policy = {
171
218
  export function isPolicy(item) {
172
219
  return reflection.isInstance(item, Policy.$type);
173
220
  }
221
+ export const PublishedLanguage = {
222
+ $type: 'PublishedLanguage'
223
+ };
224
+ export function isPublishedLanguage(item) {
225
+ return reflection.isInstance(item, PublishedLanguage.$type);
226
+ }
174
227
  export function isQualifiedName(item) {
175
228
  return typeof item === 'string';
176
229
  }
177
230
  export const Relationship = {
178
- $type: 'Relationship',
179
- arrow: 'arrow',
180
- left: 'left',
181
- leftPatterns: 'leftPatterns',
182
- right: 'right',
183
- rightPatterns: 'rightPatterns',
184
- type: 'type'
231
+ $type: 'Relationship'
185
232
  };
186
233
  export function isRelationship(item) {
187
234
  return reflection.isInstance(item, Relationship.$type);
188
235
  }
189
- export function isRelationshipArrow(item) {
190
- return item === '<->' || item === '->' || item === '<-' || item === '><';
236
+ export const SeparateWays = {
237
+ $type: 'SeparateWays'
238
+ };
239
+ export function isSeparateWays(item) {
240
+ return reflection.isInstance(item, SeparateWays.$type);
191
241
  }
192
- export function isRelationshipType(item) {
193
- return item === 'Partnership' || item === 'SharedKernel' || item === 'CustomerSupplier' || item === 'UpstreamDownstream' || item === 'SeparateWays';
242
+ export const SharedKernel = {
243
+ $type: 'SharedKernel'
244
+ };
245
+ export function isSharedKernel(item) {
246
+ return reflection.isInstance(item, SharedKernel.$type);
247
+ }
248
+ export const SidePattern = {
249
+ $type: 'SidePattern'
250
+ };
251
+ export function isSidePattern(item) {
252
+ return reflection.isInstance(item, SidePattern.$type);
194
253
  }
195
254
  export const StructureElement = {
196
255
  $type: 'StructureElement'
@@ -198,6 +257,28 @@ export const StructureElement = {
198
257
  export function isStructureElement(item) {
199
258
  return reflection.isInstance(item, StructureElement.$type);
200
259
  }
260
+ export const Supplier = {
261
+ $type: 'Supplier'
262
+ };
263
+ export function isSupplier(item) {
264
+ return reflection.isInstance(item, Supplier.$type);
265
+ }
266
+ export const SymmetricPattern = {
267
+ $type: 'SymmetricPattern'
268
+ };
269
+ export function isSymmetricPattern(item) {
270
+ return reflection.isInstance(item, SymmetricPattern.$type);
271
+ }
272
+ export const SymmetricRelationship = {
273
+ $type: 'SymmetricRelationship',
274
+ arrow: 'arrow',
275
+ left: 'left',
276
+ pattern: 'pattern',
277
+ right: 'right'
278
+ };
279
+ export function isSymmetricRelationship(item) {
280
+ return reflection.isInstance(item, SymmetricRelationship.$type);
281
+ }
201
282
  export const Team = {
202
283
  $type: 'Team',
203
284
  name: 'name'
@@ -227,6 +308,16 @@ export class DomainLangAstReflection extends langium.AbstractAstReflection {
227
308
  properties: {},
228
309
  superTypes: []
229
310
  },
311
+ AntiCorruptionLayer: {
312
+ name: AntiCorruptionLayer.$type,
313
+ properties: {},
314
+ superTypes: [SidePattern.$type]
315
+ },
316
+ BigBallOfMud: {
317
+ name: BigBallOfMud.$type,
318
+ properties: {},
319
+ superTypes: [SidePattern.$type]
320
+ },
230
321
  BoundedContext: {
231
322
  name: BoundedContext.$type,
232
323
  properties: {
@@ -316,6 +407,11 @@ export class DomainLangAstReflection extends langium.AbstractAstReflection {
316
407
  },
317
408
  superTypes: [Type.$type]
318
409
  },
410
+ Conformist: {
411
+ name: Conformist.$type,
412
+ properties: {},
413
+ superTypes: [SidePattern.$type]
414
+ },
319
415
  Container: {
320
416
  name: Container.$type,
321
417
  properties: {},
@@ -339,6 +435,11 @@ export class DomainLangAstReflection extends langium.AbstractAstReflection {
339
435
  },
340
436
  superTypes: [ObjectMap.$type]
341
437
  },
438
+ Customer: {
439
+ name: Customer.$type,
440
+ properties: {},
441
+ superTypes: [SidePattern.$type]
442
+ },
342
443
  Decision: {
343
444
  name: Decision.$type,
344
445
  properties: {
@@ -355,6 +456,29 @@ export class DomainLangAstReflection extends langium.AbstractAstReflection {
355
456
  },
356
457
  superTypes: [AbstractDecision.$type]
357
458
  },
459
+ DirectionalRelationship: {
460
+ name: DirectionalRelationship.$type,
461
+ properties: {
462
+ arrow: {
463
+ name: DirectionalRelationship.arrow
464
+ },
465
+ left: {
466
+ name: DirectionalRelationship.left
467
+ },
468
+ leftPatterns: {
469
+ name: DirectionalRelationship.leftPatterns,
470
+ defaultValue: []
471
+ },
472
+ right: {
473
+ name: DirectionalRelationship.right
474
+ },
475
+ rightPatterns: {
476
+ name: DirectionalRelationship.rightPatterns,
477
+ defaultValue: []
478
+ }
479
+ },
480
+ superTypes: [Relationship.$type]
481
+ },
358
482
  Domain: {
359
483
  name: Domain.$type,
360
484
  properties: {
@@ -478,6 +602,16 @@ export class DomainLangAstReflection extends langium.AbstractAstReflection {
478
602
  properties: {},
479
603
  superTypes: [StructureElement.$type]
480
604
  },
605
+ OpenHostService: {
606
+ name: OpenHostService.$type,
607
+ properties: {},
608
+ superTypes: [SidePattern.$type]
609
+ },
610
+ Partnership: {
611
+ name: Partnership.$type,
612
+ properties: {},
613
+ superTypes: [SymmetricPattern.$type]
614
+ },
481
615
  Policy: {
482
616
  name: Policy.$type,
483
617
  properties: {
@@ -494,36 +628,63 @@ export class DomainLangAstReflection extends langium.AbstractAstReflection {
494
628
  },
495
629
  superTypes: [AbstractDecision.$type]
496
630
  },
631
+ PublishedLanguage: {
632
+ name: PublishedLanguage.$type,
633
+ properties: {},
634
+ superTypes: [SidePattern.$type]
635
+ },
497
636
  Relationship: {
498
637
  name: Relationship.$type,
638
+ properties: {},
639
+ superTypes: []
640
+ },
641
+ SeparateWays: {
642
+ name: SeparateWays.$type,
643
+ properties: {},
644
+ superTypes: [SymmetricPattern.$type]
645
+ },
646
+ SharedKernel: {
647
+ name: SharedKernel.$type,
648
+ properties: {},
649
+ superTypes: [SymmetricPattern.$type]
650
+ },
651
+ SidePattern: {
652
+ name: SidePattern.$type,
653
+ properties: {},
654
+ superTypes: []
655
+ },
656
+ StructureElement: {
657
+ name: StructureElement.$type,
658
+ properties: {},
659
+ superTypes: []
660
+ },
661
+ Supplier: {
662
+ name: Supplier.$type,
663
+ properties: {},
664
+ superTypes: [SidePattern.$type]
665
+ },
666
+ SymmetricPattern: {
667
+ name: SymmetricPattern.$type,
668
+ properties: {},
669
+ superTypes: []
670
+ },
671
+ SymmetricRelationship: {
672
+ name: SymmetricRelationship.$type,
499
673
  properties: {
500
674
  arrow: {
501
- name: Relationship.arrow
675
+ name: SymmetricRelationship.arrow
502
676
  },
503
677
  left: {
504
- name: Relationship.left
678
+ name: SymmetricRelationship.left
505
679
  },
506
- leftPatterns: {
507
- name: Relationship.leftPatterns,
508
- defaultValue: []
680
+ pattern: {
681
+ name: SymmetricRelationship.pattern
509
682
  },
510
683
  right: {
511
- name: Relationship.right
512
- },
513
- rightPatterns: {
514
- name: Relationship.rightPatterns,
515
- defaultValue: []
516
- },
517
- type: {
518
- name: Relationship.type
684
+ name: SymmetricRelationship.right
519
685
  }
520
686
  },
521
- superTypes: []
522
- },
523
- StructureElement: {
524
- name: StructureElement.$type,
525
- properties: {},
526
- superTypes: []
687
+ superTypes: [Relationship.$type]
527
688
  },
528
689
  Team: {
529
690
  name: Team.$type,
@@ -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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"}