@likec4/language-server 1.20.3 → 1.21.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.
- package/README.md +1 -1
- package/dist/ast.d.ts +16 -0
- package/dist/ast.js +42 -10
- package/dist/bundled.mjs +2641 -2876
- package/dist/formatting/LikeC4Formatter.js +6 -3
- package/dist/generated/ast.d.ts +76 -24
- package/dist/generated/ast.js +103 -25
- package/dist/generated/grammar.js +1 -1
- package/dist/generated-lib/icons.js +1 -0
- package/dist/lsp/CompletionProvider.js +2 -1
- package/dist/lsp/SemanticTokenProvider.js +50 -2
- package/dist/model/model-builder.js +57 -3
- package/dist/model/model-parser.d.ts +6 -0
- package/dist/model/model-parser.js +1 -0
- package/dist/model/parser/Base.js +11 -5
- package/dist/model/parser/DeploymentModelParser.d.ts +1 -0
- package/dist/model/parser/DeploymentViewParser.d.ts +1 -0
- package/dist/model/parser/DeploymentViewParser.js +3 -0
- package/dist/model/parser/FqnRefParser.d.ts +1 -0
- package/dist/model/parser/FqnRefParser.js +10 -0
- package/dist/model/parser/GlobalsParser.d.ts +1 -0
- package/dist/model/parser/ModelParser.d.ts +2 -1
- package/dist/model/parser/ModelParser.js +26 -1
- package/dist/model/parser/PredicatesParser.js +19 -1
- package/dist/model/parser/ViewsParser.d.ts +1 -0
- package/dist/references/scope-provider.d.ts +1 -1
- package/dist/references/scope-provider.js +1 -1
- package/dist/test/testServices.d.ts +1 -0
- package/dist/test/testServices.js +8 -0
- package/dist/utils/elementRef.d.ts +3 -3
- package/dist/validation/index.d.ts +1 -1
- package/package.json +13 -15
- package/src/ast.ts +55 -9
- package/src/formatting/LikeC4Formatter.ts +7 -1
- package/src/generated/ast.ts +200 -49
- package/src/generated/grammar.ts +1 -1
- package/src/generated-lib/icons.ts +1 -0
- package/src/like-c4.langium +45 -7
- package/src/lsp/CompletionProvider.ts +1 -0
- package/src/lsp/SemanticTokenProvider.ts +56 -1
- package/src/model/model-builder.ts +65 -6
- package/src/model/model-parser.ts +1 -0
- package/src/model/parser/Base.ts +11 -5
- package/src/model/parser/DeploymentViewParser.ts +3 -0
- package/src/model/parser/FqnRefParser.ts +11 -0
- package/src/model/parser/ModelParser.ts +30 -1
- package/src/model/parser/PredicatesParser.ts +19 -1
- package/src/references/scope-provider.ts +9 -9
- package/src/test/testServices.ts +18 -9
- package/src/utils/elementRef.ts +3 -3
|
@@ -126,7 +126,7 @@ export class LikeC4Formatter extends AbstractFormatter {
|
|
|
126
126
|
this.on(node, ast.isDeploymentView)?.keywords("deployment", "view").append(FormattingOptions.oneSpace);
|
|
127
127
|
}
|
|
128
128
|
formatLeafProperty(node) {
|
|
129
|
-
if (ast.isElementStringProperty(node) || ast.isRelationStringProperty(node) || ast.isViewStringProperty(node) || ast.isNotationProperty(node) || ast.isSpecificationElementStringProperty(node) || ast.isSpecificationRelationshipStringProperty(node) || ast.isColorProperty(node) || ast.isLineProperty(node) || ast.isArrowProperty(node) || ast.isIconProperty(node) || ast.isShapeProperty(node) || ast.isBorderProperty(node) || ast.isOpacityProperty(node) || ast.isMultipleProperty(node)) {
|
|
129
|
+
if (ast.isElementStringProperty(node) || ast.isRelationStringProperty(node) || ast.isViewStringProperty(node) || ast.isNotationProperty(node) || ast.isSpecificationElementStringProperty(node) || ast.isSpecificationRelationshipStringProperty(node) || ast.isColorProperty(node) || ast.isLineProperty(node) || ast.isArrowProperty(node) || ast.isIconProperty(node) || ast.isShapeProperty(node) || ast.isBorderProperty(node) || ast.isOpacityProperty(node) || ast.isMultipleProperty(node) || ast.isShapeSizeProperty(node) || ast.isPaddingSizeProperty(node) || ast.isTextSizeProperty(node)) {
|
|
130
130
|
const formatter = this.getNodeFormatter(node);
|
|
131
131
|
const colon = formatter.keyword(":");
|
|
132
132
|
const propertyName = formatter.keywords(
|
|
@@ -142,7 +142,10 @@ export class LikeC4Formatter extends AbstractFormatter {
|
|
|
142
142
|
"shape",
|
|
143
143
|
"border",
|
|
144
144
|
"opacity",
|
|
145
|
-
"multiple"
|
|
145
|
+
"multiple",
|
|
146
|
+
"size",
|
|
147
|
+
"padding",
|
|
148
|
+
"textSize"
|
|
146
149
|
);
|
|
147
150
|
if (colon.nodes.length === 0) {
|
|
148
151
|
propertyName.append(FormattingOptions.oneSpace);
|
|
@@ -278,7 +281,7 @@ export class LikeC4Formatter extends AbstractFormatter {
|
|
|
278
281
|
}
|
|
279
282
|
}
|
|
280
283
|
formatWhereExpressionV2(node) {
|
|
281
|
-
if (ast.isRelationPredicateOrWhereV2(node)) {
|
|
284
|
+
if (ast.isRelationPredicateOrWhereV2(node) || ast.isElementPredicateOrWhereV2(node)) {
|
|
282
285
|
const formatter = this.getNodeFormatter(node);
|
|
283
286
|
formatter.keyword("where").append(FormattingOptions.oneSpace);
|
|
284
287
|
}
|
package/dist/generated/ast.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare const LikeC4Terminals: {
|
|
|
26
26
|
Hex: RegExp;
|
|
27
27
|
};
|
|
28
28
|
export type LikeC4TerminalNames = keyof typeof LikeC4Terminals;
|
|
29
|
-
export type LikeC4KeywordNames = "(" | ")" | "*" | "," | "->" | "-[" | ":" | ";" | "<-" | "<->" | "BottomTop" | "LeftRight" | "RightLeft" | "TopBottom" | "]->" | "amber" | "and" | "autoLayout" | "blue" | "border" | "browser" | "color" | "crow" | "cylinder" | "dashed" | "deployment" | "deploymentNode" | "description" | "diamond" | "dot" | "dotted" | "dynamic" | "dynamicPredicateGroup" | "element" | "element.kind" | "element.tag" | "exclude" | "extend" | "extends" | "false" | "global" | "gray" | "green" | "group" | "head" | "icon" | "icons" | "include" | "indigo" | "instance" | "instanceOf" | "is" | "kind" | "likec4lib" | "line" | "link" | "metadata" | "mobile" | "model" | "multiple" | "muted" | "navigateTo" | "node" | "none" | "normal" | "not" | "notation" | "notes" | "odiamond" | "odot" | "of" | "onormal" | "opacity" | "open" | "or" | "par" | "parallel" | "person" | "predicate" | "predicateGroup" | "primary" | "queue" | "rectangle" | "red" | "relationship" | "secondary" | "shape" | "sky" | "slate" | "solid" | "source" | "specification" | "storage" | "style" | "styleGroup" | "tag" | "tail" | "target" | "technology" | "title" | "true" | "vee" | "view" | "views" | "where" | "with" | "{" | "}";
|
|
29
|
+
export type LikeC4KeywordNames = "(" | ")" | "*" | "," | "->" | "-[" | ":" | ";" | "<-" | "<->" | "BottomTop" | "LeftRight" | "RightLeft" | "TopBottom" | "]->" | "amber" | "and" | "autoLayout" | "blue" | "border" | "browser" | "color" | "crow" | "cylinder" | "dashed" | "deployment" | "deploymentNode" | "description" | "diamond" | "dot" | "dotted" | "dynamic" | "dynamicPredicateGroup" | "element" | "element.kind" | "element.tag" | "exclude" | "extend" | "extends" | "false" | "global" | "gray" | "green" | "group" | "head" | "icon" | "icons" | "include" | "indigo" | "instance" | "instanceOf" | "is" | "kind" | "large" | "lg" | "likec4lib" | "line" | "link" | "md" | "medium" | "metadata" | "mobile" | "model" | "multiple" | "muted" | "navigateTo" | "node" | "none" | "normal" | "not" | "notation" | "notes" | "odiamond" | "odot" | "of" | "onormal" | "opacity" | "open" | "or" | "padding" | "par" | "parallel" | "person" | "predicate" | "predicateGroup" | "primary" | "queue" | "rectangle" | "red" | "relationship" | "secondary" | "shape" | "size" | "sky" | "slate" | "sm" | "small" | "solid" | "source" | "specification" | "storage" | "style" | "styleGroup" | "tag" | "tail" | "target" | "technology" | "textSize" | "title" | "true" | "vee" | "view" | "views" | "where" | "with" | "xl" | "xlarge" | "xs" | "xsmall" | "{" | "}";
|
|
30
30
|
export type LikeC4TokenNames = LikeC4TerminalNames | LikeC4KeywordNames;
|
|
31
31
|
export type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
|
|
32
32
|
export declare function isArrowType(item: unknown): item is ArrowType;
|
|
@@ -61,14 +61,20 @@ export declare function isElementPredicate(item: unknown): item is ElementPredic
|
|
|
61
61
|
export type ElementPredicateOrWhere = ElementExpression | ElementPredicateWhere;
|
|
62
62
|
export declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
|
|
63
63
|
export declare function isElementPredicateOrWhere(item: unknown): item is ElementPredicateOrWhere;
|
|
64
|
+
export type ElementPredicateOrWhereV2 = ElementPredicateWhereV2 | FqnExpr;
|
|
65
|
+
export declare const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
|
|
66
|
+
export declare function isElementPredicateOrWhereV2(item: unknown): item is ElementPredicateOrWhereV2;
|
|
64
67
|
export type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
|
|
65
68
|
export declare const ElementProperty = "ElementProperty";
|
|
66
69
|
export declare function isElementProperty(item: unknown): item is ElementProperty;
|
|
67
70
|
export type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
|
|
68
71
|
export declare function isElementShape(item: unknown): item is ElementShape;
|
|
69
|
-
export type ExpressionV2 =
|
|
72
|
+
export type ExpressionV2 = ElementPredicateOrWhereV2 | RelationPredicateOrWhereV2;
|
|
70
73
|
export declare const ExpressionV2 = "ExpressionV2";
|
|
71
74
|
export declare function isExpressionV2(item: unknown): item is ExpressionV2;
|
|
75
|
+
export type ExtendElementProperty = LinkProperty | MetadataProperty;
|
|
76
|
+
export declare const ExtendElementProperty = "ExtendElementProperty";
|
|
77
|
+
export declare function isExtendElementProperty(item: unknown): item is ExtendElementProperty;
|
|
72
78
|
export type FqnExpr = FqnRefExpr | WildcardExpression;
|
|
73
79
|
export declare const FqnExpr = "FqnExpr";
|
|
74
80
|
export declare function isFqnExpr(item: unknown): item is FqnExpr;
|
|
@@ -77,7 +83,7 @@ export declare const FqnReferenceable = "FqnReferenceable";
|
|
|
77
83
|
export declare function isFqnReferenceable(item: unknown): item is FqnReferenceable;
|
|
78
84
|
export type IconId = string;
|
|
79
85
|
export declare function isIconId(item: unknown): item is IconId;
|
|
80
|
-
export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | ThemeColor | string;
|
|
86
|
+
export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | SizeValue | ThemeColor | string;
|
|
81
87
|
export declare function isId(item: unknown): item is Id;
|
|
82
88
|
export type LikeC4View = DeploymentView | DynamicView | ElementView;
|
|
83
89
|
export declare const LikeC4View = "LikeC4View";
|
|
@@ -116,10 +122,15 @@ export declare function isRelationProperty(item: unknown): item is RelationPrope
|
|
|
116
122
|
export type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
|
|
117
123
|
export declare const RelationshipStyleProperty = "RelationshipStyleProperty";
|
|
118
124
|
export declare function isRelationshipStyleProperty(item: unknown): item is RelationshipStyleProperty;
|
|
125
|
+
export type SizeProperty = PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty;
|
|
126
|
+
export declare const SizeProperty = "SizeProperty";
|
|
127
|
+
export declare function isSizeProperty(item: unknown): item is SizeProperty;
|
|
128
|
+
export type SizeValue = 'large' | 'lg' | 'md' | 'medium' | 'sm' | 'small' | 'xl' | 'xlarge' | 'xs' | 'xsmall';
|
|
129
|
+
export declare function isSizeValue(item: unknown): item is SizeValue;
|
|
119
130
|
export type StringProperty = ElementStringProperty | MetadataAttribute | NotationProperty | NotesProperty | RelationStringProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty;
|
|
120
131
|
export declare const StringProperty = "StringProperty";
|
|
121
132
|
export declare function isStringProperty(item: unknown): item is StringProperty;
|
|
122
|
-
export type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | ShapeProperty;
|
|
133
|
+
export type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | PaddingSizeProperty | ShapeProperty | ShapeSizeProperty | TextSizeProperty;
|
|
123
134
|
export declare const StyleProperty = "StyleProperty";
|
|
124
135
|
export declare function isStyleProperty(item: unknown): item is StyleProperty;
|
|
125
136
|
export type TagId = string;
|
|
@@ -455,6 +466,14 @@ export interface ElementPredicateWhere extends AstNode {
|
|
|
455
466
|
}
|
|
456
467
|
export declare const ElementPredicateWhere = "ElementPredicateWhere";
|
|
457
468
|
export declare function isElementPredicateWhere(item: unknown): item is ElementPredicateWhere;
|
|
469
|
+
export interface ElementPredicateWhereV2 extends AstNode {
|
|
470
|
+
readonly $container: DeploymentViewRulePredicateExpression;
|
|
471
|
+
readonly $type: 'ElementPredicateWhereV2';
|
|
472
|
+
subject: FqnExpr;
|
|
473
|
+
where?: WhereElementExpression;
|
|
474
|
+
}
|
|
475
|
+
export declare const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
|
|
476
|
+
export declare function isElementPredicateWhereV2(item: unknown): item is ElementPredicateWhereV2;
|
|
458
477
|
export interface ElementPredicateWith extends AstNode {
|
|
459
478
|
readonly $container: DynamicViewPredicateIterator | Predicates;
|
|
460
479
|
readonly $type: 'ElementPredicateWith';
|
|
@@ -539,7 +558,7 @@ export interface ExtendElement extends AstNode {
|
|
|
539
558
|
readonly $container: Model;
|
|
540
559
|
readonly $type: 'ExtendElement';
|
|
541
560
|
body: ExtendElementBody;
|
|
542
|
-
element:
|
|
561
|
+
element: StrictFqnElementRef;
|
|
543
562
|
}
|
|
544
563
|
export declare const ExtendElement = "ExtendElement";
|
|
545
564
|
export declare function isExtendElement(item: unknown): item is ExtendElement;
|
|
@@ -547,17 +566,11 @@ export interface ExtendElementBody extends AstNode {
|
|
|
547
566
|
readonly $container: ExtendElement;
|
|
548
567
|
readonly $type: 'ExtendElementBody';
|
|
549
568
|
elements: Array<Element | Relation>;
|
|
569
|
+
props: Array<ExtendElementProperty>;
|
|
570
|
+
tags?: Tags;
|
|
550
571
|
}
|
|
551
572
|
export declare const ExtendElementBody = "ExtendElementBody";
|
|
552
573
|
export declare function isExtendElementBody(item: unknown): item is ExtendElementBody;
|
|
553
|
-
export interface FqnElementRef extends AstNode {
|
|
554
|
-
readonly $container: ExtendElement | FqnElementRef;
|
|
555
|
-
readonly $type: 'FqnElementRef';
|
|
556
|
-
el: Reference<Element>;
|
|
557
|
-
parent?: FqnElementRef;
|
|
558
|
-
}
|
|
559
|
-
export declare const FqnElementRef = "FqnElementRef";
|
|
560
|
-
export declare function isFqnElementRef(item: unknown): item is FqnElementRef;
|
|
561
574
|
export interface FqnExpressions extends AstNode {
|
|
562
575
|
readonly $container: DeploymentViewRuleStyle | FqnExpressions;
|
|
563
576
|
readonly $type: 'FqnExpressions';
|
|
@@ -575,7 +588,7 @@ export interface FqnRef extends AstNode {
|
|
|
575
588
|
export declare const FqnRef = "FqnRef";
|
|
576
589
|
export declare function isFqnRef(item: unknown): item is FqnRef;
|
|
577
590
|
export interface FqnRefExpr extends AstNode {
|
|
578
|
-
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
|
|
591
|
+
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | ElementPredicateWhereV2 | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
|
|
579
592
|
readonly $type: 'FqnRefExpr';
|
|
580
593
|
ref: FqnRef;
|
|
581
594
|
selector?: string;
|
|
@@ -709,7 +722,7 @@ export interface LineProperty extends AstNode {
|
|
|
709
722
|
export declare const LineProperty = "LineProperty";
|
|
710
723
|
export declare function isLineProperty(item: unknown): item is LineProperty;
|
|
711
724
|
export interface LinkProperty extends AstNode {
|
|
712
|
-
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | RelationBody;
|
|
725
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | RelationBody;
|
|
713
726
|
readonly $type: 'LinkProperty';
|
|
714
727
|
key: 'link';
|
|
715
728
|
title?: string;
|
|
@@ -726,7 +739,7 @@ export interface MetadataAttribute extends AstNode {
|
|
|
726
739
|
export declare const MetadataAttribute = "MetadataAttribute";
|
|
727
740
|
export declare function isMetadataAttribute(item: unknown): item is MetadataAttribute;
|
|
728
741
|
export interface MetadataBody extends AstNode {
|
|
729
|
-
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | RelationBody;
|
|
742
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | ExtendElementBody | RelationBody;
|
|
730
743
|
readonly $type: 'MetadataBody';
|
|
731
744
|
props: Array<MetadataAttribute>;
|
|
732
745
|
}
|
|
@@ -815,6 +828,14 @@ export interface OutgoingRelationExpression extends AstNode {
|
|
|
815
828
|
}
|
|
816
829
|
export declare const OutgoingRelationExpression = "OutgoingRelationExpression";
|
|
817
830
|
export declare function isOutgoingRelationExpression(item: unknown): item is OutgoingRelationExpression;
|
|
831
|
+
export interface PaddingSizeProperty extends AstNode {
|
|
832
|
+
readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
833
|
+
readonly $type: 'PaddingSizeProperty';
|
|
834
|
+
key: 'padding';
|
|
835
|
+
value: SizeValue;
|
|
836
|
+
}
|
|
837
|
+
export declare const PaddingSizeProperty = "PaddingSizeProperty";
|
|
838
|
+
export declare function isPaddingSizeProperty(item: unknown): item is PaddingSizeProperty;
|
|
818
839
|
export interface Predicates extends AstNode {
|
|
819
840
|
readonly $container: ExcludePredicate | IncludePredicate | Predicates;
|
|
820
841
|
readonly $type: 'Predicates';
|
|
@@ -907,6 +928,14 @@ export interface ShapeProperty extends AstNode {
|
|
|
907
928
|
}
|
|
908
929
|
export declare const ShapeProperty = "ShapeProperty";
|
|
909
930
|
export declare function isShapeProperty(item: unknown): item is ShapeProperty;
|
|
931
|
+
export interface ShapeSizeProperty extends AstNode {
|
|
932
|
+
readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
933
|
+
readonly $type: 'ShapeSizeProperty';
|
|
934
|
+
key: 'size';
|
|
935
|
+
value: SizeValue;
|
|
936
|
+
}
|
|
937
|
+
export declare const ShapeSizeProperty = "ShapeSizeProperty";
|
|
938
|
+
export declare function isShapeSizeProperty(item: unknown): item is ShapeSizeProperty;
|
|
910
939
|
export interface SpecificationColor extends AstNode {
|
|
911
940
|
readonly $container: SpecificationRule;
|
|
912
941
|
readonly $type: 'SpecificationColor';
|
|
@@ -974,6 +1003,14 @@ export interface SpecificationTag extends AstNode {
|
|
|
974
1003
|
}
|
|
975
1004
|
export declare const SpecificationTag = "SpecificationTag";
|
|
976
1005
|
export declare function isSpecificationTag(item: unknown): item is SpecificationTag;
|
|
1006
|
+
export interface StrictFqnElementRef extends AstNode {
|
|
1007
|
+
readonly $container: ExtendElement | StrictFqnElementRef;
|
|
1008
|
+
readonly $type: 'StrictFqnElementRef';
|
|
1009
|
+
el: Reference<Element>;
|
|
1010
|
+
parent?: StrictFqnElementRef;
|
|
1011
|
+
}
|
|
1012
|
+
export declare const StrictFqnElementRef = "StrictFqnElementRef";
|
|
1013
|
+
export declare function isStrictFqnElementRef(item: unknown): item is StrictFqnElementRef;
|
|
977
1014
|
export interface Tag extends AstNode {
|
|
978
1015
|
readonly $container: SpecificationTag;
|
|
979
1016
|
readonly $type: 'Tag';
|
|
@@ -982,13 +1019,21 @@ export interface Tag extends AstNode {
|
|
|
982
1019
|
export declare const Tag = "Tag";
|
|
983
1020
|
export declare function isTag(item: unknown): item is Tag;
|
|
984
1021
|
export interface Tags extends AstNode {
|
|
985
|
-
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | Relation | RelationBody | Tags;
|
|
1022
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | Relation | RelationBody | Tags;
|
|
986
1023
|
readonly $type: 'Tags';
|
|
987
1024
|
prev?: Tags;
|
|
988
1025
|
values: Array<Reference<Tag>>;
|
|
989
1026
|
}
|
|
990
1027
|
export declare const Tags = "Tags";
|
|
991
1028
|
export declare function isTags(item: unknown): item is Tags;
|
|
1029
|
+
export interface TextSizeProperty extends AstNode {
|
|
1030
|
+
readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
|
|
1031
|
+
readonly $type: 'TextSizeProperty';
|
|
1032
|
+
key: 'textSize';
|
|
1033
|
+
value: SizeValue;
|
|
1034
|
+
}
|
|
1035
|
+
export declare const TextSizeProperty = "TextSizeProperty";
|
|
1036
|
+
export declare function isTextSizeProperty(item: unknown): item is TextSizeProperty;
|
|
992
1037
|
export interface ViewRef extends AstNode {
|
|
993
1038
|
readonly $container: NavigateToProperty;
|
|
994
1039
|
readonly $type: 'ViewRef';
|
|
@@ -1045,7 +1090,7 @@ export interface ViewStringProperty extends AstNode {
|
|
|
1045
1090
|
export declare const ViewStringProperty = "ViewStringProperty";
|
|
1046
1091
|
export declare function isViewStringProperty(item: unknown): item is ViewStringProperty;
|
|
1047
1092
|
export interface WhereBinaryExpression extends AstNode {
|
|
1048
|
-
readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
|
|
1093
|
+
readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
|
|
1049
1094
|
readonly $type: 'WhereBinaryExpression';
|
|
1050
1095
|
left: WhereElementExpression | WhereRelationExpression;
|
|
1051
1096
|
operator: 'and' | 'or';
|
|
@@ -1054,23 +1099,23 @@ export interface WhereBinaryExpression extends AstNode {
|
|
|
1054
1099
|
export declare const WhereBinaryExpression = "WhereBinaryExpression";
|
|
1055
1100
|
export declare function isWhereBinaryExpression(item: unknown): item is WhereBinaryExpression;
|
|
1056
1101
|
export interface WhereElementKind extends AstNode {
|
|
1057
|
-
readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
|
|
1102
|
+
readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
|
|
1058
1103
|
readonly $type: 'WhereElementKind';
|
|
1059
1104
|
not: boolean;
|
|
1060
1105
|
operator: 'is' | string;
|
|
1061
|
-
value?: Reference<
|
|
1106
|
+
value?: Reference<DeploymentNodeOrElementKind>;
|
|
1062
1107
|
}
|
|
1063
1108
|
export declare const WhereElementKind = "WhereElementKind";
|
|
1064
1109
|
export declare function isWhereElementKind(item: unknown): item is WhereElementKind;
|
|
1065
1110
|
export interface WhereElementNegation extends AstNode {
|
|
1066
|
-
readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
|
|
1111
|
+
readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
|
|
1067
1112
|
readonly $type: 'WhereElementNegation';
|
|
1068
1113
|
value: WhereElementExpression;
|
|
1069
1114
|
}
|
|
1070
1115
|
export declare const WhereElementNegation = "WhereElementNegation";
|
|
1071
1116
|
export declare function isWhereElementNegation(item: unknown): item is WhereElementNegation;
|
|
1072
1117
|
export interface WhereElementTag extends AstNode {
|
|
1073
|
-
readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
|
|
1118
|
+
readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
|
|
1074
1119
|
readonly $type: 'WhereElementTag';
|
|
1075
1120
|
not: boolean;
|
|
1076
1121
|
operator: 'is' | string;
|
|
@@ -1124,7 +1169,7 @@ export interface WhereRelationTag extends AstNode {
|
|
|
1124
1169
|
export declare const WhereRelationTag = "WhereRelationTag";
|
|
1125
1170
|
export declare function isWhereRelationTag(item: unknown): item is WhereRelationTag;
|
|
1126
1171
|
export interface WildcardExpression extends AstNode {
|
|
1127
|
-
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
|
|
1172
|
+
readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWhereV2 | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
|
|
1128
1173
|
readonly $type: 'WildcardExpression';
|
|
1129
1174
|
isWildcard: boolean;
|
|
1130
1175
|
}
|
|
@@ -1172,7 +1217,9 @@ export type LikeC4AstType = {
|
|
|
1172
1217
|
ElementKindExpression: ElementKindExpression;
|
|
1173
1218
|
ElementPredicate: ElementPredicate;
|
|
1174
1219
|
ElementPredicateOrWhere: ElementPredicateOrWhere;
|
|
1220
|
+
ElementPredicateOrWhereV2: ElementPredicateOrWhereV2;
|
|
1175
1221
|
ElementPredicateWhere: ElementPredicateWhere;
|
|
1222
|
+
ElementPredicateWhereV2: ElementPredicateWhereV2;
|
|
1176
1223
|
ElementPredicateWith: ElementPredicateWith;
|
|
1177
1224
|
ElementProperty: ElementProperty;
|
|
1178
1225
|
ElementRef: ElementRef;
|
|
@@ -1187,7 +1234,7 @@ export type LikeC4AstType = {
|
|
|
1187
1234
|
ExpressionV2: ExpressionV2;
|
|
1188
1235
|
ExtendElement: ExtendElement;
|
|
1189
1236
|
ExtendElementBody: ExtendElementBody;
|
|
1190
|
-
|
|
1237
|
+
ExtendElementProperty: ExtendElementProperty;
|
|
1191
1238
|
FqnExpr: FqnExpr;
|
|
1192
1239
|
FqnExpressions: FqnExpressions;
|
|
1193
1240
|
FqnRef: FqnRef;
|
|
@@ -1224,6 +1271,7 @@ export type LikeC4AstType = {
|
|
|
1224
1271
|
OpacityProperty: OpacityProperty;
|
|
1225
1272
|
OutgoingRelationExpr: OutgoingRelationExpr;
|
|
1226
1273
|
OutgoingRelationExpression: OutgoingRelationExpression;
|
|
1274
|
+
PaddingSizeProperty: PaddingSizeProperty;
|
|
1227
1275
|
Predicate: Predicate;
|
|
1228
1276
|
Predicates: Predicates;
|
|
1229
1277
|
Referenceable: Referenceable;
|
|
@@ -1244,6 +1292,8 @@ export type LikeC4AstType = {
|
|
|
1244
1292
|
RelationshipKind: RelationshipKind;
|
|
1245
1293
|
RelationshipStyleProperty: RelationshipStyleProperty;
|
|
1246
1294
|
ShapeProperty: ShapeProperty;
|
|
1295
|
+
ShapeSizeProperty: ShapeSizeProperty;
|
|
1296
|
+
SizeProperty: SizeProperty;
|
|
1247
1297
|
SpecificationColor: SpecificationColor;
|
|
1248
1298
|
SpecificationDeploymentNodeKind: SpecificationDeploymentNodeKind;
|
|
1249
1299
|
SpecificationElementKind: SpecificationElementKind;
|
|
@@ -1252,10 +1302,12 @@ export type LikeC4AstType = {
|
|
|
1252
1302
|
SpecificationRelationshipStringProperty: SpecificationRelationshipStringProperty;
|
|
1253
1303
|
SpecificationRule: SpecificationRule;
|
|
1254
1304
|
SpecificationTag: SpecificationTag;
|
|
1305
|
+
StrictFqnElementRef: StrictFqnElementRef;
|
|
1255
1306
|
StringProperty: StringProperty;
|
|
1256
1307
|
StyleProperty: StyleProperty;
|
|
1257
1308
|
Tag: Tag;
|
|
1258
1309
|
Tags: Tags;
|
|
1310
|
+
TextSizeProperty: TextSizeProperty;
|
|
1259
1311
|
ViewProperty: ViewProperty;
|
|
1260
1312
|
ViewRef: ViewRef;
|
|
1261
1313
|
ViewRule: ViewRule;
|
package/dist/generated/ast.js
CHANGED
|
@@ -66,6 +66,10 @@ export const ElementPredicateOrWhere = "ElementPredicateOrWhere";
|
|
|
66
66
|
export function isElementPredicateOrWhere(item) {
|
|
67
67
|
return reflection.isInstance(item, ElementPredicateOrWhere);
|
|
68
68
|
}
|
|
69
|
+
export const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
|
|
70
|
+
export function isElementPredicateOrWhereV2(item) {
|
|
71
|
+
return reflection.isInstance(item, ElementPredicateOrWhereV2);
|
|
72
|
+
}
|
|
69
73
|
export const ElementProperty = "ElementProperty";
|
|
70
74
|
export function isElementProperty(item) {
|
|
71
75
|
return reflection.isInstance(item, ElementProperty);
|
|
@@ -77,6 +81,10 @@ export const ExpressionV2 = "ExpressionV2";
|
|
|
77
81
|
export function isExpressionV2(item) {
|
|
78
82
|
return reflection.isInstance(item, ExpressionV2);
|
|
79
83
|
}
|
|
84
|
+
export const ExtendElementProperty = "ExtendElementProperty";
|
|
85
|
+
export function isExtendElementProperty(item) {
|
|
86
|
+
return reflection.isInstance(item, ExtendElementProperty);
|
|
87
|
+
}
|
|
80
88
|
export const FqnExpr = "FqnExpr";
|
|
81
89
|
export function isFqnExpr(item) {
|
|
82
90
|
return reflection.isInstance(item, FqnExpr);
|
|
@@ -89,7 +97,7 @@ export function isIconId(item) {
|
|
|
89
97
|
return typeof item === "string" && /(aws|azure|gcp|tech):[-\w]*/.test(item);
|
|
90
98
|
}
|
|
91
99
|
export function isId(item) {
|
|
92
|
-
return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || isParticipant(item) || item === "element" || item === "model" || item === "group" || item === "node" || item === "deployment" || item === "instance" || typeof item === "string" && /[_]*[a-zA-Z][-\w]*/.test(item);
|
|
100
|
+
return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || isParticipant(item) || isSizeValue(item) || item === "element" || item === "model" || item === "group" || item === "node" || item === "deployment" || item === "instance" || typeof item === "string" && /[_]*[a-zA-Z][-\w]*/.test(item);
|
|
93
101
|
}
|
|
94
102
|
export const LikeC4View = "LikeC4View";
|
|
95
103
|
export function isLikeC4View(item) {
|
|
@@ -141,6 +149,13 @@ export const RelationshipStyleProperty = "RelationshipStyleProperty";
|
|
|
141
149
|
export function isRelationshipStyleProperty(item) {
|
|
142
150
|
return reflection.isInstance(item, RelationshipStyleProperty);
|
|
143
151
|
}
|
|
152
|
+
export const SizeProperty = "SizeProperty";
|
|
153
|
+
export function isSizeProperty(item) {
|
|
154
|
+
return reflection.isInstance(item, SizeProperty);
|
|
155
|
+
}
|
|
156
|
+
export function isSizeValue(item) {
|
|
157
|
+
return item === "xs" || item === "sm" || item === "md" || item === "lg" || item === "xl" || item === "xsmall" || item === "small" || item === "medium" || item === "large" || item === "xlarge";
|
|
158
|
+
}
|
|
144
159
|
export const StringProperty = "StringProperty";
|
|
145
160
|
export function isStringProperty(item) {
|
|
146
161
|
return reflection.isInstance(item, StringProperty);
|
|
@@ -345,6 +360,10 @@ export const ElementPredicateWhere = "ElementPredicateWhere";
|
|
|
345
360
|
export function isElementPredicateWhere(item) {
|
|
346
361
|
return reflection.isInstance(item, ElementPredicateWhere);
|
|
347
362
|
}
|
|
363
|
+
export const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
|
|
364
|
+
export function isElementPredicateWhereV2(item) {
|
|
365
|
+
return reflection.isInstance(item, ElementPredicateWhereV2);
|
|
366
|
+
}
|
|
348
367
|
export const ElementPredicateWith = "ElementPredicateWith";
|
|
349
368
|
export function isElementPredicateWith(item) {
|
|
350
369
|
return reflection.isInstance(item, ElementPredicateWith);
|
|
@@ -393,10 +412,6 @@ export const ExtendElementBody = "ExtendElementBody";
|
|
|
393
412
|
export function isExtendElementBody(item) {
|
|
394
413
|
return reflection.isInstance(item, ExtendElementBody);
|
|
395
414
|
}
|
|
396
|
-
export const FqnElementRef = "FqnElementRef";
|
|
397
|
-
export function isFqnElementRef(item) {
|
|
398
|
-
return reflection.isInstance(item, FqnElementRef);
|
|
399
|
-
}
|
|
400
415
|
export const FqnExpressions = "FqnExpressions";
|
|
401
416
|
export function isFqnExpressions(item) {
|
|
402
417
|
return reflection.isInstance(item, FqnExpressions);
|
|
@@ -525,6 +540,10 @@ export const OutgoingRelationExpression = "OutgoingRelationExpression";
|
|
|
525
540
|
export function isOutgoingRelationExpression(item) {
|
|
526
541
|
return reflection.isInstance(item, OutgoingRelationExpression);
|
|
527
542
|
}
|
|
543
|
+
export const PaddingSizeProperty = "PaddingSizeProperty";
|
|
544
|
+
export function isPaddingSizeProperty(item) {
|
|
545
|
+
return reflection.isInstance(item, PaddingSizeProperty);
|
|
546
|
+
}
|
|
528
547
|
export const Predicates = "Predicates";
|
|
529
548
|
export function isPredicates(item) {
|
|
530
549
|
return reflection.isInstance(item, Predicates);
|
|
@@ -569,6 +588,10 @@ export const ShapeProperty = "ShapeProperty";
|
|
|
569
588
|
export function isShapeProperty(item) {
|
|
570
589
|
return reflection.isInstance(item, ShapeProperty);
|
|
571
590
|
}
|
|
591
|
+
export const ShapeSizeProperty = "ShapeSizeProperty";
|
|
592
|
+
export function isShapeSizeProperty(item) {
|
|
593
|
+
return reflection.isInstance(item, ShapeSizeProperty);
|
|
594
|
+
}
|
|
572
595
|
export const SpecificationColor = "SpecificationColor";
|
|
573
596
|
export function isSpecificationColor(item) {
|
|
574
597
|
return reflection.isInstance(item, SpecificationColor);
|
|
@@ -601,6 +624,10 @@ export const SpecificationTag = "SpecificationTag";
|
|
|
601
624
|
export function isSpecificationTag(item) {
|
|
602
625
|
return reflection.isInstance(item, SpecificationTag);
|
|
603
626
|
}
|
|
627
|
+
export const StrictFqnElementRef = "StrictFqnElementRef";
|
|
628
|
+
export function isStrictFqnElementRef(item) {
|
|
629
|
+
return reflection.isInstance(item, StrictFqnElementRef);
|
|
630
|
+
}
|
|
604
631
|
export const Tag = "Tag";
|
|
605
632
|
export function isTag(item) {
|
|
606
633
|
return reflection.isInstance(item, Tag);
|
|
@@ -609,6 +636,10 @@ export const Tags = "Tags";
|
|
|
609
636
|
export function isTags(item) {
|
|
610
637
|
return reflection.isInstance(item, Tags);
|
|
611
638
|
}
|
|
639
|
+
export const TextSizeProperty = "TextSizeProperty";
|
|
640
|
+
export function isTextSizeProperty(item) {
|
|
641
|
+
return reflection.isInstance(item, TextSizeProperty);
|
|
642
|
+
}
|
|
612
643
|
export const ViewRef = "ViewRef";
|
|
613
644
|
export function isViewRef(item) {
|
|
614
645
|
return reflection.isInstance(item, ViewRef);
|
|
@@ -679,7 +710,7 @@ export function isWildcardExpression(item) {
|
|
|
679
710
|
}
|
|
680
711
|
export class LikeC4AstReflection extends AbstractAstReflection {
|
|
681
712
|
getAllTypes() {
|
|
682
|
-
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, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendElement, ExtendElementBody,
|
|
713
|
+
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, 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, 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];
|
|
683
714
|
}
|
|
684
715
|
computeIsSubtype(subtype, supertype) {
|
|
685
716
|
switch (subtype) {
|
|
@@ -751,6 +782,14 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
751
782
|
case ElementPredicateWith: {
|
|
752
783
|
return this.isSubtype(ElementPredicate, supertype);
|
|
753
784
|
}
|
|
785
|
+
case ElementPredicateOrWhereV2:
|
|
786
|
+
case RelationPredicateOrWhereV2: {
|
|
787
|
+
return this.isSubtype(ExpressionV2, supertype);
|
|
788
|
+
}
|
|
789
|
+
case ElementPredicateWhereV2:
|
|
790
|
+
case FqnExpr: {
|
|
791
|
+
return this.isSubtype(ElementPredicateOrWhereV2, supertype);
|
|
792
|
+
}
|
|
754
793
|
case ElementStringProperty: {
|
|
755
794
|
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StringProperty, supertype);
|
|
756
795
|
}
|
|
@@ -765,10 +804,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
765
804
|
case Referenceable: {
|
|
766
805
|
return this.isSubtype(FqnReferenceable, supertype);
|
|
767
806
|
}
|
|
768
|
-
case FqnExpr:
|
|
769
|
-
case RelationPredicateOrWhereV2: {
|
|
770
|
-
return this.isSubtype(ExpressionV2, supertype);
|
|
771
|
-
}
|
|
772
807
|
case FqnRefExpr: {
|
|
773
808
|
return this.isSubtype(FqnExpr, supertype);
|
|
774
809
|
}
|
|
@@ -776,7 +811,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
776
811
|
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StyleProperty, supertype);
|
|
777
812
|
}
|
|
778
813
|
case LinkProperty: {
|
|
779
|
-
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(RelationProperty, supertype) || this.isSubtype(ViewProperty, supertype);
|
|
814
|
+
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(ExtendElementProperty, supertype) || this.isSubtype(RelationProperty, supertype) || this.isSubtype(ViewProperty, supertype);
|
|
780
815
|
}
|
|
781
816
|
case MetadataAttribute:
|
|
782
817
|
case NotationProperty:
|
|
@@ -789,7 +824,12 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
789
824
|
return this.isSubtype(MetadataProperty, supertype);
|
|
790
825
|
}
|
|
791
826
|
case MetadataProperty: {
|
|
792
|
-
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(RelationProperty, supertype);
|
|
827
|
+
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(ExtendElementProperty, supertype) || this.isSubtype(RelationProperty, supertype);
|
|
828
|
+
}
|
|
829
|
+
case PaddingSizeProperty:
|
|
830
|
+
case ShapeSizeProperty:
|
|
831
|
+
case TextSizeProperty: {
|
|
832
|
+
return this.isSubtype(SizeProperty, supertype) || this.isSubtype(StyleProperty, supertype);
|
|
793
833
|
}
|
|
794
834
|
case RelationExpr:
|
|
795
835
|
case RelationPredicateWhereV2: {
|
|
@@ -889,12 +929,11 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
889
929
|
return DynamicView;
|
|
890
930
|
}
|
|
891
931
|
case "Element:kind":
|
|
892
|
-
case "ElementKindExpression:kind":
|
|
893
|
-
case "WhereElementKind:value": {
|
|
932
|
+
case "ElementKindExpression:kind": {
|
|
894
933
|
return ElementKind;
|
|
895
934
|
}
|
|
896
935
|
case "ElementRef:el":
|
|
897
|
-
case "
|
|
936
|
+
case "StrictFqnElementRef:el": {
|
|
898
937
|
return Element;
|
|
899
938
|
}
|
|
900
939
|
case "ElementTagExpression:tag":
|
|
@@ -922,6 +961,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
922
961
|
case "ViewRuleGlobalStyle:style": {
|
|
923
962
|
return GlobalStyleId;
|
|
924
963
|
}
|
|
964
|
+
case "WhereElementKind:value":
|
|
925
965
|
case "WhereRelationParticipantKind:value": {
|
|
926
966
|
return DeploymentNodeOrElementKind;
|
|
927
967
|
}
|
|
@@ -1259,6 +1299,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1259
1299
|
]
|
|
1260
1300
|
};
|
|
1261
1301
|
}
|
|
1302
|
+
case ElementPredicateWhereV2: {
|
|
1303
|
+
return {
|
|
1304
|
+
name: ElementPredicateWhereV2,
|
|
1305
|
+
properties: [
|
|
1306
|
+
{ name: "subject" },
|
|
1307
|
+
{ name: "where" }
|
|
1308
|
+
]
|
|
1309
|
+
};
|
|
1310
|
+
}
|
|
1262
1311
|
case ElementPredicateWith: {
|
|
1263
1312
|
return {
|
|
1264
1313
|
name: ElementPredicateWith,
|
|
@@ -1362,16 +1411,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1362
1411
|
return {
|
|
1363
1412
|
name: ExtendElementBody,
|
|
1364
1413
|
properties: [
|
|
1365
|
-
{ name: "elements", defaultValue: [] }
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
}
|
|
1369
|
-
case FqnElementRef: {
|
|
1370
|
-
return {
|
|
1371
|
-
name: FqnElementRef,
|
|
1372
|
-
properties: [
|
|
1373
|
-
{ name: "el" },
|
|
1374
|
-
{ name: "parent" }
|
|
1414
|
+
{ name: "elements", defaultValue: [] },
|
|
1415
|
+
{ name: "props", defaultValue: [] },
|
|
1416
|
+
{ name: "tags" }
|
|
1375
1417
|
]
|
|
1376
1418
|
};
|
|
1377
1419
|
}
|
|
@@ -1665,6 +1707,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1665
1707
|
]
|
|
1666
1708
|
};
|
|
1667
1709
|
}
|
|
1710
|
+
case PaddingSizeProperty: {
|
|
1711
|
+
return {
|
|
1712
|
+
name: PaddingSizeProperty,
|
|
1713
|
+
properties: [
|
|
1714
|
+
{ name: "key" },
|
|
1715
|
+
{ name: "value" }
|
|
1716
|
+
]
|
|
1717
|
+
};
|
|
1718
|
+
}
|
|
1668
1719
|
case Predicates: {
|
|
1669
1720
|
return {
|
|
1670
1721
|
name: Predicates,
|
|
@@ -1768,6 +1819,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1768
1819
|
]
|
|
1769
1820
|
};
|
|
1770
1821
|
}
|
|
1822
|
+
case ShapeSizeProperty: {
|
|
1823
|
+
return {
|
|
1824
|
+
name: ShapeSizeProperty,
|
|
1825
|
+
properties: [
|
|
1826
|
+
{ name: "key" },
|
|
1827
|
+
{ name: "value" }
|
|
1828
|
+
]
|
|
1829
|
+
};
|
|
1830
|
+
}
|
|
1771
1831
|
case SpecificationColor: {
|
|
1772
1832
|
return {
|
|
1773
1833
|
name: SpecificationColor,
|
|
@@ -1843,6 +1903,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1843
1903
|
]
|
|
1844
1904
|
};
|
|
1845
1905
|
}
|
|
1906
|
+
case StrictFqnElementRef: {
|
|
1907
|
+
return {
|
|
1908
|
+
name: StrictFqnElementRef,
|
|
1909
|
+
properties: [
|
|
1910
|
+
{ name: "el" },
|
|
1911
|
+
{ name: "parent" }
|
|
1912
|
+
]
|
|
1913
|
+
};
|
|
1914
|
+
}
|
|
1846
1915
|
case Tag: {
|
|
1847
1916
|
return {
|
|
1848
1917
|
name: Tag,
|
|
@@ -1860,6 +1929,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1860
1929
|
]
|
|
1861
1930
|
};
|
|
1862
1931
|
}
|
|
1932
|
+
case TextSizeProperty: {
|
|
1933
|
+
return {
|
|
1934
|
+
name: TextSizeProperty,
|
|
1935
|
+
properties: [
|
|
1936
|
+
{ name: "key" },
|
|
1937
|
+
{ name: "value" }
|
|
1938
|
+
]
|
|
1939
|
+
};
|
|
1940
|
+
}
|
|
1863
1941
|
case ViewRef: {
|
|
1864
1942
|
return {
|
|
1865
1943
|
name: ViewRef,
|