@likec4/language-server 1.17.1 → 1.19.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/contrib/likec4.tmLanguage.json +1 -1
- package/dist/LikeC4FileSystem.d.ts +13 -0
- package/dist/LikeC4FileSystem.js +27 -0
- package/dist/Rpc.d.ts +9 -0
- package/dist/Rpc.js +126 -0
- package/dist/ast.d.ts +200 -0
- package/dist/ast.js +276 -0
- package/dist/browser.d.ts +6 -20
- package/dist/browser.js +13 -0
- package/dist/formatting/LikeC4Formatter.d.ts +27 -0
- package/dist/formatting/LikeC4Formatter.js +261 -0
- package/dist/formatting/utils.d.ts +6 -0
- package/dist/formatting/utils.js +15 -0
- package/dist/generated/ast.d.ts +1242 -0
- package/dist/generated/ast.js +1945 -0
- package/dist/generated/grammar.d.ts +6 -0
- package/dist/generated/grammar.js +3 -0
- package/dist/generated/module.d.ts +9 -0
- package/dist/generated/module.js +23 -0
- package/dist/generated-lib/icons.d.ts +1 -0
- package/dist/{likec4lib.mjs → generated-lib/icons.js} +1 -6
- package/dist/index.d.ts +8 -31
- package/dist/index.js +13 -0
- package/dist/like-c4.langium +845 -0
- package/dist/likec4lib.d.ts +4 -6
- package/dist/likec4lib.js +4 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.js +73 -0
- package/dist/lsp/CodeLensProvider.d.ts +9 -0
- package/dist/lsp/CodeLensProvider.js +40 -0
- package/dist/lsp/CompletionProvider.d.ts +6 -0
- package/dist/lsp/CompletionProvider.js +135 -0
- package/dist/lsp/DocumentHighlightProvider.d.ts +9 -0
- package/dist/lsp/DocumentHighlightProvider.js +10 -0
- package/dist/lsp/DocumentLinkProvider.d.ts +11 -0
- package/dist/lsp/DocumentLinkProvider.js +49 -0
- package/dist/lsp/DocumentSymbolProvider.d.ts +23 -0
- package/dist/lsp/DocumentSymbolProvider.js +202 -0
- package/dist/lsp/HoverProvider.d.ts +10 -0
- package/dist/lsp/HoverProvider.js +69 -0
- package/dist/lsp/RenameProvider.d.ts +5 -0
- package/dist/lsp/RenameProvider.js +6 -0
- package/dist/lsp/SemanticTokenProvider.d.ts +7 -0
- package/dist/lsp/SemanticTokenProvider.js +297 -0
- package/dist/lsp/index.d.ts +7 -0
- package/dist/lsp/index.js +7 -0
- package/dist/model/deployments-index.d.ts +60 -0
- package/dist/model/deployments-index.js +181 -0
- package/dist/model/fqn-computation.d.ts +3 -0
- package/dist/model/fqn-computation.js +72 -0
- package/dist/model/fqn-index.d.ts +25 -0
- package/dist/model/fqn-index.js +96 -0
- package/dist/model/index.d.ts +6 -0
- package/dist/model/index.js +6 -0
- package/dist/model/model-builder.d.ts +32 -0
- package/dist/model/model-builder.js +598 -0
- package/dist/model/model-locator.d.ts +23 -0
- package/dist/model/model-locator.js +126 -0
- package/dist/model/model-parser-where.d.ts +3 -0
- package/dist/model/model-parser-where.js +70 -0
- package/dist/model/model-parser.d.ts +292 -0
- package/dist/model/model-parser.js +72 -0
- package/dist/model/parser/Base.d.ts +28 -0
- package/dist/model/parser/Base.js +87 -0
- package/dist/model/parser/DeploymentModelParser.d.ts +33 -0
- package/dist/model/parser/DeploymentModelParser.js +162 -0
- package/dist/model/parser/DeploymentViewParser.d.ts +38 -0
- package/dist/model/parser/DeploymentViewParser.js +98 -0
- package/dist/model/parser/FqnRefParser.d.ts +29 -0
- package/dist/model/parser/FqnRefParser.js +108 -0
- package/dist/model/parser/GlobalsParser.d.ts +66 -0
- package/dist/model/parser/GlobalsParser.js +80 -0
- package/dist/model/parser/ModelParser.d.ts +27 -0
- package/dist/model/parser/ModelParser.js +122 -0
- package/dist/model/parser/PredicatesParser.d.ts +34 -0
- package/dist/model/parser/PredicatesParser.js +272 -0
- package/dist/model/parser/SpecificationParser.d.ts +27 -0
- package/dist/model/parser/SpecificationParser.js +120 -0
- package/dist/model/parser/ViewsParser.d.ts +64 -0
- package/dist/model/parser/ViewsParser.js +377 -0
- package/dist/model-change/ModelChanges.d.ts +15 -0
- package/dist/model-change/ModelChanges.js +89 -0
- package/dist/model-change/changeElementStyle.d.ts +16 -0
- package/dist/model-change/changeElementStyle.js +136 -0
- package/dist/model-change/changeViewLayout.d.ts +12 -0
- package/dist/model-change/changeViewLayout.js +32 -0
- package/dist/model-change/saveManualLayout.d.ts +11 -0
- package/dist/model-change/saveManualLayout.js +27 -0
- package/dist/module.d.ts +62 -0
- package/dist/module.js +123 -0
- package/dist/protocol.d.ts +27 -27
- package/dist/protocol.js +14 -0
- package/dist/references/index.d.ts +3 -0
- package/dist/references/index.js +3 -0
- package/dist/references/name-provider.d.ts +9 -0
- package/dist/references/name-provider.js +33 -0
- package/dist/references/scope-computation.d.ts +20 -0
- package/dist/references/scope-computation.js +281 -0
- package/dist/references/scope-provider.d.ts +16 -0
- package/dist/references/scope-provider.js +165 -0
- package/dist/shared/NodeKindProvider.d.ts +15 -0
- package/dist/shared/NodeKindProvider.js +108 -0
- package/dist/shared/WorkspaceManager.d.ts +18 -0
- package/dist/shared/WorkspaceManager.js +36 -0
- package/dist/shared/WorkspaceSymbolProvider.d.ts +3 -0
- package/dist/shared/WorkspaceSymbolProvider.js +3 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.js +3 -0
- package/dist/test/index.d.ts +1 -0
- package/dist/test/index.js +1 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/test/setup.js +7 -0
- package/dist/test/testServices.d.ts +22 -0
- package/dist/test/testServices.js +119 -0
- package/dist/utils/elementRef.d.ts +11 -0
- package/dist/utils/elementRef.js +15 -0
- package/dist/utils/fqnRef.d.ts +8 -0
- package/dist/utils/fqnRef.js +46 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/printDocs.d.ts +2 -0
- package/dist/utils/printDocs.js +1 -0
- package/dist/utils/stringHash.d.ts +1 -0
- package/dist/utils/stringHash.js +5 -0
- package/dist/validation/_shared.d.ts +3 -0
- package/dist/validation/_shared.js +22 -0
- package/dist/validation/deployment-checks.d.ts +6 -0
- package/dist/validation/deployment-checks.js +114 -0
- package/dist/validation/dynamic-view-rule.d.ts +4 -0
- package/dist/validation/dynamic-view-rule.js +16 -0
- package/dist/validation/dynamic-view-step.d.ts +4 -0
- package/dist/validation/dynamic-view-step.js +33 -0
- package/dist/validation/element.d.ts +4 -0
- package/dist/validation/element.js +49 -0
- package/dist/validation/index.d.ts +15 -0
- package/dist/validation/index.js +152 -0
- package/dist/validation/property-checks.d.ts +6 -0
- package/dist/validation/property-checks.js +38 -0
- package/dist/validation/relation.d.ts +5 -0
- package/dist/validation/relation.js +56 -0
- package/dist/validation/specification.d.ts +11 -0
- package/dist/validation/specification.js +136 -0
- package/dist/validation/view-predicates/element-with.d.ts +4 -0
- package/dist/validation/view-predicates/element-with.js +30 -0
- package/dist/validation/view-predicates/expanded-element.d.ts +4 -0
- package/dist/validation/view-predicates/expanded-element.js +11 -0
- package/dist/validation/view-predicates/expression-v2.d.ts +5 -0
- package/dist/validation/view-predicates/expression-v2.js +83 -0
- package/dist/validation/view-predicates/incoming.d.ts +4 -0
- package/dist/validation/view-predicates/incoming.js +15 -0
- package/dist/validation/view-predicates/index.d.ts +6 -0
- package/dist/validation/view-predicates/index.js +6 -0
- package/dist/validation/view-predicates/outgoing.d.ts +4 -0
- package/dist/validation/view-predicates/outgoing.js +15 -0
- package/dist/validation/view-predicates/relation-with.d.ts +4 -0
- package/dist/validation/view-predicates/relation-with.js +12 -0
- package/dist/validation/view.d.ts +4 -0
- package/dist/validation/view.js +23 -0
- package/dist/view-utils/assignNavigateTo.d.ts +2 -0
- package/dist/view-utils/assignNavigateTo.js +25 -0
- package/dist/view-utils/index.d.ts +2 -0
- package/dist/view-utils/index.js +2 -0
- package/dist/view-utils/manual-layout.d.ts +7 -0
- package/dist/view-utils/manual-layout.js +99 -0
- package/dist/view-utils/resolve-relative-paths.d.ts +2 -0
- package/dist/view-utils/resolve-relative-paths.js +78 -0
- package/package.json +42 -73
- package/src/LikeC4FileSystem.ts +22 -21
- package/src/Rpc.ts +6 -3
- package/src/ast.ts +136 -172
- package/src/browser.ts +10 -11
- package/src/generated/ast.ts +656 -40
- package/src/generated/grammar.ts +1 -1
- package/src/index.ts +11 -8
- package/src/like-c4.langium +173 -22
- package/src/logger.ts +41 -57
- package/src/lsp/CodeLensProvider.ts +0 -1
- package/src/lsp/CompletionProvider.ts +20 -5
- package/src/lsp/DocumentSymbolProvider.ts +5 -2
- package/src/lsp/HoverProvider.ts +37 -3
- package/src/lsp/SemanticTokenProvider.ts +58 -32
- package/src/model/deployments-index.ts +222 -0
- package/src/model/fqn-computation.ts +1 -1
- package/src/model/fqn-index.ts +0 -1
- package/src/model/index.ts +1 -0
- package/src/model/model-builder.ts +176 -39
- package/src/model/model-locator.ts +36 -7
- package/src/model/model-parser.ts +69 -1119
- package/src/model/parser/Base.ts +107 -0
- package/src/model/parser/DeploymentModelParser.ts +192 -0
- package/src/model/parser/DeploymentViewParser.ts +116 -0
- package/src/model/parser/FqnRefParser.ts +118 -0
- package/src/model/parser/GlobalsParser.ts +96 -0
- package/src/model/parser/ModelParser.ts +141 -0
- package/src/model/parser/PredicatesParser.ts +291 -0
- package/src/model/parser/SpecificationParser.ts +133 -0
- package/src/model/parser/ViewsParser.ts +428 -0
- package/src/model-change/changeViewLayout.ts +2 -2
- package/src/module.ts +26 -21
- package/src/protocol.ts +10 -6
- package/src/references/index.ts +1 -0
- package/src/references/name-provider.ts +37 -0
- package/src/references/scope-computation.ts +130 -21
- package/src/references/scope-provider.ts +68 -35
- package/src/shared/NodeKindProvider.ts +15 -3
- package/src/{elementRef.ts → utils/elementRef.ts} +1 -1
- package/src/utils/fqnRef.ts +56 -0
- package/src/utils/stringHash.ts +2 -2
- package/src/validation/_shared.ts +6 -5
- package/src/validation/deployment-checks.ts +131 -0
- package/src/validation/dynamic-view-step.ts +1 -1
- package/src/validation/index.ts +104 -6
- package/src/validation/relation.ts +1 -1
- package/src/validation/view-predicates/expression-v2.ts +101 -0
- package/src/validation/view-predicates/index.ts +1 -0
- package/src/view-utils/assignNavigateTo.ts +6 -5
- package/src/view-utils/index.ts +0 -1
- package/src/view-utils/manual-layout.ts +25 -0
- package/dist/browser.cjs +0 -25
- package/dist/browser.d.cts +0 -23
- package/dist/browser.d.mts +0 -23
- package/dist/browser.mjs +0 -20
- package/dist/index.cjs +0 -53
- package/dist/index.d.cts +0 -34
- package/dist/index.d.mts +0 -34
- package/dist/index.mjs +0 -46
- package/dist/likec4lib.cjs +0 -1546
- package/dist/likec4lib.d.cts +0 -6
- package/dist/likec4lib.d.mts +0 -6
- package/dist/model-graph/index.cjs +0 -10
- package/dist/model-graph/index.d.cts +0 -81
- package/dist/model-graph/index.d.mts +0 -81
- package/dist/model-graph/index.d.ts +0 -81
- package/dist/model-graph/index.mjs +0 -1
- package/dist/protocol.cjs +0 -25
- package/dist/protocol.d.cts +0 -45
- package/dist/protocol.d.mts +0 -45
- package/dist/protocol.mjs +0 -17
- package/dist/shared/language-server.BIbAD1T-.mjs +0 -6292
- package/dist/shared/language-server.BQRvVmE0.d.cts +0 -1303
- package/dist/shared/language-server.BysPcTxr.d.ts +0 -1303
- package/dist/shared/language-server.D2QdbOJO.cjs +0 -1995
- package/dist/shared/language-server.DGrBGmsd.mjs +0 -1981
- package/dist/shared/language-server.DKV_FdPN.cjs +0 -6304
- package/dist/shared/language-server._wkyPgso.d.mts +0 -1303
- package/src/model-graph/LikeC4ModelGraph.ts +0 -338
- package/src/model-graph/compute-view/__test__/fixture.ts +0 -630
- package/src/model-graph/compute-view/compute.ts +0 -788
- package/src/model-graph/compute-view/index.ts +0 -33
- package/src/model-graph/compute-view/predicates.ts +0 -509
- package/src/model-graph/dynamic-view/__test__/fixture.ts +0 -61
- package/src/model-graph/dynamic-view/compute.ts +0 -313
- package/src/model-graph/dynamic-view/index.ts +0 -29
- package/src/model-graph/index.ts +0 -3
- package/src/model-graph/utils/applyCustomElementProperties.ts +0 -65
- package/src/model-graph/utils/applyCustomRelationProperties.ts +0 -41
- package/src/model-graph/utils/applyViewRuleStyles.ts +0 -49
- package/src/model-graph/utils/buildComputeNodes.ts +0 -113
- package/src/model-graph/utils/buildElementNotations.ts +0 -63
- package/src/model-graph/utils/elementExpressionToPredicate.ts +0 -39
- package/src/model-graph/utils/relationExpressionToPredicates.ts +0 -43
- package/src/model-graph/utils/sortNodes.ts +0 -105
- package/src/model-graph/utils/uniqueTags.test.ts +0 -42
- package/src/model-graph/utils/uniqueTags.ts +0 -19
- package/src/utils/graphlib.ts +0 -9
- package/src/view-utils/resolve-extended-views.ts +0 -66
- package/src/view-utils/resolve-global-rules.ts +0 -88
- package/src/view-utils/view-hash.ts +0 -27
package/src/generated/ast.ts
CHANGED
|
@@ -15,8 +15,8 @@ export const LikeC4Terminals = {
|
|
|
15
15
|
LIB_ICON: /(aws|azure|gcp|tech):[-\w]*/,
|
|
16
16
|
URI_WITH_SCHEMA: /\w+:\/\/\S+/,
|
|
17
17
|
URI_RELATIVE: /\.{0,2}\/[^\/]\S+/,
|
|
18
|
-
DotUnderscore: /\b\._/,
|
|
19
|
-
DotWildcard: /\b
|
|
18
|
+
DotUnderscore: /\b\._(?![_a-zA-Z])/,
|
|
19
|
+
DotWildcard: /\b\.\*{1,2}/,
|
|
20
20
|
Hash: /#/,
|
|
21
21
|
StickyDot: /\b\./,
|
|
22
22
|
Dot: /\./,
|
|
@@ -57,6 +57,8 @@ export type LikeC4KeywordNames =
|
|
|
57
57
|
| "crow"
|
|
58
58
|
| "cylinder"
|
|
59
59
|
| "dashed"
|
|
60
|
+
| "deployment"
|
|
61
|
+
| "deploymentNode"
|
|
60
62
|
| "description"
|
|
61
63
|
| "diamond"
|
|
62
64
|
| "dot"
|
|
@@ -78,6 +80,8 @@ export type LikeC4KeywordNames =
|
|
|
78
80
|
| "icons"
|
|
79
81
|
| "include"
|
|
80
82
|
| "indigo"
|
|
83
|
+
| "instance"
|
|
84
|
+
| "instanceOf"
|
|
81
85
|
| "is"
|
|
82
86
|
| "kind"
|
|
83
87
|
| "likec4lib"
|
|
@@ -88,6 +92,7 @@ export type LikeC4KeywordNames =
|
|
|
88
92
|
| "model"
|
|
89
93
|
| "muted"
|
|
90
94
|
| "navigateTo"
|
|
95
|
+
| "node"
|
|
91
96
|
| "none"
|
|
92
97
|
| "normal"
|
|
93
98
|
| "not"
|
|
@@ -157,6 +162,22 @@ export function isCustomColorValue(item: unknown): item is CustomColorValue {
|
|
|
157
162
|
return typeof item === 'string';
|
|
158
163
|
}
|
|
159
164
|
|
|
165
|
+
export type DeploymentElement = DeployedInstance | DeploymentNode;
|
|
166
|
+
|
|
167
|
+
export const DeploymentElement = 'DeploymentElement';
|
|
168
|
+
|
|
169
|
+
export function isDeploymentElement(item: unknown): item is DeploymentElement {
|
|
170
|
+
return reflection.isInstance(item, DeploymentElement);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export type DeploymentViewRule = DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout;
|
|
174
|
+
|
|
175
|
+
export const DeploymentViewRule = 'DeploymentViewRule';
|
|
176
|
+
|
|
177
|
+
export function isDeploymentViewRule(item: unknown): item is DeploymentViewRule {
|
|
178
|
+
return reflection.isInstance(item, DeploymentViewRule);
|
|
179
|
+
}
|
|
180
|
+
|
|
160
181
|
export type DotId = string;
|
|
161
182
|
|
|
162
183
|
export function isDotId(item: unknown): item is DotId {
|
|
@@ -209,19 +230,43 @@ export function isElementShape(item: unknown): item is ElementShape {
|
|
|
209
230
|
return item === 'rectangle' || item === 'person' || item === 'browser' || item === 'mobile' || item === 'cylinder' || item === 'storage' || item === 'queue';
|
|
210
231
|
}
|
|
211
232
|
|
|
233
|
+
export type ExpressionV2 = FqnExpr | RelationExpr;
|
|
234
|
+
|
|
235
|
+
export const ExpressionV2 = 'ExpressionV2';
|
|
236
|
+
|
|
237
|
+
export function isExpressionV2(item: unknown): item is ExpressionV2 {
|
|
238
|
+
return reflection.isInstance(item, ExpressionV2);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export type FqnExpr = FqnRefExpr | WildcardExpression;
|
|
242
|
+
|
|
243
|
+
export const FqnExpr = 'FqnExpr';
|
|
244
|
+
|
|
245
|
+
export function isFqnExpr(item: unknown): item is FqnExpr {
|
|
246
|
+
return reflection.isInstance(item, FqnExpr);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export type FqnReferenceable = Element | ExtendElement | Referenceable;
|
|
250
|
+
|
|
251
|
+
export const FqnReferenceable = 'FqnReferenceable';
|
|
252
|
+
|
|
253
|
+
export function isFqnReferenceable(item: unknown): item is FqnReferenceable {
|
|
254
|
+
return reflection.isInstance(item, FqnReferenceable);
|
|
255
|
+
}
|
|
256
|
+
|
|
212
257
|
export type IconId = string;
|
|
213
258
|
|
|
214
259
|
export function isIconId(item: unknown): item is IconId {
|
|
215
260
|
return (typeof item === 'string' && (/(aws|azure|gcp|tech):[-\w]*/.test(item)));
|
|
216
261
|
}
|
|
217
262
|
|
|
218
|
-
export type Id = 'element' | 'group' | 'model' | ArrowType | ElementShape | LineOptions | ThemeColor | string;
|
|
263
|
+
export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | ThemeColor | string;
|
|
219
264
|
|
|
220
265
|
export function isId(item: unknown): item is Id {
|
|
221
|
-
return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || item === 'element' || item === 'model' || item === 'group' || (typeof item === 'string' && (/[_]*[a-zA-Z][-\w]*/.test(item)));
|
|
266
|
+
return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || item === 'element' || item === 'model' || item === 'group' || item === 'node' || item === 'deployment' || item === 'instance' || (typeof item === 'string' && (/[_]*[a-zA-Z][-\w]*/.test(item)));
|
|
222
267
|
}
|
|
223
268
|
|
|
224
|
-
export type LikeC4View = DynamicView | ElementView;
|
|
269
|
+
export type LikeC4View = DeploymentView | DynamicView | ElementView;
|
|
225
270
|
|
|
226
271
|
export const LikeC4View = 'LikeC4View';
|
|
227
272
|
|
|
@@ -251,6 +296,22 @@ export function isPredicate(item: unknown): item is Predicate {
|
|
|
251
296
|
return reflection.isInstance(item, Predicate);
|
|
252
297
|
}
|
|
253
298
|
|
|
299
|
+
export type Referenceable = DeployedInstance | DeploymentNode | Element;
|
|
300
|
+
|
|
301
|
+
export const Referenceable = 'Referenceable';
|
|
302
|
+
|
|
303
|
+
export function isReferenceable(item: unknown): item is Referenceable {
|
|
304
|
+
return reflection.isInstance(item, Referenceable);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export type RelationExpr = DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr;
|
|
308
|
+
|
|
309
|
+
export const RelationExpr = 'RelationExpr';
|
|
310
|
+
|
|
311
|
+
export function isRelationExpr(item: unknown): item is RelationExpr {
|
|
312
|
+
return reflection.isInstance(item, RelationExpr);
|
|
313
|
+
}
|
|
314
|
+
|
|
254
315
|
export type RelationExpression = DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression;
|
|
255
316
|
|
|
256
317
|
export const RelationExpression = 'RelationExpression';
|
|
@@ -433,7 +494,7 @@ export function isArrowProperty(item: unknown): item is ArrowProperty {
|
|
|
433
494
|
}
|
|
434
495
|
|
|
435
496
|
export interface BorderProperty extends AstNode {
|
|
436
|
-
readonly $container: CustomElementProperties | ElementStyleProperty | GlobalStyle | ViewRuleGroup | ViewRuleStyle;
|
|
497
|
+
readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleGroup | ViewRuleStyle;
|
|
437
498
|
readonly $type: 'BorderProperty';
|
|
438
499
|
key: 'border';
|
|
439
500
|
value: BorderStyleValue;
|
|
@@ -446,7 +507,7 @@ export function isBorderProperty(item: unknown): item is BorderProperty {
|
|
|
446
507
|
}
|
|
447
508
|
|
|
448
509
|
export interface ColorProperty extends AstNode {
|
|
449
|
-
readonly $container: CustomElementProperties | CustomRelationProperties | ElementStyleProperty | GlobalStyle | RelationStyleProperty | SpecificationRelationshipKind | ViewRuleGroup | ViewRuleStyle;
|
|
510
|
+
readonly $container: CustomElementProperties | CustomRelationProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | RelationStyleProperty | SpecificationRelationshipKind | ViewRuleGroup | ViewRuleStyle;
|
|
450
511
|
readonly $type: 'ColorProperty';
|
|
451
512
|
customColor?: Reference<CustomColor>;
|
|
452
513
|
key: 'color';
|
|
@@ -495,6 +556,185 @@ export function isCustomRelationProperties(item: unknown): item is CustomRelatio
|
|
|
495
556
|
return reflection.isInstance(item, CustomRelationProperties);
|
|
496
557
|
}
|
|
497
558
|
|
|
559
|
+
export interface DeployedInstance extends AstNode {
|
|
560
|
+
readonly $container: DeploymentNodeBody;
|
|
561
|
+
readonly $type: 'DeployedInstance';
|
|
562
|
+
body?: DeployedInstanceBody;
|
|
563
|
+
element: ElementRef;
|
|
564
|
+
name?: Id;
|
|
565
|
+
title?: string;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
export const DeployedInstance = 'DeployedInstance';
|
|
569
|
+
|
|
570
|
+
export function isDeployedInstance(item: unknown): item is DeployedInstance {
|
|
571
|
+
return reflection.isInstance(item, DeployedInstance);
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
export interface DeployedInstanceBody extends AstNode {
|
|
575
|
+
readonly $container: DeployedInstance;
|
|
576
|
+
readonly $type: 'DeployedInstanceBody';
|
|
577
|
+
props: Array<ElementProperty>;
|
|
578
|
+
tags?: Tags;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
export const DeployedInstanceBody = 'DeployedInstanceBody';
|
|
582
|
+
|
|
583
|
+
export function isDeployedInstanceBody(item: unknown): item is DeployedInstanceBody {
|
|
584
|
+
return reflection.isInstance(item, DeployedInstanceBody);
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
export interface DeploymentNode extends AstNode {
|
|
588
|
+
readonly $container: DeploymentNodeBody | ModelDeployments;
|
|
589
|
+
readonly $type: 'DeploymentNode';
|
|
590
|
+
body?: DeploymentNodeBody;
|
|
591
|
+
kind: Reference<DeploymentNodeKind>;
|
|
592
|
+
name: Id;
|
|
593
|
+
title?: string;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
export const DeploymentNode = 'DeploymentNode';
|
|
597
|
+
|
|
598
|
+
export function isDeploymentNode(item: unknown): item is DeploymentNode {
|
|
599
|
+
return reflection.isInstance(item, DeploymentNode);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
export interface DeploymentNodeBody extends AstNode {
|
|
603
|
+
readonly $container: DeploymentNode;
|
|
604
|
+
readonly $type: 'DeploymentNodeBody';
|
|
605
|
+
elements: Array<DeployedInstance | DeploymentNode | DeploymentRelation>;
|
|
606
|
+
props: Array<ElementProperty>;
|
|
607
|
+
tags?: Tags;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
export const DeploymentNodeBody = 'DeploymentNodeBody';
|
|
611
|
+
|
|
612
|
+
export function isDeploymentNodeBody(item: unknown): item is DeploymentNodeBody {
|
|
613
|
+
return reflection.isInstance(item, DeploymentNodeBody);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
export interface DeploymentNodeKind extends AstNode {
|
|
617
|
+
readonly $container: SpecificationDeploymentNodeKind;
|
|
618
|
+
readonly $type: 'DeploymentNodeKind';
|
|
619
|
+
name: Id;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
export const DeploymentNodeKind = 'DeploymentNodeKind';
|
|
623
|
+
|
|
624
|
+
export function isDeploymentNodeKind(item: unknown): item is DeploymentNodeKind {
|
|
625
|
+
return reflection.isInstance(item, DeploymentNodeKind);
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
export interface DeploymentRelation extends AstNode {
|
|
629
|
+
readonly $container: DeploymentNodeBody | ModelDeployments;
|
|
630
|
+
readonly $type: 'DeploymentRelation';
|
|
631
|
+
body?: DeploymentRelationBody;
|
|
632
|
+
kind?: Reference<RelationshipKind>;
|
|
633
|
+
source: FqnRef;
|
|
634
|
+
tags?: Tags;
|
|
635
|
+
target: FqnRef;
|
|
636
|
+
technology?: string;
|
|
637
|
+
title?: string;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
export const DeploymentRelation = 'DeploymentRelation';
|
|
641
|
+
|
|
642
|
+
export function isDeploymentRelation(item: unknown): item is DeploymentRelation {
|
|
643
|
+
return reflection.isInstance(item, DeploymentRelation);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
export interface DeploymentRelationBody extends AstNode {
|
|
647
|
+
readonly $container: DeploymentRelation;
|
|
648
|
+
readonly $type: 'DeploymentRelationBody';
|
|
649
|
+
props: Array<RelationProperty>;
|
|
650
|
+
tags?: Tags;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
export const DeploymentRelationBody = 'DeploymentRelationBody';
|
|
654
|
+
|
|
655
|
+
export function isDeploymentRelationBody(item: unknown): item is DeploymentRelationBody {
|
|
656
|
+
return reflection.isInstance(item, DeploymentRelationBody);
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
export interface DeploymentView extends AstNode {
|
|
660
|
+
readonly $container: ModelViews;
|
|
661
|
+
readonly $type: 'DeploymentView';
|
|
662
|
+
body?: DeploymentViewBody;
|
|
663
|
+
name: Id;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
export const DeploymentView = 'DeploymentView';
|
|
667
|
+
|
|
668
|
+
export function isDeploymentView(item: unknown): item is DeploymentView {
|
|
669
|
+
return reflection.isInstance(item, DeploymentView);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
export interface DeploymentViewBody extends AstNode {
|
|
673
|
+
readonly $container: DeploymentView;
|
|
674
|
+
readonly $type: 'DeploymentViewBody';
|
|
675
|
+
props: Array<ViewProperty>;
|
|
676
|
+
rules: Array<DeploymentViewRule>;
|
|
677
|
+
tags?: Tags;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
export const DeploymentViewBody = 'DeploymentViewBody';
|
|
681
|
+
|
|
682
|
+
export function isDeploymentViewBody(item: unknown): item is DeploymentViewBody {
|
|
683
|
+
return reflection.isInstance(item, DeploymentViewBody);
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
export interface DeploymentViewRulePredicate extends AstNode {
|
|
687
|
+
readonly $container: DeploymentViewBody;
|
|
688
|
+
readonly $type: 'DeploymentViewRulePredicate';
|
|
689
|
+
expr: DeploymentViewRulePredicateExpression;
|
|
690
|
+
isInclude: boolean;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
export const DeploymentViewRulePredicate = 'DeploymentViewRulePredicate';
|
|
694
|
+
|
|
695
|
+
export function isDeploymentViewRulePredicate(item: unknown): item is DeploymentViewRulePredicate {
|
|
696
|
+
return reflection.isInstance(item, DeploymentViewRulePredicate);
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
export interface DeploymentViewRulePredicateExpression extends AstNode {
|
|
700
|
+
readonly $container: DeploymentViewRulePredicate | DeploymentViewRulePredicateExpression;
|
|
701
|
+
readonly $type: 'DeploymentViewRulePredicateExpression';
|
|
702
|
+
prev?: DeploymentViewRulePredicateExpression;
|
|
703
|
+
value: ExpressionV2;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
export const DeploymentViewRulePredicateExpression = 'DeploymentViewRulePredicateExpression';
|
|
707
|
+
|
|
708
|
+
export function isDeploymentViewRulePredicateExpression(item: unknown): item is DeploymentViewRulePredicateExpression {
|
|
709
|
+
return reflection.isInstance(item, DeploymentViewRulePredicateExpression);
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
export interface DeploymentViewRuleStyle extends AstNode {
|
|
713
|
+
readonly $container: DeploymentViewBody;
|
|
714
|
+
readonly $type: 'DeploymentViewRuleStyle';
|
|
715
|
+
props: Array<NotationProperty | StyleProperty>;
|
|
716
|
+
targets: FqnExpressions;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
export const DeploymentViewRuleStyle = 'DeploymentViewRuleStyle';
|
|
720
|
+
|
|
721
|
+
export function isDeploymentViewRuleStyle(item: unknown): item is DeploymentViewRuleStyle {
|
|
722
|
+
return reflection.isInstance(item, DeploymentViewRuleStyle);
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
export interface DirectedRelationExpr extends AstNode {
|
|
726
|
+
readonly $container: DeploymentViewRulePredicateExpression;
|
|
727
|
+
readonly $type: 'DirectedRelationExpr';
|
|
728
|
+
source: OutgoingRelationExpr;
|
|
729
|
+
target: FqnExpr;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
export const DirectedRelationExpr = 'DirectedRelationExpr';
|
|
733
|
+
|
|
734
|
+
export function isDirectedRelationExpr(item: unknown): item is DirectedRelationExpr {
|
|
735
|
+
return reflection.isInstance(item, DirectedRelationExpr);
|
|
736
|
+
}
|
|
737
|
+
|
|
498
738
|
export interface DirectedRelationExpression extends AstNode {
|
|
499
739
|
readonly $container: Predicates | RelationPredicateWhere | RelationPredicateWith;
|
|
500
740
|
readonly $type: 'DirectedRelationExpression';
|
|
@@ -647,6 +887,7 @@ export interface ElementDescedantsExpression extends AstNode {
|
|
|
647
887
|
readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | IncomingRelationExpression | OutgoingRelationExpression | Predicates;
|
|
648
888
|
readonly $type: 'ElementDescedantsExpression';
|
|
649
889
|
parent: ElementRef;
|
|
890
|
+
suffix: string;
|
|
650
891
|
}
|
|
651
892
|
|
|
652
893
|
export const ElementDescedantsExpression = 'ElementDescedantsExpression';
|
|
@@ -720,7 +961,7 @@ export function isElementPredicateWith(item: unknown): item is ElementPredicateW
|
|
|
720
961
|
}
|
|
721
962
|
|
|
722
963
|
export interface ElementRef extends AstNode {
|
|
723
|
-
readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | DynamicViewStep | ElementDescedantsExpression | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | ElementRef | ElementView | ExpandElementExpression | IncomingRelationExpression | OutgoingRelationExpression | Predicates | Relation;
|
|
964
|
+
readonly $container: DeployedInstance | DirectedRelationExpression | DynamicViewPredicateIterator | DynamicViewStep | ElementDescedantsExpression | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | ElementRef | ElementView | ExpandElementExpression | IncomingRelationExpression | OutgoingRelationExpression | Predicates | Relation;
|
|
724
965
|
readonly $type: 'ElementRef';
|
|
725
966
|
el: Reference<Element>;
|
|
726
967
|
parent?: ElementRef;
|
|
@@ -733,7 +974,7 @@ export function isElementRef(item: unknown): item is ElementRef {
|
|
|
733
974
|
}
|
|
734
975
|
|
|
735
976
|
export interface ElementStringProperty extends AstNode {
|
|
736
|
-
readonly $container: CustomElementProperties | ElementBody;
|
|
977
|
+
readonly $container: CustomElementProperties | DeployedInstanceBody | DeploymentNodeBody | ElementBody;
|
|
737
978
|
readonly $type: 'ElementStringProperty';
|
|
738
979
|
key: 'description' | 'technology' | 'title';
|
|
739
980
|
value: string;
|
|
@@ -746,7 +987,7 @@ export function isElementStringProperty(item: unknown): item is ElementStringPro
|
|
|
746
987
|
}
|
|
747
988
|
|
|
748
989
|
export interface ElementStyleProperty extends AstNode {
|
|
749
|
-
readonly $container: ElementBody | SpecificationElementKind;
|
|
990
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | ElementBody | SpecificationDeploymentNodeKind | SpecificationElementKind;
|
|
750
991
|
readonly $type: 'ElementStyleProperty';
|
|
751
992
|
key: 'style';
|
|
752
993
|
props: Array<StyleProperty>;
|
|
@@ -874,6 +1115,45 @@ export function isFqnElementRef(item: unknown): item is FqnElementRef {
|
|
|
874
1115
|
return reflection.isInstance(item, FqnElementRef);
|
|
875
1116
|
}
|
|
876
1117
|
|
|
1118
|
+
export interface FqnExpressions extends AstNode {
|
|
1119
|
+
readonly $container: DeploymentViewRuleStyle | FqnExpressions;
|
|
1120
|
+
readonly $type: 'FqnExpressions';
|
|
1121
|
+
prev?: FqnExpressions;
|
|
1122
|
+
value: FqnExpr;
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
export const FqnExpressions = 'FqnExpressions';
|
|
1126
|
+
|
|
1127
|
+
export function isFqnExpressions(item: unknown): item is FqnExpressions {
|
|
1128
|
+
return reflection.isInstance(item, FqnExpressions);
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
export interface FqnRef extends AstNode {
|
|
1132
|
+
readonly $container: DeploymentRelation | FqnRef | FqnRefExpr;
|
|
1133
|
+
readonly $type: 'FqnRef';
|
|
1134
|
+
parent?: FqnRef;
|
|
1135
|
+
value: Reference<Referenceable>;
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
export const FqnRef = 'FqnRef';
|
|
1139
|
+
|
|
1140
|
+
export function isFqnRef(item: unknown): item is FqnRef {
|
|
1141
|
+
return reflection.isInstance(item, FqnRef);
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
export interface FqnRefExpr extends AstNode {
|
|
1145
|
+
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
|
|
1146
|
+
readonly $type: 'FqnRefExpr';
|
|
1147
|
+
ref: FqnRef;
|
|
1148
|
+
selector?: string;
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
export const FqnRefExpr = 'FqnRefExpr';
|
|
1152
|
+
|
|
1153
|
+
export function isFqnRefExpr(item: unknown): item is FqnRefExpr {
|
|
1154
|
+
return reflection.isInstance(item, FqnRefExpr);
|
|
1155
|
+
}
|
|
1156
|
+
|
|
877
1157
|
export interface GlobalDynamicPredicateGroup extends AstNode {
|
|
878
1158
|
readonly $container: Globals;
|
|
879
1159
|
readonly $type: 'GlobalDynamicPredicateGroup';
|
|
@@ -954,7 +1234,7 @@ export function isGlobalStyleId(item: unknown): item is GlobalStyleId {
|
|
|
954
1234
|
}
|
|
955
1235
|
|
|
956
1236
|
export interface IconProperty extends AstNode {
|
|
957
|
-
readonly $container: CustomElementProperties | ElementBody | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
1237
|
+
readonly $container: CustomElementProperties | DeployedInstanceBody | DeploymentNodeBody | DeploymentViewRuleStyle | ElementBody | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
958
1238
|
readonly $type: 'IconProperty';
|
|
959
1239
|
key: 'icon';
|
|
960
1240
|
libicon?: Reference<LibIcon>;
|
|
@@ -979,6 +1259,18 @@ export function isIncludePredicate(item: unknown): item is IncludePredicate {
|
|
|
979
1259
|
return reflection.isInstance(item, IncludePredicate);
|
|
980
1260
|
}
|
|
981
1261
|
|
|
1262
|
+
export interface IncomingRelationExpr extends AstNode {
|
|
1263
|
+
readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr;
|
|
1264
|
+
readonly $type: 'IncomingRelationExpr';
|
|
1265
|
+
to: FqnExpr;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
export const IncomingRelationExpr = 'IncomingRelationExpr';
|
|
1269
|
+
|
|
1270
|
+
export function isIncomingRelationExpr(item: unknown): item is IncomingRelationExpr {
|
|
1271
|
+
return reflection.isInstance(item, IncomingRelationExpr);
|
|
1272
|
+
}
|
|
1273
|
+
|
|
982
1274
|
export interface IncomingRelationExpression extends AstNode {
|
|
983
1275
|
readonly $container: InOutRelationExpression | Predicates | RelationPredicateWhere | RelationPredicateWith;
|
|
984
1276
|
readonly $type: 'IncomingRelationExpression';
|
|
@@ -991,6 +1283,18 @@ export function isIncomingRelationExpression(item: unknown): item is IncomingRel
|
|
|
991
1283
|
return reflection.isInstance(item, IncomingRelationExpression);
|
|
992
1284
|
}
|
|
993
1285
|
|
|
1286
|
+
export interface InOutRelationExpr extends AstNode {
|
|
1287
|
+
readonly $container: DeploymentViewRulePredicateExpression;
|
|
1288
|
+
readonly $type: 'InOutRelationExpr';
|
|
1289
|
+
inout: IncomingRelationExpr;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
export const InOutRelationExpr = 'InOutRelationExpr';
|
|
1293
|
+
|
|
1294
|
+
export function isInOutRelationExpr(item: unknown): item is InOutRelationExpr {
|
|
1295
|
+
return reflection.isInstance(item, InOutRelationExpr);
|
|
1296
|
+
}
|
|
1297
|
+
|
|
994
1298
|
export interface InOutRelationExpression extends AstNode {
|
|
995
1299
|
readonly $container: Predicates | RelationPredicateWhere | RelationPredicateWith;
|
|
996
1300
|
readonly $type: 'InOutRelationExpression';
|
|
@@ -1017,6 +1321,7 @@ export function isLibIcon(item: unknown): item is LibIcon {
|
|
|
1017
1321
|
|
|
1018
1322
|
export interface LikeC4Grammar extends AstNode {
|
|
1019
1323
|
readonly $type: 'LikeC4Grammar';
|
|
1324
|
+
deployments: Array<ModelDeployments>;
|
|
1020
1325
|
globals: Array<Globals>;
|
|
1021
1326
|
likec4lib: Array<LikeC4Lib>;
|
|
1022
1327
|
models: Array<Model>;
|
|
@@ -1056,7 +1361,7 @@ export function isLineProperty(item: unknown): item is LineProperty {
|
|
|
1056
1361
|
}
|
|
1057
1362
|
|
|
1058
1363
|
export interface LinkProperty extends AstNode {
|
|
1059
|
-
readonly $container: DynamicViewBody | ElementBody | ElementViewBody | RelationBody;
|
|
1364
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | RelationBody;
|
|
1060
1365
|
readonly $type: 'LinkProperty';
|
|
1061
1366
|
key: 'link';
|
|
1062
1367
|
title?: string;
|
|
@@ -1083,7 +1388,7 @@ export function isMetadataAttribute(item: unknown): item is MetadataAttribute {
|
|
|
1083
1388
|
}
|
|
1084
1389
|
|
|
1085
1390
|
export interface MetadataBody extends AstNode {
|
|
1086
|
-
readonly $container: ElementBody | RelationBody;
|
|
1391
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | RelationBody;
|
|
1087
1392
|
readonly $type: 'MetadataBody';
|
|
1088
1393
|
props: Array<MetadataAttribute>;
|
|
1089
1394
|
}
|
|
@@ -1107,6 +1412,19 @@ export function isModel(item: unknown): item is Model {
|
|
|
1107
1412
|
return reflection.isInstance(item, Model);
|
|
1108
1413
|
}
|
|
1109
1414
|
|
|
1415
|
+
export interface ModelDeployments extends AstNode {
|
|
1416
|
+
readonly $container: LikeC4Grammar;
|
|
1417
|
+
readonly $type: 'ModelDeployments';
|
|
1418
|
+
elements: Array<DeploymentNode | DeploymentRelation>;
|
|
1419
|
+
name: 'deployment';
|
|
1420
|
+
}
|
|
1421
|
+
|
|
1422
|
+
export const ModelDeployments = 'ModelDeployments';
|
|
1423
|
+
|
|
1424
|
+
export function isModelDeployments(item: unknown): item is ModelDeployments {
|
|
1425
|
+
return reflection.isInstance(item, ModelDeployments);
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1110
1428
|
export interface ModelViews extends AstNode {
|
|
1111
1429
|
readonly $container: LikeC4Grammar;
|
|
1112
1430
|
readonly $type: 'ModelViews';
|
|
@@ -1135,7 +1453,7 @@ export function isNavigateToProperty(item: unknown): item is NavigateToProperty
|
|
|
1135
1453
|
}
|
|
1136
1454
|
|
|
1137
1455
|
export interface NotationProperty extends AstNode {
|
|
1138
|
-
readonly $container: CustomElementProperties | CustomRelationProperties | GlobalStyle | ViewRuleStyle;
|
|
1456
|
+
readonly $container: CustomElementProperties | CustomRelationProperties | DeploymentViewRuleStyle | GlobalStyle | ViewRuleStyle;
|
|
1139
1457
|
readonly $type: 'NotationProperty';
|
|
1140
1458
|
key: 'notation';
|
|
1141
1459
|
value: string;
|
|
@@ -1161,7 +1479,7 @@ export function isNotesProperty(item: unknown): item is NotesProperty {
|
|
|
1161
1479
|
}
|
|
1162
1480
|
|
|
1163
1481
|
export interface OpacityProperty extends AstNode {
|
|
1164
|
-
readonly $container: CustomElementProperties | ElementStyleProperty | GlobalStyle | ViewRuleGroup | ViewRuleStyle;
|
|
1482
|
+
readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleGroup | ViewRuleStyle;
|
|
1165
1483
|
readonly $type: 'OpacityProperty';
|
|
1166
1484
|
key: 'opacity';
|
|
1167
1485
|
value: string;
|
|
@@ -1173,6 +1491,20 @@ export function isOpacityProperty(item: unknown): item is OpacityProperty {
|
|
|
1173
1491
|
return reflection.isInstance(item, OpacityProperty);
|
|
1174
1492
|
}
|
|
1175
1493
|
|
|
1494
|
+
export interface OutgoingRelationExpr extends AstNode {
|
|
1495
|
+
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr;
|
|
1496
|
+
readonly $type: 'OutgoingRelationExpr';
|
|
1497
|
+
from: FqnExpr;
|
|
1498
|
+
isBidirectional: boolean;
|
|
1499
|
+
kind?: Reference<RelationshipKind>;
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
export const OutgoingRelationExpr = 'OutgoingRelationExpr';
|
|
1503
|
+
|
|
1504
|
+
export function isOutgoingRelationExpr(item: unknown): item is OutgoingRelationExpr {
|
|
1505
|
+
return reflection.isInstance(item, OutgoingRelationExpr);
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1176
1508
|
export interface OutgoingRelationExpression extends AstNode {
|
|
1177
1509
|
readonly $container: DirectedRelationExpression | Predicates | RelationPredicateWhere | RelationPredicateWith;
|
|
1178
1510
|
readonly $type: 'OutgoingRelationExpression';
|
|
@@ -1232,7 +1564,7 @@ export function isRelationBody(item: unknown): item is RelationBody {
|
|
|
1232
1564
|
}
|
|
1233
1565
|
|
|
1234
1566
|
export interface RelationNavigateToProperty extends AstNode {
|
|
1235
|
-
readonly $container: CustomRelationProperties | RelationBody;
|
|
1567
|
+
readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
|
|
1236
1568
|
readonly $type: 'RelationNavigateToProperty';
|
|
1237
1569
|
key: 'navigateTo';
|
|
1238
1570
|
value: DynamicViewRef;
|
|
@@ -1283,7 +1615,7 @@ export function isRelationshipKind(item: unknown): item is RelationshipKind {
|
|
|
1283
1615
|
}
|
|
1284
1616
|
|
|
1285
1617
|
export interface RelationStringProperty extends AstNode {
|
|
1286
|
-
readonly $container: CustomRelationProperties | RelationBody;
|
|
1618
|
+
readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
|
|
1287
1619
|
readonly $type: 'RelationStringProperty';
|
|
1288
1620
|
key: 'description' | 'technology' | 'title';
|
|
1289
1621
|
value: string;
|
|
@@ -1296,7 +1628,7 @@ export function isRelationStringProperty(item: unknown): item is RelationStringP
|
|
|
1296
1628
|
}
|
|
1297
1629
|
|
|
1298
1630
|
export interface RelationStyleProperty extends AstNode {
|
|
1299
|
-
readonly $container: RelationBody;
|
|
1631
|
+
readonly $container: DeploymentRelationBody | RelationBody;
|
|
1300
1632
|
readonly $type: 'RelationStyleProperty';
|
|
1301
1633
|
key: 'style';
|
|
1302
1634
|
props: Array<RelationshipStyleProperty>;
|
|
@@ -1309,7 +1641,7 @@ export function isRelationStyleProperty(item: unknown): item is RelationStylePro
|
|
|
1309
1641
|
}
|
|
1310
1642
|
|
|
1311
1643
|
export interface ShapeProperty extends AstNode {
|
|
1312
|
-
readonly $container: CustomElementProperties | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
1644
|
+
readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
1313
1645
|
readonly $type: 'ShapeProperty';
|
|
1314
1646
|
key: 'shape';
|
|
1315
1647
|
value: ElementShape;
|
|
@@ -1334,6 +1666,19 @@ export function isSpecificationColor(item: unknown): item is SpecificationColor
|
|
|
1334
1666
|
return reflection.isInstance(item, SpecificationColor);
|
|
1335
1667
|
}
|
|
1336
1668
|
|
|
1669
|
+
export interface SpecificationDeploymentNodeKind extends AstNode {
|
|
1670
|
+
readonly $container: SpecificationRule;
|
|
1671
|
+
readonly $type: 'SpecificationDeploymentNodeKind';
|
|
1672
|
+
kind: DeploymentNodeKind;
|
|
1673
|
+
props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
export const SpecificationDeploymentNodeKind = 'SpecificationDeploymentNodeKind';
|
|
1677
|
+
|
|
1678
|
+
export function isSpecificationDeploymentNodeKind(item: unknown): item is SpecificationDeploymentNodeKind {
|
|
1679
|
+
return reflection.isInstance(item, SpecificationDeploymentNodeKind);
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1337
1682
|
export interface SpecificationElementKind extends AstNode {
|
|
1338
1683
|
readonly $container: SpecificationRule;
|
|
1339
1684
|
readonly $type: 'SpecificationElementKind';
|
|
@@ -1348,7 +1693,7 @@ export function isSpecificationElementKind(item: unknown): item is Specification
|
|
|
1348
1693
|
}
|
|
1349
1694
|
|
|
1350
1695
|
export interface SpecificationElementStringProperty extends AstNode {
|
|
1351
|
-
readonly $container: SpecificationElementKind;
|
|
1696
|
+
readonly $container: SpecificationDeploymentNodeKind | SpecificationElementKind;
|
|
1352
1697
|
readonly $type: 'SpecificationElementStringProperty';
|
|
1353
1698
|
key: 'notation' | 'technology';
|
|
1354
1699
|
value: string;
|
|
@@ -1390,6 +1735,7 @@ export interface SpecificationRule extends AstNode {
|
|
|
1390
1735
|
readonly $container: LikeC4Grammar;
|
|
1391
1736
|
readonly $type: 'SpecificationRule';
|
|
1392
1737
|
colors: Array<SpecificationColor>;
|
|
1738
|
+
deploymentNodes: Array<SpecificationDeploymentNodeKind>;
|
|
1393
1739
|
elements: Array<SpecificationElementKind>;
|
|
1394
1740
|
name: 'specification';
|
|
1395
1741
|
relationships: Array<SpecificationRelationshipKind>;
|
|
@@ -1427,7 +1773,7 @@ export function isTag(item: unknown): item is Tag {
|
|
|
1427
1773
|
}
|
|
1428
1774
|
|
|
1429
1775
|
export interface Tags extends AstNode {
|
|
1430
|
-
readonly $container: DynamicViewBody | ElementBody | ElementViewBody | Relation | RelationBody | Tags;
|
|
1776
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | Relation | RelationBody | Tags;
|
|
1431
1777
|
readonly $type: 'Tags';
|
|
1432
1778
|
prev?: Tags;
|
|
1433
1779
|
values: Array<Reference<Tag>>;
|
|
@@ -1452,7 +1798,7 @@ export function isViewRef(item: unknown): item is ViewRef {
|
|
|
1452
1798
|
}
|
|
1453
1799
|
|
|
1454
1800
|
export interface ViewRuleAutoLayout extends AstNode {
|
|
1455
|
-
readonly $container: DynamicViewBody | ElementViewBody;
|
|
1801
|
+
readonly $container: DeploymentViewBody | DynamicViewBody | ElementViewBody;
|
|
1456
1802
|
readonly $type: 'ViewRuleAutoLayout';
|
|
1457
1803
|
direction: ViewLayoutDirection;
|
|
1458
1804
|
nodeSep?: number;
|
|
@@ -1517,7 +1863,7 @@ export function isViewRuleStyle(item: unknown): item is ViewRuleStyle {
|
|
|
1517
1863
|
}
|
|
1518
1864
|
|
|
1519
1865
|
export interface ViewStringProperty extends AstNode {
|
|
1520
|
-
readonly $container: DynamicViewBody | ElementViewBody;
|
|
1866
|
+
readonly $container: DeploymentViewBody | DynamicViewBody | ElementViewBody;
|
|
1521
1867
|
readonly $type: 'ViewStringProperty';
|
|
1522
1868
|
key: 'description' | 'title';
|
|
1523
1869
|
value: string;
|
|
@@ -1624,7 +1970,7 @@ export function isWhereRelationTag(item: unknown): item is WhereRelationTag {
|
|
|
1624
1970
|
}
|
|
1625
1971
|
|
|
1626
1972
|
export interface WildcardExpression extends AstNode {
|
|
1627
|
-
readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | IncomingRelationExpression | OutgoingRelationExpression | Predicates;
|
|
1973
|
+
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
|
|
1628
1974
|
readonly $type: 'WildcardExpression';
|
|
1629
1975
|
isWildcard: boolean;
|
|
1630
1976
|
}
|
|
@@ -1642,6 +1988,21 @@ export type LikeC4AstType = {
|
|
|
1642
1988
|
CustomColor: CustomColor
|
|
1643
1989
|
CustomElementProperties: CustomElementProperties
|
|
1644
1990
|
CustomRelationProperties: CustomRelationProperties
|
|
1991
|
+
DeployedInstance: DeployedInstance
|
|
1992
|
+
DeployedInstanceBody: DeployedInstanceBody
|
|
1993
|
+
DeploymentElement: DeploymentElement
|
|
1994
|
+
DeploymentNode: DeploymentNode
|
|
1995
|
+
DeploymentNodeBody: DeploymentNodeBody
|
|
1996
|
+
DeploymentNodeKind: DeploymentNodeKind
|
|
1997
|
+
DeploymentRelation: DeploymentRelation
|
|
1998
|
+
DeploymentRelationBody: DeploymentRelationBody
|
|
1999
|
+
DeploymentView: DeploymentView
|
|
2000
|
+
DeploymentViewBody: DeploymentViewBody
|
|
2001
|
+
DeploymentViewRule: DeploymentViewRule
|
|
2002
|
+
DeploymentViewRulePredicate: DeploymentViewRulePredicate
|
|
2003
|
+
DeploymentViewRulePredicateExpression: DeploymentViewRulePredicateExpression
|
|
2004
|
+
DeploymentViewRuleStyle: DeploymentViewRuleStyle
|
|
2005
|
+
DirectedRelationExpr: DirectedRelationExpr
|
|
1645
2006
|
DirectedRelationExpression: DirectedRelationExpression
|
|
1646
2007
|
DynamicView: DynamicView
|
|
1647
2008
|
DynamicViewBody: DynamicViewBody
|
|
@@ -1673,9 +2034,15 @@ export type LikeC4AstType = {
|
|
|
1673
2034
|
ElementViewRef: ElementViewRef
|
|
1674
2035
|
ExcludePredicate: ExcludePredicate
|
|
1675
2036
|
ExpandElementExpression: ExpandElementExpression
|
|
2037
|
+
ExpressionV2: ExpressionV2
|
|
1676
2038
|
ExtendElement: ExtendElement
|
|
1677
2039
|
ExtendElementBody: ExtendElementBody
|
|
1678
2040
|
FqnElementRef: FqnElementRef
|
|
2041
|
+
FqnExpr: FqnExpr
|
|
2042
|
+
FqnExpressions: FqnExpressions
|
|
2043
|
+
FqnRef: FqnRef
|
|
2044
|
+
FqnRefExpr: FqnRefExpr
|
|
2045
|
+
FqnReferenceable: FqnReferenceable
|
|
1679
2046
|
GlobalDynamicPredicateGroup: GlobalDynamicPredicateGroup
|
|
1680
2047
|
GlobalPredicateGroup: GlobalPredicateGroup
|
|
1681
2048
|
GlobalStyle: GlobalStyle
|
|
@@ -1683,8 +2050,10 @@ export type LikeC4AstType = {
|
|
|
1683
2050
|
GlobalStyleId: GlobalStyleId
|
|
1684
2051
|
Globals: Globals
|
|
1685
2052
|
IconProperty: IconProperty
|
|
2053
|
+
InOutRelationExpr: InOutRelationExpr
|
|
1686
2054
|
InOutRelationExpression: InOutRelationExpression
|
|
1687
2055
|
IncludePredicate: IncludePredicate
|
|
2056
|
+
IncomingRelationExpr: IncomingRelationExpr
|
|
1688
2057
|
IncomingRelationExpression: IncomingRelationExpression
|
|
1689
2058
|
LibIcon: LibIcon
|
|
1690
2059
|
LikeC4Grammar: LikeC4Grammar
|
|
@@ -1696,16 +2065,20 @@ export type LikeC4AstType = {
|
|
|
1696
2065
|
MetadataBody: MetadataBody
|
|
1697
2066
|
MetadataProperty: MetadataProperty
|
|
1698
2067
|
Model: Model
|
|
2068
|
+
ModelDeployments: ModelDeployments
|
|
1699
2069
|
ModelViews: ModelViews
|
|
1700
2070
|
NavigateToProperty: NavigateToProperty
|
|
1701
2071
|
NotationProperty: NotationProperty
|
|
1702
2072
|
NotesProperty: NotesProperty
|
|
1703
2073
|
OpacityProperty: OpacityProperty
|
|
2074
|
+
OutgoingRelationExpr: OutgoingRelationExpr
|
|
1704
2075
|
OutgoingRelationExpression: OutgoingRelationExpression
|
|
1705
2076
|
Predicate: Predicate
|
|
1706
2077
|
Predicates: Predicates
|
|
2078
|
+
Referenceable: Referenceable
|
|
1707
2079
|
Relation: Relation
|
|
1708
2080
|
RelationBody: RelationBody
|
|
2081
|
+
RelationExpr: RelationExpr
|
|
1709
2082
|
RelationExpression: RelationExpression
|
|
1710
2083
|
RelationNavigateToProperty: RelationNavigateToProperty
|
|
1711
2084
|
RelationPredicate: RelationPredicate
|
|
@@ -1719,6 +2092,7 @@ export type LikeC4AstType = {
|
|
|
1719
2092
|
RelationshipStyleProperty: RelationshipStyleProperty
|
|
1720
2093
|
ShapeProperty: ShapeProperty
|
|
1721
2094
|
SpecificationColor: SpecificationColor
|
|
2095
|
+
SpecificationDeploymentNodeKind: SpecificationDeploymentNodeKind
|
|
1722
2096
|
SpecificationElementKind: SpecificationElementKind
|
|
1723
2097
|
SpecificationElementStringProperty: SpecificationElementStringProperty
|
|
1724
2098
|
SpecificationRelationshipKind: SpecificationRelationshipKind
|
|
@@ -1760,7 +2134,7 @@ export type LikeC4AstType = {
|
|
|
1760
2134
|
export class LikeC4AstReflection extends AbstractAstReflection {
|
|
1761
2135
|
|
|
1762
2136
|
getAllTypes(): string[] {
|
|
1763
|
-
return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewPredicateIterator, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExtendElement, ExtendElementBody, FqnElementRef, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, InOutRelationExpression, IncludePredicate, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelViews, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpression, Predicate, Predicates, Relation, RelationBody, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateWhere, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationColor, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StringProperty, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationTag, WhereTagEqual, WildcardExpression];
|
|
2137
|
+
return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, 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, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendElement, ExtendElementBody, FqnElementRef, 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, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, OutgoingRelationExpression, Predicate, Predicates, Referenceable, Relation, RelationBody, RelationExpr, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateWhere, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StringProperty, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationTag, WhereTagEqual, WildcardExpression];
|
|
1764
2138
|
}
|
|
1765
2139
|
|
|
1766
2140
|
protected override computeIsSubtype(subtype: string, supertype: string): boolean {
|
|
@@ -1777,26 +2151,43 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1777
2151
|
case ColorProperty: {
|
|
1778
2152
|
return this.isSubtype(RelationshipStyleProperty, supertype) || this.isSubtype(StyleProperty, supertype);
|
|
1779
2153
|
}
|
|
2154
|
+
case DeployedInstance:
|
|
2155
|
+
case DeploymentNode: {
|
|
2156
|
+
return this.isSubtype(DeploymentElement, supertype) || this.isSubtype(Referenceable, supertype);
|
|
2157
|
+
}
|
|
2158
|
+
case DeploymentView:
|
|
2159
|
+
case DynamicView:
|
|
2160
|
+
case ElementView: {
|
|
2161
|
+
return this.isSubtype(LikeC4View, supertype);
|
|
2162
|
+
}
|
|
2163
|
+
case DeploymentViewRulePredicate:
|
|
2164
|
+
case DeploymentViewRuleStyle: {
|
|
2165
|
+
return this.isSubtype(DeploymentViewRule, supertype);
|
|
2166
|
+
}
|
|
2167
|
+
case DirectedRelationExpr:
|
|
2168
|
+
case IncomingRelationExpr:
|
|
2169
|
+
case InOutRelationExpr:
|
|
2170
|
+
case OutgoingRelationExpr: {
|
|
2171
|
+
return this.isSubtype(RelationExpr, supertype);
|
|
2172
|
+
}
|
|
1780
2173
|
case DirectedRelationExpression:
|
|
1781
2174
|
case IncomingRelationExpression:
|
|
1782
2175
|
case InOutRelationExpression:
|
|
1783
2176
|
case OutgoingRelationExpression: {
|
|
1784
2177
|
return this.isSubtype(RelationExpression, supertype);
|
|
1785
2178
|
}
|
|
1786
|
-
case DynamicView:
|
|
1787
|
-
case ElementView: {
|
|
1788
|
-
return this.isSubtype(LikeC4View, supertype);
|
|
1789
|
-
}
|
|
1790
2179
|
case DynamicViewGlobalPredicateRef:
|
|
1791
2180
|
case DynamicViewIncludePredicate: {
|
|
1792
2181
|
return this.isSubtype(DynamicViewRule, supertype);
|
|
1793
2182
|
}
|
|
2183
|
+
case Element: {
|
|
2184
|
+
return this.isSubtype(FqnReferenceable, supertype) || this.isSubtype(Referenceable, supertype);
|
|
2185
|
+
}
|
|
1794
2186
|
case ElementDescedantsExpression:
|
|
1795
2187
|
case ElementKindExpression:
|
|
1796
2188
|
case ElementRef:
|
|
1797
2189
|
case ElementTagExpression:
|
|
1798
|
-
case ExpandElementExpression:
|
|
1799
|
-
case WildcardExpression: {
|
|
2190
|
+
case ExpandElementExpression: {
|
|
1800
2191
|
return this.isSubtype(ElementExpression, supertype);
|
|
1801
2192
|
}
|
|
1802
2193
|
case ElementExpression:
|
|
@@ -1821,6 +2212,17 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1821
2212
|
case IncludePredicate: {
|
|
1822
2213
|
return this.isSubtype(ViewRulePredicate, supertype);
|
|
1823
2214
|
}
|
|
2215
|
+
case ExtendElement:
|
|
2216
|
+
case Referenceable: {
|
|
2217
|
+
return this.isSubtype(FqnReferenceable, supertype);
|
|
2218
|
+
}
|
|
2219
|
+
case FqnExpr:
|
|
2220
|
+
case RelationExpr: {
|
|
2221
|
+
return this.isSubtype(ExpressionV2, supertype);
|
|
2222
|
+
}
|
|
2223
|
+
case FqnRefExpr: {
|
|
2224
|
+
return this.isSubtype(FqnExpr, supertype);
|
|
2225
|
+
}
|
|
1824
2226
|
case IconProperty: {
|
|
1825
2227
|
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StyleProperty, supertype);
|
|
1826
2228
|
}
|
|
@@ -1855,9 +2257,8 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1855
2257
|
case RelationStringProperty: {
|
|
1856
2258
|
return this.isSubtype(RelationProperty, supertype) || this.isSubtype(StringProperty, supertype);
|
|
1857
2259
|
}
|
|
1858
|
-
case ViewRuleAutoLayout:
|
|
1859
|
-
|
|
1860
|
-
return this.isSubtype(DynamicViewRule, supertype) || this.isSubtype(ViewRule, supertype);
|
|
2260
|
+
case ViewRuleAutoLayout: {
|
|
2261
|
+
return this.isSubtype(DeploymentViewRule, supertype) || this.isSubtype(DynamicViewRule, supertype) || this.isSubtype(ViewRule, supertype);
|
|
1861
2262
|
}
|
|
1862
2263
|
case ViewRuleGlobalPredicateRef:
|
|
1863
2264
|
case ViewRuleGroup:
|
|
@@ -1868,6 +2269,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1868
2269
|
case ViewRuleStyle: {
|
|
1869
2270
|
return this.isSubtype(ViewRuleStyleOrGlobalRef, supertype);
|
|
1870
2271
|
}
|
|
2272
|
+
case ViewRuleStyleOrGlobalRef: {
|
|
2273
|
+
return this.isSubtype(DynamicViewRule, supertype) || this.isSubtype(ViewRule, supertype);
|
|
2274
|
+
}
|
|
1871
2275
|
case ViewStringProperty: {
|
|
1872
2276
|
return this.isSubtype(StringProperty, supertype) || this.isSubtype(ViewProperty, supertype);
|
|
1873
2277
|
}
|
|
@@ -1898,6 +2302,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1898
2302
|
case WhereRelationTag: {
|
|
1899
2303
|
return this.isSubtype(WhereRelation, supertype) || this.isSubtype(WhereTagEqual, supertype);
|
|
1900
2304
|
}
|
|
2305
|
+
case WildcardExpression: {
|
|
2306
|
+
return this.isSubtype(ElementExpression, supertype) || this.isSubtype(FqnExpr, supertype);
|
|
2307
|
+
}
|
|
1901
2308
|
default: {
|
|
1902
2309
|
return false;
|
|
1903
2310
|
}
|
|
@@ -1910,18 +2317,23 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1910
2317
|
case 'ColorProperty:customColor': {
|
|
1911
2318
|
return CustomColor;
|
|
1912
2319
|
}
|
|
1913
|
-
case '
|
|
1914
|
-
return
|
|
1915
|
-
}
|
|
1916
|
-
case 'DynamicViewRef:view': {
|
|
1917
|
-
return DynamicView;
|
|
2320
|
+
case 'DeploymentNode:kind': {
|
|
2321
|
+
return DeploymentNodeKind;
|
|
1918
2322
|
}
|
|
2323
|
+
case 'DeploymentRelation:kind':
|
|
1919
2324
|
case 'DynamicViewStep:kind':
|
|
2325
|
+
case 'OutgoingRelationExpr:kind':
|
|
1920
2326
|
case 'OutgoingRelationExpression:kind':
|
|
1921
2327
|
case 'Relation:kind':
|
|
1922
2328
|
case 'WhereRelationKind:value': {
|
|
1923
2329
|
return RelationshipKind;
|
|
1924
2330
|
}
|
|
2331
|
+
case 'DynamicViewGlobalPredicateRef:predicate': {
|
|
2332
|
+
return GlobalDynamicPredicateGroup;
|
|
2333
|
+
}
|
|
2334
|
+
case 'DynamicViewRef:view': {
|
|
2335
|
+
return DynamicView;
|
|
2336
|
+
}
|
|
1925
2337
|
case 'Element:kind':
|
|
1926
2338
|
case 'ElementKindExpression:kind':
|
|
1927
2339
|
case 'WhereElementKind:value': {
|
|
@@ -1940,6 +2352,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1940
2352
|
case 'ElementViewRef:view': {
|
|
1941
2353
|
return ElementView;
|
|
1942
2354
|
}
|
|
2355
|
+
case 'FqnRef:value': {
|
|
2356
|
+
return Referenceable;
|
|
2357
|
+
}
|
|
1943
2358
|
case 'IconProperty:libicon': {
|
|
1944
2359
|
return LibIcon;
|
|
1945
2360
|
}
|
|
@@ -2012,6 +2427,133 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2012
2427
|
]
|
|
2013
2428
|
};
|
|
2014
2429
|
}
|
|
2430
|
+
case DeployedInstance: {
|
|
2431
|
+
return {
|
|
2432
|
+
name: DeployedInstance,
|
|
2433
|
+
properties: [
|
|
2434
|
+
{ name: 'body' },
|
|
2435
|
+
{ name: 'element' },
|
|
2436
|
+
{ name: 'name' },
|
|
2437
|
+
{ name: 'title' }
|
|
2438
|
+
]
|
|
2439
|
+
};
|
|
2440
|
+
}
|
|
2441
|
+
case DeployedInstanceBody: {
|
|
2442
|
+
return {
|
|
2443
|
+
name: DeployedInstanceBody,
|
|
2444
|
+
properties: [
|
|
2445
|
+
{ name: 'props', defaultValue: [] },
|
|
2446
|
+
{ name: 'tags' }
|
|
2447
|
+
]
|
|
2448
|
+
};
|
|
2449
|
+
}
|
|
2450
|
+
case DeploymentNode: {
|
|
2451
|
+
return {
|
|
2452
|
+
name: DeploymentNode,
|
|
2453
|
+
properties: [
|
|
2454
|
+
{ name: 'body' },
|
|
2455
|
+
{ name: 'kind' },
|
|
2456
|
+
{ name: 'name' },
|
|
2457
|
+
{ name: 'title' }
|
|
2458
|
+
]
|
|
2459
|
+
};
|
|
2460
|
+
}
|
|
2461
|
+
case DeploymentNodeBody: {
|
|
2462
|
+
return {
|
|
2463
|
+
name: DeploymentNodeBody,
|
|
2464
|
+
properties: [
|
|
2465
|
+
{ name: 'elements', defaultValue: [] },
|
|
2466
|
+
{ name: 'props', defaultValue: [] },
|
|
2467
|
+
{ name: 'tags' }
|
|
2468
|
+
]
|
|
2469
|
+
};
|
|
2470
|
+
}
|
|
2471
|
+
case DeploymentNodeKind: {
|
|
2472
|
+
return {
|
|
2473
|
+
name: DeploymentNodeKind,
|
|
2474
|
+
properties: [
|
|
2475
|
+
{ name: 'name' }
|
|
2476
|
+
]
|
|
2477
|
+
};
|
|
2478
|
+
}
|
|
2479
|
+
case DeploymentRelation: {
|
|
2480
|
+
return {
|
|
2481
|
+
name: DeploymentRelation,
|
|
2482
|
+
properties: [
|
|
2483
|
+
{ name: 'body' },
|
|
2484
|
+
{ name: 'kind' },
|
|
2485
|
+
{ name: 'source' },
|
|
2486
|
+
{ name: 'tags' },
|
|
2487
|
+
{ name: 'target' },
|
|
2488
|
+
{ name: 'technology' },
|
|
2489
|
+
{ name: 'title' }
|
|
2490
|
+
]
|
|
2491
|
+
};
|
|
2492
|
+
}
|
|
2493
|
+
case DeploymentRelationBody: {
|
|
2494
|
+
return {
|
|
2495
|
+
name: DeploymentRelationBody,
|
|
2496
|
+
properties: [
|
|
2497
|
+
{ name: 'props', defaultValue: [] },
|
|
2498
|
+
{ name: 'tags' }
|
|
2499
|
+
]
|
|
2500
|
+
};
|
|
2501
|
+
}
|
|
2502
|
+
case DeploymentView: {
|
|
2503
|
+
return {
|
|
2504
|
+
name: DeploymentView,
|
|
2505
|
+
properties: [
|
|
2506
|
+
{ name: 'body' },
|
|
2507
|
+
{ name: 'name' }
|
|
2508
|
+
]
|
|
2509
|
+
};
|
|
2510
|
+
}
|
|
2511
|
+
case DeploymentViewBody: {
|
|
2512
|
+
return {
|
|
2513
|
+
name: DeploymentViewBody,
|
|
2514
|
+
properties: [
|
|
2515
|
+
{ name: 'props', defaultValue: [] },
|
|
2516
|
+
{ name: 'rules', defaultValue: [] },
|
|
2517
|
+
{ name: 'tags' }
|
|
2518
|
+
]
|
|
2519
|
+
};
|
|
2520
|
+
}
|
|
2521
|
+
case DeploymentViewRulePredicate: {
|
|
2522
|
+
return {
|
|
2523
|
+
name: DeploymentViewRulePredicate,
|
|
2524
|
+
properties: [
|
|
2525
|
+
{ name: 'expr' },
|
|
2526
|
+
{ name: 'isInclude', defaultValue: false }
|
|
2527
|
+
]
|
|
2528
|
+
};
|
|
2529
|
+
}
|
|
2530
|
+
case DeploymentViewRulePredicateExpression: {
|
|
2531
|
+
return {
|
|
2532
|
+
name: DeploymentViewRulePredicateExpression,
|
|
2533
|
+
properties: [
|
|
2534
|
+
{ name: 'prev' },
|
|
2535
|
+
{ name: 'value' }
|
|
2536
|
+
]
|
|
2537
|
+
};
|
|
2538
|
+
}
|
|
2539
|
+
case DeploymentViewRuleStyle: {
|
|
2540
|
+
return {
|
|
2541
|
+
name: DeploymentViewRuleStyle,
|
|
2542
|
+
properties: [
|
|
2543
|
+
{ name: 'props', defaultValue: [] },
|
|
2544
|
+
{ name: 'targets' }
|
|
2545
|
+
]
|
|
2546
|
+
};
|
|
2547
|
+
}
|
|
2548
|
+
case DirectedRelationExpr: {
|
|
2549
|
+
return {
|
|
2550
|
+
name: DirectedRelationExpr,
|
|
2551
|
+
properties: [
|
|
2552
|
+
{ name: 'source' },
|
|
2553
|
+
{ name: 'target' }
|
|
2554
|
+
]
|
|
2555
|
+
};
|
|
2556
|
+
}
|
|
2015
2557
|
case DirectedRelationExpression: {
|
|
2016
2558
|
return {
|
|
2017
2559
|
name: DirectedRelationExpression,
|
|
@@ -2120,7 +2662,8 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2120
2662
|
return {
|
|
2121
2663
|
name: ElementDescedantsExpression,
|
|
2122
2664
|
properties: [
|
|
2123
|
-
{ name: 'parent' }
|
|
2665
|
+
{ name: 'parent' },
|
|
2666
|
+
{ name: 'suffix' }
|
|
2124
2667
|
]
|
|
2125
2668
|
};
|
|
2126
2669
|
}
|
|
@@ -2275,6 +2818,33 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2275
2818
|
]
|
|
2276
2819
|
};
|
|
2277
2820
|
}
|
|
2821
|
+
case FqnExpressions: {
|
|
2822
|
+
return {
|
|
2823
|
+
name: FqnExpressions,
|
|
2824
|
+
properties: [
|
|
2825
|
+
{ name: 'prev' },
|
|
2826
|
+
{ name: 'value' }
|
|
2827
|
+
]
|
|
2828
|
+
};
|
|
2829
|
+
}
|
|
2830
|
+
case FqnRef: {
|
|
2831
|
+
return {
|
|
2832
|
+
name: FqnRef,
|
|
2833
|
+
properties: [
|
|
2834
|
+
{ name: 'parent' },
|
|
2835
|
+
{ name: 'value' }
|
|
2836
|
+
]
|
|
2837
|
+
};
|
|
2838
|
+
}
|
|
2839
|
+
case FqnRefExpr: {
|
|
2840
|
+
return {
|
|
2841
|
+
name: FqnRefExpr,
|
|
2842
|
+
properties: [
|
|
2843
|
+
{ name: 'ref' },
|
|
2844
|
+
{ name: 'selector' }
|
|
2845
|
+
]
|
|
2846
|
+
};
|
|
2847
|
+
}
|
|
2278
2848
|
case GlobalDynamicPredicateGroup: {
|
|
2279
2849
|
return {
|
|
2280
2850
|
name: GlobalDynamicPredicateGroup,
|
|
@@ -2348,6 +2918,14 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2348
2918
|
]
|
|
2349
2919
|
};
|
|
2350
2920
|
}
|
|
2921
|
+
case IncomingRelationExpr: {
|
|
2922
|
+
return {
|
|
2923
|
+
name: IncomingRelationExpr,
|
|
2924
|
+
properties: [
|
|
2925
|
+
{ name: 'to' }
|
|
2926
|
+
]
|
|
2927
|
+
};
|
|
2928
|
+
}
|
|
2351
2929
|
case IncomingRelationExpression: {
|
|
2352
2930
|
return {
|
|
2353
2931
|
name: IncomingRelationExpression,
|
|
@@ -2356,6 +2934,14 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2356
2934
|
]
|
|
2357
2935
|
};
|
|
2358
2936
|
}
|
|
2937
|
+
case InOutRelationExpr: {
|
|
2938
|
+
return {
|
|
2939
|
+
name: InOutRelationExpr,
|
|
2940
|
+
properties: [
|
|
2941
|
+
{ name: 'inout' }
|
|
2942
|
+
]
|
|
2943
|
+
};
|
|
2944
|
+
}
|
|
2359
2945
|
case InOutRelationExpression: {
|
|
2360
2946
|
return {
|
|
2361
2947
|
name: InOutRelationExpression,
|
|
@@ -2376,6 +2962,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2376
2962
|
return {
|
|
2377
2963
|
name: LikeC4Grammar,
|
|
2378
2964
|
properties: [
|
|
2965
|
+
{ name: 'deployments', defaultValue: [] },
|
|
2379
2966
|
{ name: 'globals', defaultValue: [] },
|
|
2380
2967
|
{ name: 'likec4lib', defaultValue: [] },
|
|
2381
2968
|
{ name: 'models', defaultValue: [] },
|
|
@@ -2437,6 +3024,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2437
3024
|
]
|
|
2438
3025
|
};
|
|
2439
3026
|
}
|
|
3027
|
+
case ModelDeployments: {
|
|
3028
|
+
return {
|
|
3029
|
+
name: ModelDeployments,
|
|
3030
|
+
properties: [
|
|
3031
|
+
{ name: 'elements', defaultValue: [] },
|
|
3032
|
+
{ name: 'name' }
|
|
3033
|
+
]
|
|
3034
|
+
};
|
|
3035
|
+
}
|
|
2440
3036
|
case ModelViews: {
|
|
2441
3037
|
return {
|
|
2442
3038
|
name: ModelViews,
|
|
@@ -2483,6 +3079,16 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2483
3079
|
]
|
|
2484
3080
|
};
|
|
2485
3081
|
}
|
|
3082
|
+
case OutgoingRelationExpr: {
|
|
3083
|
+
return {
|
|
3084
|
+
name: OutgoingRelationExpr,
|
|
3085
|
+
properties: [
|
|
3086
|
+
{ name: 'from' },
|
|
3087
|
+
{ name: 'isBidirectional', defaultValue: false },
|
|
3088
|
+
{ name: 'kind' }
|
|
3089
|
+
]
|
|
3090
|
+
};
|
|
3091
|
+
}
|
|
2486
3092
|
case OutgoingRelationExpression: {
|
|
2487
3093
|
return {
|
|
2488
3094
|
name: OutgoingRelationExpression,
|
|
@@ -2596,6 +3202,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2596
3202
|
]
|
|
2597
3203
|
};
|
|
2598
3204
|
}
|
|
3205
|
+
case SpecificationDeploymentNodeKind: {
|
|
3206
|
+
return {
|
|
3207
|
+
name: SpecificationDeploymentNodeKind,
|
|
3208
|
+
properties: [
|
|
3209
|
+
{ name: 'kind' },
|
|
3210
|
+
{ name: 'props', defaultValue: [] }
|
|
3211
|
+
]
|
|
3212
|
+
};
|
|
3213
|
+
}
|
|
2599
3214
|
case SpecificationElementKind: {
|
|
2600
3215
|
return {
|
|
2601
3216
|
name: SpecificationElementKind,
|
|
@@ -2637,6 +3252,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2637
3252
|
name: SpecificationRule,
|
|
2638
3253
|
properties: [
|
|
2639
3254
|
{ name: 'colors', defaultValue: [] },
|
|
3255
|
+
{ name: 'deploymentNodes', defaultValue: [] },
|
|
2640
3256
|
{ name: 'elements', defaultValue: [] },
|
|
2641
3257
|
{ name: 'name' },
|
|
2642
3258
|
{ name: 'relationships', defaultValue: [] },
|