@likec4/language-server 1.27.3 → 1.28.1

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 (113) hide show
  1. package/dist/LikeC4LanguageServices.js +6 -7
  2. package/dist/ast.d.ts +16 -9
  3. package/dist/ast.js +58 -79
  4. package/dist/bundled.mjs +2161 -2141
  5. package/dist/config/schema.d.ts +3 -3
  6. package/dist/config/schema.js +12 -5
  7. package/dist/documentation/documentation-provider.js +3 -1
  8. package/dist/formatting/LikeC4Formatter.d.ts +0 -2
  9. package/dist/formatting/LikeC4Formatter.js +24 -53
  10. package/dist/generated/ast.d.ts +128 -233
  11. package/dist/generated/ast.js +136 -308
  12. package/dist/generated/grammar.js +1 -1
  13. package/dist/lsp/CompletionProvider.d.ts +3 -0
  14. package/dist/lsp/CompletionProvider.js +128 -113
  15. package/dist/lsp/DocumentLinkProvider.js +6 -3
  16. package/dist/lsp/HoverProvider.js +3 -1
  17. package/dist/lsp/SemanticTokenProvider.js +33 -43
  18. package/dist/model/builder/MergedSpecification.d.ts +5 -3
  19. package/dist/model/builder/MergedSpecification.js +21 -7
  20. package/dist/model/builder/buildModel.d.ts +6 -1
  21. package/dist/model/builder/buildModel.js +20 -15
  22. package/dist/model/deployments-index.js +4 -2
  23. package/dist/model/fqn-index.d.ts +4 -2
  24. package/dist/model/fqn-index.js +28 -5
  25. package/dist/model/model-builder.d.ts +2 -2
  26. package/dist/model/model-builder.js +54 -16
  27. package/dist/model/model-locator.js +7 -4
  28. package/dist/model/model-parser.d.ts +215 -52
  29. package/dist/model/model-parser.js +6 -2
  30. package/dist/model/parser/Base.d.ts +11 -2
  31. package/dist/model/parser/Base.js +138 -3
  32. package/dist/model/parser/DeploymentModelParser.d.ts +19 -2
  33. package/dist/model/parser/DeploymentModelParser.js +19 -29
  34. package/dist/model/parser/DeploymentViewParser.d.ts +18 -2
  35. package/dist/model/parser/DeploymentViewParser.js +6 -24
  36. package/dist/model/parser/FqnRefParser.d.ts +18 -3
  37. package/dist/model/parser/FqnRefParser.js +264 -40
  38. package/dist/model/parser/GlobalsParser.d.ts +35 -18
  39. package/dist/model/parser/ImportsParser.d.ts +32 -0
  40. package/dist/model/parser/ImportsParser.js +26 -0
  41. package/dist/model/parser/ModelParser.d.ts +26 -2
  42. package/dist/model/parser/ModelParser.js +21 -41
  43. package/dist/model/parser/PredicatesParser.d.ts +35 -12
  44. package/dist/model/parser/PredicatesParser.js +20 -271
  45. package/dist/model/parser/SpecificationParser.d.ts +8 -0
  46. package/dist/model/parser/SpecificationParser.js +5 -9
  47. package/dist/model/parser/ViewsParser.d.ts +36 -19
  48. package/dist/model/parser/ViewsParser.js +16 -12
  49. package/dist/model-change/changeElementStyle.d.ts +2 -2
  50. package/dist/model-change/changeElementStyle.js +9 -6
  51. package/dist/references/name-provider.js +8 -2
  52. package/dist/references/scope-computation.d.ts +1 -1
  53. package/dist/references/scope-computation.js +33 -3
  54. package/dist/references/scope-provider.d.ts +7 -8
  55. package/dist/references/scope-provider.js +59 -41
  56. package/dist/shared/NodeKindProvider.js +4 -2
  57. package/dist/test/testServices.d.ts +2 -0
  58. package/dist/test/testServices.js +4 -1
  59. package/dist/utils/elementRef.d.ts +1 -1
  60. package/dist/utils/elementRef.js +6 -1
  61. package/dist/utils/fqnRef.d.ts +3 -0
  62. package/dist/utils/fqnRef.js +15 -4
  63. package/dist/utils/index.d.ts +1 -0
  64. package/dist/utils/index.js +9 -0
  65. package/dist/utils/projectId.d.ts +2 -1
  66. package/dist/utils/projectId.js +11 -1
  67. package/dist/validation/_shared.js +2 -2
  68. package/dist/validation/deployment-checks.js +24 -10
  69. package/dist/validation/element-ref.d.ts +4 -0
  70. package/dist/validation/element-ref.js +12 -0
  71. package/dist/validation/element.d.ts +1 -1
  72. package/dist/validation/element.js +1 -1
  73. package/dist/validation/imports.d.ts +5 -0
  74. package/dist/validation/imports.js +30 -0
  75. package/dist/validation/index.d.ts +1 -1
  76. package/dist/validation/index.js +47 -45
  77. package/dist/validation/relation.d.ts +2 -2
  78. package/dist/validation/relation.js +24 -27
  79. package/dist/validation/specification.d.ts +9 -9
  80. package/dist/validation/specification.js +9 -9
  81. package/dist/validation/view-predicates/{element-with.d.ts → fqn-expr-with.d.ts} +1 -1
  82. package/dist/validation/view-predicates/fqn-expr-with.js +42 -0
  83. package/dist/validation/view-predicates/fqn-ref-expr.d.ts +4 -0
  84. package/dist/validation/view-predicates/fqn-ref-expr.js +53 -0
  85. package/dist/validation/view-predicates/incoming.d.ts +1 -1
  86. package/dist/validation/view-predicates/incoming.js +2 -2
  87. package/dist/validation/view-predicates/index.d.ts +6 -6
  88. package/dist/validation/view-predicates/index.js +6 -6
  89. package/dist/validation/view-predicates/outgoing.d.ts +1 -1
  90. package/dist/validation/view-predicates/outgoing.js +8 -4
  91. package/dist/validation/view-predicates/{expanded-element.d.ts → relation-expr.d.ts} +1 -1
  92. package/dist/validation/view-predicates/relation-expr.js +39 -0
  93. package/dist/validation/view-predicates/relation-with.d.ts +1 -1
  94. package/dist/validation/view-predicates/relation-with.js +8 -5
  95. package/dist/views/likec4-views.d.ts +1 -0
  96. package/dist/views/likec4-views.js +23 -4
  97. package/dist/workspace/AstNodeDescriptionProvider.d.ts +1 -1
  98. package/dist/workspace/AstNodeDescriptionProvider.js +2 -3
  99. package/dist/workspace/IndexManager.d.ts +1 -1
  100. package/dist/workspace/IndexManager.js +5 -4
  101. package/dist/workspace/LangiumDocuments.d.ts +1 -1
  102. package/dist/workspace/LangiumDocuments.js +3 -5
  103. package/dist/workspace/ProjectsManager.d.ts +25 -7
  104. package/dist/workspace/ProjectsManager.js +76 -32
  105. package/dist/workspace/WorkspaceManager.d.ts +4 -5
  106. package/dist/workspace/WorkspaceManager.js +53 -20
  107. package/package.json +17 -13
  108. package/dist/validation/dynamic-view-rule.d.ts +0 -4
  109. package/dist/validation/dynamic-view-rule.js +0 -17
  110. package/dist/validation/view-predicates/element-with.js +0 -31
  111. package/dist/validation/view-predicates/expanded-element.js +0 -12
  112. package/dist/validation/view-predicates/expression-v2.d.ts +0 -5
  113. package/dist/validation/view-predicates/expression-v2.js +0 -83
@@ -5,7 +5,7 @@ export const LikeC4Terminals = {
5
5
  WS: /[\t ]+/,
6
6
  NL: /[\r\n]+/,
7
7
  LIB_ICON: /(aws|azure|gcp|tech):[-\w]*/,
8
- URI_WITH_SCHEMA: /\w+:\/\/\S+/,
8
+ URI_WITH_SCHEMA: /\w+:\/{2}\S+/,
9
9
  URI_RELATIVE: /\.{0,2}\/[^\/]\S+/,
10
10
  DotUnderscore: /\b\._(?![_a-zA-Z])/,
11
11
  DotWildcard: /\b\.\*{1,2}/,
@@ -54,22 +54,6 @@ export const DynamicViewRule = "DynamicViewRule";
54
54
  export function isDynamicViewRule(item) {
55
55
  return reflection.isInstance(item, DynamicViewRule);
56
56
  }
57
- export const ElementExpression = "ElementExpression";
58
- export function isElementExpression(item) {
59
- return reflection.isInstance(item, ElementExpression);
60
- }
61
- export const ElementPredicate = "ElementPredicate";
62
- export function isElementPredicate(item) {
63
- return reflection.isInstance(item, ElementPredicate);
64
- }
65
- export const ElementPredicateOrWhere = "ElementPredicateOrWhere";
66
- export function isElementPredicateOrWhere(item) {
67
- return reflection.isInstance(item, ElementPredicateOrWhere);
68
- }
69
- export const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
70
- export function isElementPredicateOrWhereV2(item) {
71
- return reflection.isInstance(item, ElementPredicateOrWhereV2);
72
- }
73
57
  export const ElementProperty = "ElementProperty";
74
58
  export function isElementProperty(item) {
75
59
  return reflection.isInstance(item, ElementProperty);
@@ -89,6 +73,14 @@ export const FqnExpr = "FqnExpr";
89
73
  export function isFqnExpr(item) {
90
74
  return reflection.isInstance(item, FqnExpr);
91
75
  }
76
+ export const FqnExprOrWhere = "FqnExprOrWhere";
77
+ export function isFqnExprOrWhere(item) {
78
+ return reflection.isInstance(item, FqnExprOrWhere);
79
+ }
80
+ export const FqnExprOrWith = "FqnExprOrWith";
81
+ export function isFqnExprOrWith(item) {
82
+ return reflection.isInstance(item, FqnExprOrWith);
83
+ }
92
84
  export const FqnReferenceable = "FqnReferenceable";
93
85
  export function isFqnReferenceable(item) {
94
86
  return reflection.isInstance(item, FqnReferenceable);
@@ -110,13 +102,13 @@ export const MetadataProperty = "MetadataProperty";
110
102
  export function isMetadataProperty(item) {
111
103
  return reflection.isInstance(item, MetadataProperty);
112
104
  }
105
+ export const ModelReferenceable = "ModelReferenceable";
106
+ export function isModelReferenceable(item) {
107
+ return reflection.isInstance(item, ModelReferenceable);
108
+ }
113
109
  export function isParticipant(item) {
114
110
  return item === "source" || item === "target";
115
111
  }
116
- export const Predicate = "Predicate";
117
- export function isPredicate(item) {
118
- return reflection.isInstance(item, Predicate);
119
- }
120
112
  export const Referenceable = "Referenceable";
121
113
  export function isReferenceable(item) {
122
114
  return reflection.isInstance(item, Referenceable);
@@ -125,21 +117,13 @@ export const RelationExpr = "RelationExpr";
125
117
  export function isRelationExpr(item) {
126
118
  return reflection.isInstance(item, RelationExpr);
127
119
  }
128
- export const RelationExpression = "RelationExpression";
129
- export function isRelationExpression(item) {
130
- return reflection.isInstance(item, RelationExpression);
131
- }
132
- export const RelationPredicate = "RelationPredicate";
133
- export function isRelationPredicate(item) {
134
- return reflection.isInstance(item, RelationPredicate);
135
- }
136
- export const RelationPredicateOrWhere = "RelationPredicateOrWhere";
137
- export function isRelationPredicateOrWhere(item) {
138
- return reflection.isInstance(item, RelationPredicateOrWhere);
120
+ export const RelationExprOrWhere = "RelationExprOrWhere";
121
+ export function isRelationExprOrWhere(item) {
122
+ return reflection.isInstance(item, RelationExprOrWhere);
139
123
  }
140
- export const RelationPredicateOrWhereV2 = "RelationPredicateOrWhereV2";
141
- export function isRelationPredicateOrWhereV2(item) {
142
- return reflection.isInstance(item, RelationPredicateOrWhereV2);
124
+ export const RelationExprOrWith = "RelationExprOrWith";
125
+ export function isRelationExprOrWith(item) {
126
+ return reflection.isInstance(item, RelationExprOrWith);
143
127
  }
144
128
  export const RelationProperty = "RelationProperty";
145
129
  export function isRelationProperty(item) {
@@ -171,7 +155,7 @@ export function isThemeColor(item) {
171
155
  return item === "primary" || item === "secondary" || item === "muted" || item === "slate" || item === "blue" || item === "indigo" || item === "sky" || item === "red" || item === "gray" || item === "green" || item === "amber";
172
156
  }
173
157
  export function isUri(item) {
174
- return typeof item === "string" && (/\w+:\/\/\S+/.test(item) || /\.{0,2}\/[^\/]\S+/.test(item));
158
+ return typeof item === "string" && (/\w+:\/{2}\S+/.test(item) || /\.{0,2}\/[^\/]\S+/.test(item));
175
159
  }
176
160
  export function isViewLayoutDirection(item) {
177
161
  return item === "TopBottom" || item === "LeftRight" || item === "BottomTop" || item === "RightLeft";
@@ -184,10 +168,6 @@ export const ViewRule = "ViewRule";
184
168
  export function isViewRule(item) {
185
169
  return reflection.isInstance(item, ViewRule);
186
170
  }
187
- export const ViewRulePredicate = "ViewRulePredicate";
188
- export function isViewRulePredicate(item) {
189
- return reflection.isInstance(item, ViewRulePredicate);
190
- }
191
171
  export const ViewRuleStyleOrGlobalRef = "ViewRuleStyleOrGlobalRef";
192
172
  export function isViewRuleStyleOrGlobalRef(item) {
193
173
  return reflection.isInstance(item, ViewRuleStyleOrGlobalRef);
@@ -284,10 +264,6 @@ export const DeploymentViewRulePredicate = "DeploymentViewRulePredicate";
284
264
  export function isDeploymentViewRulePredicate(item) {
285
265
  return reflection.isInstance(item, DeploymentViewRulePredicate);
286
266
  }
287
- export const DeploymentViewRulePredicateExpression = "DeploymentViewRulePredicateExpression";
288
- export function isDeploymentViewRulePredicateExpression(item) {
289
- return reflection.isInstance(item, DeploymentViewRulePredicateExpression);
290
- }
291
267
  export const DeploymentViewRuleStyle = "DeploymentViewRuleStyle";
292
268
  export function isDeploymentViewRuleStyle(item) {
293
269
  return reflection.isInstance(item, DeploymentViewRuleStyle);
@@ -296,10 +272,6 @@ export const DirectedRelationExpr = "DirectedRelationExpr";
296
272
  export function isDirectedRelationExpr(item) {
297
273
  return reflection.isInstance(item, DirectedRelationExpr);
298
274
  }
299
- export const DirectedRelationExpression = "DirectedRelationExpression";
300
- export function isDirectedRelationExpression(item) {
301
- return reflection.isInstance(item, DirectedRelationExpression);
302
- }
303
275
  export const DynamicView = "DynamicView";
304
276
  export function isDynamicView(item) {
305
277
  return reflection.isInstance(item, DynamicView);
@@ -320,10 +292,6 @@ export const DynamicViewParallelSteps = "DynamicViewParallelSteps";
320
292
  export function isDynamicViewParallelSteps(item) {
321
293
  return reflection.isInstance(item, DynamicViewParallelSteps);
322
294
  }
323
- export const DynamicViewPredicateIterator = "DynamicViewPredicateIterator";
324
- export function isDynamicViewPredicateIterator(item) {
325
- return reflection.isInstance(item, DynamicViewPredicateIterator);
326
- }
327
295
  export const DynamicViewRef = "DynamicViewRef";
328
296
  export function isDynamicViewRef(item) {
329
297
  return reflection.isInstance(item, DynamicViewRef);
@@ -340,14 +308,6 @@ export const ElementBody = "ElementBody";
340
308
  export function isElementBody(item) {
341
309
  return reflection.isInstance(item, ElementBody);
342
310
  }
343
- export const ElementDescedantsExpression = "ElementDescedantsExpression";
344
- export function isElementDescedantsExpression(item) {
345
- return reflection.isInstance(item, ElementDescedantsExpression);
346
- }
347
- export const ElementExpressionsIterator = "ElementExpressionsIterator";
348
- export function isElementExpressionsIterator(item) {
349
- return reflection.isInstance(item, ElementExpressionsIterator);
350
- }
351
311
  export const ElementKind = "ElementKind";
352
312
  export function isElementKind(item) {
353
313
  return reflection.isInstance(item, ElementKind);
@@ -356,18 +316,6 @@ export const ElementKindExpression = "ElementKindExpression";
356
316
  export function isElementKindExpression(item) {
357
317
  return reflection.isInstance(item, ElementKindExpression);
358
318
  }
359
- export const ElementPredicateWhere = "ElementPredicateWhere";
360
- export function isElementPredicateWhere(item) {
361
- return reflection.isInstance(item, ElementPredicateWhere);
362
- }
363
- export const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
364
- export function isElementPredicateWhereV2(item) {
365
- return reflection.isInstance(item, ElementPredicateWhereV2);
366
- }
367
- export const ElementPredicateWith = "ElementPredicateWith";
368
- export function isElementPredicateWith(item) {
369
- return reflection.isInstance(item, ElementPredicateWith);
370
- }
371
319
  export const ElementRef = "ElementRef";
372
320
  export function isElementRef(item) {
373
321
  return reflection.isInstance(item, ElementRef);
@@ -396,13 +344,9 @@ export const ElementViewRef = "ElementViewRef";
396
344
  export function isElementViewRef(item) {
397
345
  return reflection.isInstance(item, ElementViewRef);
398
346
  }
399
- export const ExcludePredicate = "ExcludePredicate";
400
- export function isExcludePredicate(item) {
401
- return reflection.isInstance(item, ExcludePredicate);
402
- }
403
- export const ExpandElementExpression = "ExpandElementExpression";
404
- export function isExpandElementExpression(item) {
405
- return reflection.isInstance(item, ExpandElementExpression);
347
+ export const Expressions = "Expressions";
348
+ export function isExpressions(item) {
349
+ return reflection.isInstance(item, Expressions);
406
350
  }
407
351
  export const ExtendDeployment = "ExtendDeployment";
408
352
  export function isExtendDeployment(item) {
@@ -424,6 +368,14 @@ export const FqnExpressions = "FqnExpressions";
424
368
  export function isFqnExpressions(item) {
425
369
  return reflection.isInstance(item, FqnExpressions);
426
370
  }
371
+ export const FqnExprWhere = "FqnExprWhere";
372
+ export function isFqnExprWhere(item) {
373
+ return reflection.isInstance(item, FqnExprWhere);
374
+ }
375
+ export const FqnExprWith = "FqnExprWith";
376
+ export function isFqnExprWith(item) {
377
+ return reflection.isInstance(item, FqnExprWith);
378
+ }
427
379
  export const FqnRef = "FqnRef";
428
380
  export function isFqnRef(item) {
429
381
  return reflection.isInstance(item, FqnRef);
@@ -460,26 +412,22 @@ export const IconProperty = "IconProperty";
460
412
  export function isIconProperty(item) {
461
413
  return reflection.isInstance(item, IconProperty);
462
414
  }
463
- export const IncludePredicate = "IncludePredicate";
464
- export function isIncludePredicate(item) {
465
- return reflection.isInstance(item, IncludePredicate);
415
+ export const Imported = "Imported";
416
+ export function isImported(item) {
417
+ return reflection.isInstance(item, Imported);
418
+ }
419
+ export const ImportsFromPoject = "ImportsFromPoject";
420
+ export function isImportsFromPoject(item) {
421
+ return reflection.isInstance(item, ImportsFromPoject);
466
422
  }
467
423
  export const IncomingRelationExpr = "IncomingRelationExpr";
468
424
  export function isIncomingRelationExpr(item) {
469
425
  return reflection.isInstance(item, IncomingRelationExpr);
470
426
  }
471
- export const IncomingRelationExpression = "IncomingRelationExpression";
472
- export function isIncomingRelationExpression(item) {
473
- return reflection.isInstance(item, IncomingRelationExpression);
474
- }
475
427
  export const InOutRelationExpr = "InOutRelationExpr";
476
428
  export function isInOutRelationExpr(item) {
477
429
  return reflection.isInstance(item, InOutRelationExpr);
478
430
  }
479
- export const InOutRelationExpression = "InOutRelationExpression";
480
- export function isInOutRelationExpression(item) {
481
- return reflection.isInstance(item, InOutRelationExpression);
482
- }
483
431
  export const LibIcon = "LibIcon";
484
432
  export function isLibIcon(item) {
485
433
  return reflection.isInstance(item, LibIcon);
@@ -544,18 +492,10 @@ export const OutgoingRelationExpr = "OutgoingRelationExpr";
544
492
  export function isOutgoingRelationExpr(item) {
545
493
  return reflection.isInstance(item, OutgoingRelationExpr);
546
494
  }
547
- export const OutgoingRelationExpression = "OutgoingRelationExpression";
548
- export function isOutgoingRelationExpression(item) {
549
- return reflection.isInstance(item, OutgoingRelationExpression);
550
- }
551
495
  export const PaddingSizeProperty = "PaddingSizeProperty";
552
496
  export function isPaddingSizeProperty(item) {
553
497
  return reflection.isInstance(item, PaddingSizeProperty);
554
498
  }
555
- export const Predicates = "Predicates";
556
- export function isPredicates(item) {
557
- return reflection.isInstance(item, Predicates);
558
- }
559
499
  export const Relation = "Relation";
560
500
  export function isRelation(item) {
561
501
  return reflection.isInstance(item, Relation);
@@ -564,22 +504,18 @@ export const RelationBody = "RelationBody";
564
504
  export function isRelationBody(item) {
565
505
  return reflection.isInstance(item, RelationBody);
566
506
  }
507
+ export const RelationExprWhere = "RelationExprWhere";
508
+ export function isRelationExprWhere(item) {
509
+ return reflection.isInstance(item, RelationExprWhere);
510
+ }
511
+ export const RelationExprWith = "RelationExprWith";
512
+ export function isRelationExprWith(item) {
513
+ return reflection.isInstance(item, RelationExprWith);
514
+ }
567
515
  export const RelationNavigateToProperty = "RelationNavigateToProperty";
568
516
  export function isRelationNavigateToProperty(item) {
569
517
  return reflection.isInstance(item, RelationNavigateToProperty);
570
518
  }
571
- export const RelationPredicateWhere = "RelationPredicateWhere";
572
- export function isRelationPredicateWhere(item) {
573
- return reflection.isInstance(item, RelationPredicateWhere);
574
- }
575
- export const RelationPredicateWhereV2 = "RelationPredicateWhereV2";
576
- export function isRelationPredicateWhereV2(item) {
577
- return reflection.isInstance(item, RelationPredicateWhereV2);
578
- }
579
- export const RelationPredicateWith = "RelationPredicateWith";
580
- export function isRelationPredicateWith(item) {
581
- return reflection.isInstance(item, RelationPredicateWith);
582
- }
583
519
  export const RelationshipKind = "RelationshipKind";
584
520
  export function isRelationshipKind(item) {
585
521
  return reflection.isInstance(item, RelationshipKind);
@@ -672,6 +608,10 @@ export const ViewRuleGroup = "ViewRuleGroup";
672
608
  export function isViewRuleGroup(item) {
673
609
  return reflection.isInstance(item, ViewRuleGroup);
674
610
  }
611
+ export const ViewRulePredicate = "ViewRulePredicate";
612
+ export function isViewRulePredicate(item) {
613
+ return reflection.isInstance(item, ViewRulePredicate);
614
+ }
675
615
  export const ViewRuleStyle = "ViewRuleStyle";
676
616
  export function isViewRuleStyle(item) {
677
617
  return reflection.isInstance(item, ViewRuleStyle);
@@ -722,7 +662,7 @@ export function isWildcardExpression(item) {
722
662
  }
723
663
  export class LikeC4AstReflection extends AbstractAstReflection {
724
664
  getAllTypes() {
725
- return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRulePredicateExpression, DeploymentViewRuleStyle, DirectedRelationExpr, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewPredicateIterator, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateOrWhereV2, ElementPredicateWhere, ElementPredicateWhereV2, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendDeployment, ExtendDeploymentBody, ExtendElement, ExtendElementBody, ExtendElementProperty, FqnExpr, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, InOutRelationExpr, InOutRelationExpression, IncludePredicate, IncomingRelationExpr, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelViews, MultipleProperty, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, OutgoingRelationExpression, PaddingSizeProperty, Predicate, Predicates, Referenceable, Relation, RelationBody, RelationExpr, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateOrWhereV2, RelationPredicateWhere, RelationPredicateWhereV2, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, ShapeSizeProperty, SizeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StrictFqnElementRef, StrictFqnRef, StringProperty, StyleProperty, Tag, Tags, TextSizeProperty, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
665
+ return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRuleStyle, DirectedRelationExpr, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementKind, ElementKindExpression, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExpressionV2, Expressions, ExtendDeployment, ExtendDeploymentBody, ExtendElement, ExtendElementBody, ExtendElementProperty, FqnExpr, FqnExprOrWhere, FqnExprOrWith, FqnExprWhere, FqnExprWith, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, Imported, ImportsFromPoject, InOutRelationExpr, IncomingRelationExpr, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelReferenceable, ModelViews, MultipleProperty, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, PaddingSizeProperty, Referenceable, Relation, RelationBody, RelationExpr, RelationExprOrWhere, RelationExprOrWith, RelationExprWhere, RelationExprWith, RelationNavigateToProperty, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, ShapeSizeProperty, SizeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StrictFqnElementRef, StrictFqnRef, StringProperty, StyleProperty, Tag, Tags, TextSizeProperty, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
726
666
  }
727
667
  computeIsSubtype(subtype, supertype) {
728
668
  switch (subtype) {
@@ -762,45 +702,18 @@ export class LikeC4AstReflection extends AbstractAstReflection {
762
702
  case OutgoingRelationExpr: {
763
703
  return this.isSubtype(RelationExpr, supertype);
764
704
  }
765
- case DirectedRelationExpression:
766
- case IncomingRelationExpression:
767
- case InOutRelationExpression:
768
- case OutgoingRelationExpression: {
769
- return this.isSubtype(RelationExpression, supertype);
770
- }
771
705
  case DynamicViewGlobalPredicateRef:
772
706
  case DynamicViewIncludePredicate: {
773
707
  return this.isSubtype(DynamicViewRule, supertype);
774
708
  }
775
709
  case Element: {
776
- return this.isSubtype(FqnReferenceable, supertype) || this.isSubtype(Referenceable, supertype);
710
+ return this.isSubtype(FqnReferenceable, supertype) || this.isSubtype(ModelReferenceable, supertype) || this.isSubtype(Referenceable, supertype);
777
711
  }
778
- case ElementDescedantsExpression:
779
712
  case ElementKindExpression:
780
- case ElementRef:
781
713
  case ElementTagExpression:
782
- case ExpandElementExpression: {
783
- return this.isSubtype(ElementExpression, supertype);
784
- }
785
- case ElementExpression:
786
- case ElementPredicateWhere: {
787
- return this.isSubtype(ElementPredicateOrWhere, supertype);
788
- }
789
- case ElementPredicate:
790
- case RelationPredicate: {
791
- return this.isSubtype(Predicate, supertype);
792
- }
793
- case ElementPredicateOrWhere:
794
- case ElementPredicateWith: {
795
- return this.isSubtype(ElementPredicate, supertype);
796
- }
797
- case ElementPredicateOrWhereV2:
798
- case RelationPredicateOrWhereV2: {
799
- return this.isSubtype(ExpressionV2, supertype);
800
- }
801
- case ElementPredicateWhereV2:
802
- case FqnExpr: {
803
- return this.isSubtype(ElementPredicateOrWhereV2, supertype);
714
+ case FqnRefExpr:
715
+ case WildcardExpression: {
716
+ return this.isSubtype(FqnExpr, supertype);
804
717
  }
805
718
  case ElementStringProperty: {
806
719
  return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StringProperty, supertype);
@@ -808,21 +721,29 @@ export class LikeC4AstReflection extends AbstractAstReflection {
808
721
  case ElementStyleProperty: {
809
722
  return this.isSubtype(ElementProperty, supertype);
810
723
  }
811
- case ExcludePredicate:
812
- case IncludePredicate: {
813
- return this.isSubtype(ViewRulePredicate, supertype);
814
- }
815
724
  case ExtendDeployment:
816
725
  case ExtendElement:
817
726
  case Referenceable: {
818
727
  return this.isSubtype(FqnReferenceable, supertype);
819
728
  }
820
- case FqnRefExpr: {
821
- return this.isSubtype(FqnExpr, supertype);
729
+ case FqnExpr:
730
+ case FqnExprWhere: {
731
+ return this.isSubtype(FqnExprOrWhere, supertype);
732
+ }
733
+ case FqnExprOrWhere:
734
+ case FqnExprWith: {
735
+ return this.isSubtype(FqnExprOrWith, supertype);
736
+ }
737
+ case FqnExprOrWith:
738
+ case RelationExprOrWith: {
739
+ return this.isSubtype(ExpressionV2, supertype);
822
740
  }
823
741
  case IconProperty: {
824
742
  return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StyleProperty, supertype);
825
743
  }
744
+ case Imported: {
745
+ return this.isSubtype(ModelReferenceable, supertype) || this.isSubtype(Referenceable, supertype);
746
+ }
826
747
  case LinkProperty: {
827
748
  return this.isSubtype(ElementProperty, supertype) || this.isSubtype(ExtendElementProperty, supertype) || this.isSubtype(RelationProperty, supertype) || this.isSubtype(ViewProperty, supertype);
828
749
  }
@@ -845,21 +766,17 @@ export class LikeC4AstReflection extends AbstractAstReflection {
845
766
  return this.isSubtype(SizeProperty, supertype) || this.isSubtype(StyleProperty, supertype);
846
767
  }
847
768
  case RelationExpr:
848
- case RelationPredicateWhereV2: {
849
- return this.isSubtype(RelationPredicateOrWhereV2, supertype);
769
+ case RelationExprWhere: {
770
+ return this.isSubtype(RelationExprOrWhere, supertype);
850
771
  }
851
- case RelationExpression:
852
- case RelationPredicateWhere: {
853
- return this.isSubtype(RelationPredicateOrWhere, supertype);
772
+ case RelationExprOrWhere:
773
+ case RelationExprWith: {
774
+ return this.isSubtype(RelationExprOrWith, supertype);
854
775
  }
855
776
  case RelationNavigateToProperty:
856
777
  case RelationStyleProperty: {
857
778
  return this.isSubtype(RelationProperty, supertype);
858
779
  }
859
- case RelationPredicateOrWhere:
860
- case RelationPredicateWith: {
861
- return this.isSubtype(RelationPredicate, supertype);
862
- }
863
780
  case RelationStringProperty: {
864
781
  return this.isSubtype(RelationProperty, supertype) || this.isSubtype(StringProperty, supertype);
865
782
  }
@@ -910,9 +827,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
910
827
  case WhereRelationTag: {
911
828
  return this.isSubtype(WhereRelation, supertype) || this.isSubtype(WhereTagEqual, supertype);
912
829
  }
913
- case WildcardExpression: {
914
- return this.isSubtype(ElementExpression, supertype) || this.isSubtype(FqnExpr, supertype);
915
- }
916
830
  default: {
917
831
  return false;
918
832
  }
@@ -930,7 +844,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
930
844
  case "DeploymentRelation:kind":
931
845
  case "DynamicViewStep:kind":
932
846
  case "OutgoingRelationExpr:kind":
933
- case "OutgoingRelationExpression:kind":
934
847
  case "Relation:kind":
935
848
  case "WhereRelationKind:value": {
936
849
  return RelationshipKind;
@@ -945,10 +858,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
945
858
  case "ElementKindExpression:kind": {
946
859
  return ElementKind;
947
860
  }
948
- case "ElementRef:el":
949
- case "StrictFqnElementRef:el": {
950
- return Element;
951
- }
952
861
  case "ElementTagExpression:tag":
953
862
  case "Tags:values":
954
863
  case "WhereElementTag:value":
@@ -966,6 +875,10 @@ export class LikeC4AstReflection extends AbstractAstReflection {
966
875
  case "IconProperty:libicon": {
967
876
  return LibIcon;
968
877
  }
878
+ case "Imported:imported":
879
+ case "StrictFqnElementRef:el": {
880
+ return Element;
881
+ }
969
882
  case "ViewRef:view": {
970
883
  return LikeC4View;
971
884
  }
@@ -1043,8 +956,8 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1043
956
  name: DeployedInstance,
1044
957
  properties: [
1045
958
  { name: "body" },
1046
- { name: "element" },
1047
959
  { name: "name" },
960
+ { name: "target" },
1048
961
  { name: "title" }
1049
962
  ]
1050
963
  };
@@ -1053,6 +966,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1053
966
  return {
1054
967
  name: DeployedInstanceBody,
1055
968
  properties: [
969
+ { name: "elements", defaultValue: [] },
1056
970
  { name: "props", defaultValue: [] },
1057
971
  { name: "tags" }
1058
972
  ]
@@ -1138,15 +1052,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1138
1052
  ]
1139
1053
  };
1140
1054
  }
1141
- case DeploymentViewRulePredicateExpression: {
1142
- return {
1143
- name: DeploymentViewRulePredicateExpression,
1144
- properties: [
1145
- { name: "prev" },
1146
- { name: "value" }
1147
- ]
1148
- };
1149
- }
1150
1055
  case DeploymentViewRuleStyle: {
1151
1056
  return {
1152
1057
  name: DeploymentViewRuleStyle,
@@ -1165,15 +1070,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1165
1070
  ]
1166
1071
  };
1167
1072
  }
1168
- case DirectedRelationExpression: {
1169
- return {
1170
- name: DirectedRelationExpression,
1171
- properties: [
1172
- { name: "source" },
1173
- { name: "target" }
1174
- ]
1175
- };
1176
- }
1177
1073
  case DynamicView: {
1178
1074
  return {
1179
1075
  name: DynamicView,
@@ -1206,7 +1102,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1206
1102
  return {
1207
1103
  name: DynamicViewIncludePredicate,
1208
1104
  properties: [
1209
- { name: "predicates" }
1105
+ { name: "exprs" }
1210
1106
  ]
1211
1107
  };
1212
1108
  }
@@ -1218,15 +1114,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1218
1114
  ]
1219
1115
  };
1220
1116
  }
1221
- case DynamicViewPredicateIterator: {
1222
- return {
1223
- name: DynamicViewPredicateIterator,
1224
- properties: [
1225
- { name: "prev" },
1226
- { name: "value" }
1227
- ]
1228
- };
1229
- }
1230
1117
  case DynamicViewRef: {
1231
1118
  return {
1232
1119
  name: DynamicViewRef,
@@ -1269,24 +1156,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1269
1156
  ]
1270
1157
  };
1271
1158
  }
1272
- case ElementDescedantsExpression: {
1273
- return {
1274
- name: ElementDescedantsExpression,
1275
- properties: [
1276
- { name: "parent" },
1277
- { name: "suffix" }
1278
- ]
1279
- };
1280
- }
1281
- case ElementExpressionsIterator: {
1282
- return {
1283
- name: ElementExpressionsIterator,
1284
- properties: [
1285
- { name: "prev" },
1286
- { name: "value" }
1287
- ]
1288
- };
1289
- }
1290
1159
  case ElementKind: {
1291
1160
  return {
1292
1161
  name: ElementKind,
@@ -1304,39 +1173,11 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1304
1173
  ]
1305
1174
  };
1306
1175
  }
1307
- case ElementPredicateWhere: {
1308
- return {
1309
- name: ElementPredicateWhere,
1310
- properties: [
1311
- { name: "subject" },
1312
- { name: "where" }
1313
- ]
1314
- };
1315
- }
1316
- case ElementPredicateWhereV2: {
1317
- return {
1318
- name: ElementPredicateWhereV2,
1319
- properties: [
1320
- { name: "subject" },
1321
- { name: "where" }
1322
- ]
1323
- };
1324
- }
1325
- case ElementPredicateWith: {
1326
- return {
1327
- name: ElementPredicateWith,
1328
- properties: [
1329
- { name: "custom" },
1330
- { name: "subject" }
1331
- ]
1332
- };
1333
- }
1334
1176
  case ElementRef: {
1335
1177
  return {
1336
1178
  name: ElementRef,
1337
1179
  properties: [
1338
- { name: "el" },
1339
- { name: "parent" }
1180
+ { name: "modelElement" }
1340
1181
  ]
1341
1182
  };
1342
1183
  }
@@ -1396,19 +1237,12 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1396
1237
  ]
1397
1238
  };
1398
1239
  }
1399
- case ExcludePredicate: {
1400
- return {
1401
- name: ExcludePredicate,
1402
- properties: [
1403
- { name: "predicates" }
1404
- ]
1405
- };
1406
- }
1407
- case ExpandElementExpression: {
1240
+ case Expressions: {
1408
1241
  return {
1409
- name: ExpandElementExpression,
1242
+ name: Expressions,
1410
1243
  properties: [
1411
- { name: "expand" }
1244
+ { name: "prev" },
1245
+ { name: "value" }
1412
1246
  ]
1413
1247
  };
1414
1248
  }
@@ -1459,6 +1293,24 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1459
1293
  ]
1460
1294
  };
1461
1295
  }
1296
+ case FqnExprWhere: {
1297
+ return {
1298
+ name: FqnExprWhere,
1299
+ properties: [
1300
+ { name: "subject" },
1301
+ { name: "where" }
1302
+ ]
1303
+ };
1304
+ }
1305
+ case FqnExprWith: {
1306
+ return {
1307
+ name: FqnExprWith,
1308
+ properties: [
1309
+ { name: "custom" },
1310
+ { name: "subject" }
1311
+ ]
1312
+ };
1313
+ }
1462
1314
  case FqnRef: {
1463
1315
  return {
1464
1316
  name: FqnRef,
@@ -1511,7 +1363,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1511
1363
  properties: [
1512
1364
  { name: "id" },
1513
1365
  { name: "props", defaultValue: [] },
1514
- { name: "target" }
1366
+ { name: "targets" }
1515
1367
  ]
1516
1368
  };
1517
1369
  }
@@ -1542,25 +1394,27 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1542
1394
  ]
1543
1395
  };
1544
1396
  }
1545
- case IncludePredicate: {
1397
+ case Imported: {
1546
1398
  return {
1547
- name: IncludePredicate,
1399
+ name: Imported,
1548
1400
  properties: [
1549
- { name: "predicates" }
1401
+ { name: "imported" },
1402
+ { name: "prev" }
1550
1403
  ]
1551
1404
  };
1552
1405
  }
1553
- case IncomingRelationExpr: {
1406
+ case ImportsFromPoject: {
1554
1407
  return {
1555
- name: IncomingRelationExpr,
1408
+ name: ImportsFromPoject,
1556
1409
  properties: [
1557
- { name: "to" }
1410
+ { name: "imports" },
1411
+ { name: "project" }
1558
1412
  ]
1559
1413
  };
1560
1414
  }
1561
- case IncomingRelationExpression: {
1415
+ case IncomingRelationExpr: {
1562
1416
  return {
1563
- name: IncomingRelationExpression,
1417
+ name: IncomingRelationExpr,
1564
1418
  properties: [
1565
1419
  { name: "to" }
1566
1420
  ]
@@ -1574,14 +1428,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1574
1428
  ]
1575
1429
  };
1576
1430
  }
1577
- case InOutRelationExpression: {
1578
- return {
1579
- name: InOutRelationExpression,
1580
- properties: [
1581
- { name: "inout" }
1582
- ]
1583
- };
1584
- }
1585
1431
  case LibIcon: {
1586
1432
  return {
1587
1433
  name: LibIcon,
@@ -1596,6 +1442,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1596
1442
  properties: [
1597
1443
  { name: "deployments", defaultValue: [] },
1598
1444
  { name: "globals", defaultValue: [] },
1445
+ { name: "imports", defaultValue: [] },
1599
1446
  { name: "likec4lib", defaultValue: [] },
1600
1447
  { name: "models", defaultValue: [] },
1601
1448
  { name: "specifications", defaultValue: [] },
@@ -1730,16 +1577,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1730
1577
  ]
1731
1578
  };
1732
1579
  }
1733
- case OutgoingRelationExpression: {
1734
- return {
1735
- name: OutgoingRelationExpression,
1736
- properties: [
1737
- { name: "from" },
1738
- { name: "isBidirectional", defaultValue: false },
1739
- { name: "kind" }
1740
- ]
1741
- };
1742
- }
1743
1580
  case PaddingSizeProperty: {
1744
1581
  return {
1745
1582
  name: PaddingSizeProperty,
@@ -1749,15 +1586,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1749
1586
  ]
1750
1587
  };
1751
1588
  }
1752
- case Predicates: {
1753
- return {
1754
- name: Predicates,
1755
- properties: [
1756
- { name: "prev" },
1757
- { name: "value" }
1758
- ]
1759
- };
1760
- }
1761
1589
  case Relation: {
1762
1590
  return {
1763
1591
  name: Relation,
@@ -1781,39 +1609,30 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1781
1609
  ]
1782
1610
  };
1783
1611
  }
1784
- case RelationNavigateToProperty: {
1785
- return {
1786
- name: RelationNavigateToProperty,
1787
- properties: [
1788
- { name: "key" },
1789
- { name: "value" }
1790
- ]
1791
- };
1792
- }
1793
- case RelationPredicateWhere: {
1612
+ case RelationExprWhere: {
1794
1613
  return {
1795
- name: RelationPredicateWhere,
1614
+ name: RelationExprWhere,
1796
1615
  properties: [
1797
1616
  { name: "subject" },
1798
1617
  { name: "where" }
1799
1618
  ]
1800
1619
  };
1801
1620
  }
1802
- case RelationPredicateWhereV2: {
1621
+ case RelationExprWith: {
1803
1622
  return {
1804
- name: RelationPredicateWhereV2,
1623
+ name: RelationExprWith,
1805
1624
  properties: [
1806
- { name: "subject" },
1807
- { name: "where" }
1625
+ { name: "custom" },
1626
+ { name: "subject" }
1808
1627
  ]
1809
1628
  };
1810
1629
  }
1811
- case RelationPredicateWith: {
1630
+ case RelationNavigateToProperty: {
1812
1631
  return {
1813
- name: RelationPredicateWith,
1632
+ name: RelationNavigateToProperty,
1814
1633
  properties: [
1815
- { name: "custom" },
1816
- { name: "subject" }
1634
+ { name: "key" },
1635
+ { name: "value" }
1817
1636
  ]
1818
1637
  };
1819
1638
  }
@@ -2024,12 +1843,21 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2024
1843
  ]
2025
1844
  };
2026
1845
  }
1846
+ case ViewRulePredicate: {
1847
+ return {
1848
+ name: ViewRulePredicate,
1849
+ properties: [
1850
+ { name: "exprs" },
1851
+ { name: "isInclude", defaultValue: false }
1852
+ ]
1853
+ };
1854
+ }
2027
1855
  case ViewRuleStyle: {
2028
1856
  return {
2029
1857
  name: ViewRuleStyle,
2030
1858
  properties: [
2031
1859
  { name: "props", defaultValue: [] },
2032
- { name: "target" }
1860
+ { name: "targets" }
2033
1861
  ]
2034
1862
  };
2035
1863
  }