likec4 1.20.2 → 1.21.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/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { LikeC4Model } from '@likec4/core/model';
2
- export { AnyAux, Aux, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel } from '@likec4/core/model';
3
1
  import * as c4 from '@likec4/core';
4
- import { ComputedView, OverviewGraph, DiagramView, Fqn, ViewId, invariant, ViewChange } from '@likec4/core';
2
+ import { ComputedView, DiagramView, OverviewGraph, Fqn, ViewId, invariant, ViewChange } from '@likec4/core';
5
3
  export { AbstractRelation, AutoLayoutDirection, BBox, Color, ComputedDeploymentView, ComputedDynamicView, ComputedEdge, ComputedElementView, ComputedLikeC4Model, ComputedNode, ComputedView, DeployedInstance, DeploymentElement, DeploymentNode, DeploymentNodeKind, DeploymentRelation, DeploymentView, DiagramEdge, DiagramNode, DiagramView, DynamicView, EdgeId, Element, ElementKind, ElementView, Fqn, HexColorLiteral, LayoutedLikeC4Model, LikeC4View, NodeId, ParsedLikeC4Model, Point, RelationExpr, RelationId, StepEdgeId, Tag, ThemeColor, ViewId, XYPoint } from '@likec4/core';
6
- import { Tagged, Writable, ValueOf, ConditionalPick } from 'type-fest';
4
+ import { LikeC4Model } from '@likec4/core/model';
5
+ export { AnyAux, Aux, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel } from '@likec4/core/model';
6
+ import { Tagged, ValueOf, ConditionalPick, Writable } from 'type-fest';
7
7
 
8
8
  /**
9
9
  * A tagging type for string properties that are actually document URIs.
@@ -101,7 +101,7 @@ type LSPObject = object;
101
101
  *
102
102
  * @since 3.17.0 - support for negotiated position encoding.
103
103
  */
104
- interface Position$2 {
104
+ interface Position$1 {
105
105
  /**
106
106
  * Line position in a document (zero-based).
107
107
  *
@@ -124,17 +124,17 @@ interface Position$2 {
124
124
  * The Position namespace provides helper functions to work with
125
125
  * {@link Position} literals.
126
126
  */
127
- declare namespace Position$2 {
127
+ declare namespace Position$1 {
128
128
  /**
129
129
  * Creates a new Position literal from the given line and character.
130
130
  * @param line The position's line.
131
131
  * @param character The position's character.
132
132
  */
133
- function create(line: uinteger, character: uinteger): Position$2;
133
+ function create(line: uinteger, character: uinteger): Position$1;
134
134
  /**
135
135
  * Checks whether the given literal conforms to the {@link Position} interface.
136
136
  */
137
- function is(value: any): value is Position$2;
137
+ function is(value: any): value is Position$1;
138
138
  }
139
139
  /**
140
140
  * A range in a text document expressed as (zero-based) start and end positions.
@@ -153,11 +153,11 @@ interface Range$1 {
153
153
  /**
154
154
  * The range's start position.
155
155
  */
156
- start: Position$2;
156
+ start: Position$1;
157
157
  /**
158
158
  * The range's end position.
159
159
  */
160
- end: Position$2;
160
+ end: Position$1;
161
161
  }
162
162
  /**
163
163
  * The Range namespace provides helper functions to work with
@@ -169,7 +169,7 @@ declare namespace Range$1 {
169
169
  * @param start The range's start position.
170
170
  * @param end The range's end position.
171
171
  */
172
- function create(start: Position$2, end: Position$2): Range$1;
172
+ function create(start: Position$1, end: Position$1): Range$1;
173
173
  /**
174
174
  * Create a new Range literal.
175
175
  * @param startLine The start line number.
@@ -648,7 +648,7 @@ declare namespace TextEdit$1 {
648
648
  * @param position The position to insert the text at.
649
649
  * @param newText The text to be inserted.
650
650
  */
651
- function insert(position: Position$2, newText: string): TextEdit$1;
651
+ function insert(position: Position$1, newText: string): TextEdit$1;
652
652
  /**
653
653
  * Creates a delete text edit.
654
654
  * @param range The range of text to be deleted.
@@ -716,7 +716,7 @@ declare namespace AnnotatedTextEdit {
716
716
  * @param newText The text to be inserted.
717
717
  * @param annotation The annotation.
718
718
  */
719
- function insert(position: Position$2, newText: string, annotation: ChangeAnnotationIdentifier): AnnotatedTextEdit;
719
+ function insert(position: Position$1, newText: string, annotation: ChangeAnnotationIdentifier): AnnotatedTextEdit;
720
720
  /**
721
721
  * Creates an annotated delete text edit.
722
722
  *
@@ -1679,7 +1679,7 @@ type DefinitionLink = LocationLink;
1679
1679
  /**
1680
1680
  * The declaration of a symbol representation as one or many {@link Location locations}.
1681
1681
  */
1682
- type Declaration$1 = Location | Location[];
1682
+ type Declaration = Location | Location[];
1683
1683
  /**
1684
1684
  * Information about where a symbol is declared.
1685
1685
  *
@@ -2728,7 +2728,7 @@ type InlayHint = {
2728
2728
  /**
2729
2729
  * The position of this hint.
2730
2730
  */
2731
- position: Position$2;
2731
+ position: Position$1;
2732
2732
  /**
2733
2733
  * The label of this hint. A human readable string or an array of
2734
2734
  * InlayHintLabelPart label parts.
@@ -2776,7 +2776,7 @@ type InlayHint = {
2776
2776
  data?: LSPAny;
2777
2777
  };
2778
2778
  declare namespace InlayHint {
2779
- function create(position: Position$2, label: string | InlayHintLabelPart[], kind?: InlayHintKind): InlayHint;
2779
+ function create(position: Position$1, label: string | InlayHintLabelPart[], kind?: InlayHintKind): InlayHint;
2780
2780
  function is(value: any): value is InlayHint;
2781
2781
  }
2782
2782
  /**
@@ -4962,7 +4962,7 @@ type DocumentUri = string;
4962
4962
  * Positions are line end character agnostic. So you can not specify a position that
4963
4963
  * denotes `\r|\n` or `\n|` where `|` represents the character offset.
4964
4964
  */
4965
- interface Position$1 {
4965
+ interface Position {
4966
4966
  /**
4967
4967
  * Line position in a document (zero-based).
4968
4968
  *
@@ -5001,11 +5001,11 @@ interface Range {
5001
5001
  /**
5002
5002
  * The range's start position.
5003
5003
  */
5004
- start: Position$1;
5004
+ start: Position;
5005
5005
  /**
5006
5006
  * The range's end position.
5007
5007
  */
5008
- end: Position$1;
5008
+ end: Position;
5009
5009
  }
5010
5010
  /**
5011
5011
  * A text edit applicable to a text document.
@@ -5100,7 +5100,7 @@ interface TextDocument {
5100
5100
  * * position { line: 1, character: 0 } for `offset` 3.
5101
5101
  * * position { line: 1, character: 1 } for `offset` 4.
5102
5102
  */
5103
- positionAt(offset: number): Position$1;
5103
+ positionAt(offset: number): Position;
5104
5104
  /**
5105
5105
  * Converts the position to a zero-based offset.
5106
5106
  * Invalid positions are adjusted as described in {@link Position.line}
@@ -5109,7 +5109,7 @@ interface TextDocument {
5109
5109
  * @param position A position.
5110
5110
  * @return A valid zero-based offset.
5111
5111
  */
5112
- offsetAt(position: Position$1): number;
5112
+ offsetAt(position: Position): number;
5113
5113
  /**
5114
5114
  * The number of lines in this document.
5115
5115
  *
@@ -7517,7 +7517,7 @@ interface SelectionRangeParams extends WorkDoneProgressParams, PartialResultPara
7517
7517
  /**
7518
7518
  * The positions inside the text document.
7519
7519
  */
7520
- positions: Position$2[];
7520
+ positions: Position$1[];
7521
7521
  }
7522
7522
 
7523
7523
  /**
@@ -9177,7 +9177,7 @@ interface TextDocumentPositionParams {
9177
9177
  /**
9178
9178
  * The position inside the text document.
9179
9179
  */
9180
- position: Position$2;
9180
+ position: Position$1;
9181
9181
  }
9182
9182
  /**
9183
9183
  * The kind of resource operations supported by the client.
@@ -11268,7 +11268,7 @@ interface DocumentOnTypeFormattingParams {
11268
11268
  * This is not necessarily the exact position where the character denoted
11269
11269
  * by the property `ch` got typed.
11270
11270
  */
11271
- position: Position$2;
11271
+ position: Position$1;
11272
11272
  /**
11273
11273
  * The character that has been typed that triggered the formatting
11274
11274
  * on type request. That is not necessarily the last character that
@@ -11345,7 +11345,7 @@ interface RenameParams extends WorkDoneProgressParams {
11345
11345
  /**
11346
11346
  * The position at which this request was sent.
11347
11347
  */
11348
- position: Position$2;
11348
+ position: Position$1;
11349
11349
  /**
11350
11350
  * The new name of the symbol. If the given name is not valid the
11351
11351
  * request must return a {@link ResponseError} with an
@@ -12690,7 +12690,7 @@ interface _Connection<PConsole = _, PTracer = _, PTelemetry = _, PClient = _, PW
12690
12690
  *
12691
12691
  * @param handler The corresponding handler.
12692
12692
  */
12693
- onDeclaration(handler: ServerRequestHandler<DeclarationParams, Declaration$1 | DeclarationLink[] | undefined | null, Location[] | DeclarationLink[], void>): Disposable$1;
12693
+ onDeclaration(handler: ServerRequestHandler<DeclarationParams, Declaration | DeclarationLink[] | undefined | null, Location[] | DeclarationLink[], void>): Disposable$1;
12694
12694
  /**
12695
12695
  * Installs a handler for the `Definition` request.
12696
12696
  *
@@ -13762,7 +13762,7 @@ interface CompletionContext {
13762
13762
  * Index of the requested completed position.
13763
13763
  */
13764
13764
  offset: number;
13765
- position: Position$2;
13765
+ position: Position$1;
13766
13766
  }
13767
13767
  interface CompletionProviderOptions$1 {
13768
13768
  /**
@@ -13835,7 +13835,7 @@ declare class DefaultCompletionProvider implements CompletionProvider {
13835
13835
  */
13836
13836
  protected deduplicateItems(items: CompletionItem[]): CompletionItem[];
13837
13837
  protected findFeaturesAt(document: TextDocument, offset: number): NextFeature[];
13838
- protected buildContexts(document: LangiumDocument, position: Position$2): IterableIterator<CompletionContext>;
13838
+ protected buildContexts(document: LangiumDocument, position: Position$1): IterableIterator<CompletionContext>;
13839
13839
  protected performNextTokenCompletion(document: LangiumDocument, text: string, _offset: number, _end: number): boolean;
13840
13840
  protected findDataTypeRuleStart(cst: CstNode, offset: number): [number, number] | undefined;
13841
13841
  /**
@@ -13941,17 +13941,21 @@ type ElementPredicate = ElementPredicateOrWhere | ElementPredicateWith;
13941
13941
  declare const ElementPredicate = "ElementPredicate";
13942
13942
  type ElementPredicateOrWhere = ElementExpression | ElementPredicateWhere;
13943
13943
  declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
13944
+ type ElementPredicateOrWhereV2 = ElementPredicateWhereV2 | FqnExpr;
13945
+ declare const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
13944
13946
  type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
13945
13947
  declare const ElementProperty = "ElementProperty";
13946
13948
  type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
13947
- type ExpressionV2 = FqnExpr | RelationPredicateOrWhereV2;
13949
+ type ExpressionV2 = ElementPredicateOrWhereV2 | RelationPredicateOrWhereV2;
13948
13950
  declare const ExpressionV2 = "ExpressionV2";
13951
+ type ExtendElementProperty = LinkProperty | MetadataProperty;
13952
+ declare const ExtendElementProperty = "ExtendElementProperty";
13949
13953
  type FqnExpr = FqnRefExpr | WildcardExpression;
13950
13954
  declare const FqnExpr = "FqnExpr";
13951
13955
  type FqnReferenceable = Element | ExtendElement | Referenceable;
13952
13956
  declare const FqnReferenceable = "FqnReferenceable";
13953
13957
  type IconId = string;
13954
- type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | ThemeColor | string;
13958
+ type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | SizeValue | ThemeColor | string;
13955
13959
  type LikeC4View = DeploymentView | DynamicView | ElementView;
13956
13960
  declare const LikeC4View = "LikeC4View";
13957
13961
  type LineOptions = 'dashed' | 'dotted' | 'solid';
@@ -13976,9 +13980,12 @@ type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProp
13976
13980
  declare const RelationProperty = "RelationProperty";
13977
13981
  type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
13978
13982
  declare const RelationshipStyleProperty = "RelationshipStyleProperty";
13983
+ type SizeProperty = PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty;
13984
+ declare const SizeProperty = "SizeProperty";
13985
+ type SizeValue = 'large' | 'lg' | 'md' | 'medium' | 'sm' | 'small' | 'xl' | 'xlarge' | 'xs' | 'xsmall';
13979
13986
  type StringProperty = ElementStringProperty | MetadataAttribute | NotationProperty | NotesProperty | RelationStringProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty;
13980
13987
  declare const StringProperty = "StringProperty";
13981
- type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | ShapeProperty;
13988
+ type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | PaddingSizeProperty | ShapeProperty | ShapeSizeProperty | TextSizeProperty;
13982
13989
  declare const StyleProperty = "StyleProperty";
13983
13990
  type ThemeColor = 'amber' | 'blue' | 'gray' | 'green' | 'indigo' | 'muted' | 'primary' | 'red' | 'secondary' | 'sky' | 'slate';
13984
13991
  type Uri = string;
@@ -14262,6 +14269,13 @@ interface ElementPredicateWhere extends AstNode {
14262
14269
  where?: WhereElementExpression;
14263
14270
  }
14264
14271
  declare const ElementPredicateWhere = "ElementPredicateWhere";
14272
+ interface ElementPredicateWhereV2 extends AstNode {
14273
+ readonly $container: DeploymentViewRulePredicateExpression;
14274
+ readonly $type: 'ElementPredicateWhereV2';
14275
+ subject: FqnExpr;
14276
+ where?: WhereElementExpression;
14277
+ }
14278
+ declare const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
14265
14279
  interface ElementPredicateWith extends AstNode {
14266
14280
  readonly $container: DynamicViewPredicateIterator | Predicates;
14267
14281
  readonly $type: 'ElementPredicateWith';
@@ -14336,22 +14350,17 @@ interface ExtendElement extends AstNode {
14336
14350
  readonly $container: Model;
14337
14351
  readonly $type: 'ExtendElement';
14338
14352
  body: ExtendElementBody;
14339
- element: FqnElementRef;
14353
+ element: StrictFqnElementRef;
14340
14354
  }
14341
14355
  declare const ExtendElement = "ExtendElement";
14342
14356
  interface ExtendElementBody extends AstNode {
14343
14357
  readonly $container: ExtendElement;
14344
14358
  readonly $type: 'ExtendElementBody';
14345
14359
  elements: Array<Element | Relation>;
14360
+ props: Array<ExtendElementProperty>;
14361
+ tags?: Tags;
14346
14362
  }
14347
14363
  declare const ExtendElementBody = "ExtendElementBody";
14348
- interface FqnElementRef extends AstNode {
14349
- readonly $container: ExtendElement | FqnElementRef;
14350
- readonly $type: 'FqnElementRef';
14351
- el: Reference<Element>;
14352
- parent?: FqnElementRef;
14353
- }
14354
- declare const FqnElementRef = "FqnElementRef";
14355
14364
  interface FqnExpressions extends AstNode {
14356
14365
  readonly $container: DeploymentViewRuleStyle | FqnExpressions;
14357
14366
  readonly $type: 'FqnExpressions';
@@ -14367,7 +14376,7 @@ interface FqnRef extends AstNode {
14367
14376
  }
14368
14377
  declare const FqnRef = "FqnRef";
14369
14378
  interface FqnRefExpr extends AstNode {
14370
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
14379
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | ElementPredicateWhereV2 | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
14371
14380
  readonly $type: 'FqnRefExpr';
14372
14381
  ref: FqnRef;
14373
14382
  selector?: string;
@@ -14484,7 +14493,7 @@ interface LineProperty extends AstNode {
14484
14493
  }
14485
14494
  declare const LineProperty = "LineProperty";
14486
14495
  interface LinkProperty extends AstNode {
14487
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | RelationBody;
14496
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | RelationBody;
14488
14497
  readonly $type: 'LinkProperty';
14489
14498
  key: 'link';
14490
14499
  title?: string;
@@ -14499,7 +14508,7 @@ interface MetadataAttribute extends AstNode {
14499
14508
  }
14500
14509
  declare const MetadataAttribute = "MetadataAttribute";
14501
14510
  interface MetadataBody extends AstNode {
14502
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | RelationBody;
14511
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | ExtendElementBody | RelationBody;
14503
14512
  readonly $type: 'MetadataBody';
14504
14513
  props: Array<MetadataAttribute>;
14505
14514
  }
@@ -14577,6 +14586,13 @@ interface OutgoingRelationExpression extends AstNode {
14577
14586
  kind?: Reference<RelationshipKind>;
14578
14587
  }
14579
14588
  declare const OutgoingRelationExpression = "OutgoingRelationExpression";
14589
+ interface PaddingSizeProperty extends AstNode {
14590
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
14591
+ readonly $type: 'PaddingSizeProperty';
14592
+ key: 'padding';
14593
+ value: SizeValue;
14594
+ }
14595
+ declare const PaddingSizeProperty = "PaddingSizeProperty";
14580
14596
  interface Predicates extends AstNode {
14581
14597
  readonly $container: ExcludePredicate | IncludePredicate | Predicates;
14582
14598
  readonly $type: 'Predicates';
@@ -14658,6 +14674,13 @@ interface ShapeProperty extends AstNode {
14658
14674
  value: ElementShape;
14659
14675
  }
14660
14676
  declare const ShapeProperty = "ShapeProperty";
14677
+ interface ShapeSizeProperty extends AstNode {
14678
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
14679
+ readonly $type: 'ShapeSizeProperty';
14680
+ key: 'size';
14681
+ value: SizeValue;
14682
+ }
14683
+ declare const ShapeSizeProperty = "ShapeSizeProperty";
14661
14684
  interface SpecificationColor extends AstNode {
14662
14685
  readonly $container: SpecificationRule;
14663
14686
  readonly $type: 'SpecificationColor';
@@ -14717,6 +14740,13 @@ interface SpecificationTag extends AstNode {
14717
14740
  tag: Tag;
14718
14741
  }
14719
14742
  declare const SpecificationTag = "SpecificationTag";
14743
+ interface StrictFqnElementRef extends AstNode {
14744
+ readonly $container: ExtendElement | StrictFqnElementRef;
14745
+ readonly $type: 'StrictFqnElementRef';
14746
+ el: Reference<Element>;
14747
+ parent?: StrictFqnElementRef;
14748
+ }
14749
+ declare const StrictFqnElementRef = "StrictFqnElementRef";
14720
14750
  interface Tag extends AstNode {
14721
14751
  readonly $container: SpecificationTag;
14722
14752
  readonly $type: 'Tag';
@@ -14724,12 +14754,19 @@ interface Tag extends AstNode {
14724
14754
  }
14725
14755
  declare const Tag = "Tag";
14726
14756
  interface Tags extends AstNode {
14727
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | Relation | RelationBody | Tags;
14757
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | Relation | RelationBody | Tags;
14728
14758
  readonly $type: 'Tags';
14729
14759
  prev?: Tags;
14730
14760
  values: Array<Reference<Tag>>;
14731
14761
  }
14732
14762
  declare const Tags = "Tags";
14763
+ interface TextSizeProperty extends AstNode {
14764
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
14765
+ readonly $type: 'TextSizeProperty';
14766
+ key: 'textSize';
14767
+ value: SizeValue;
14768
+ }
14769
+ declare const TextSizeProperty = "TextSizeProperty";
14733
14770
  interface ViewRef extends AstNode {
14734
14771
  readonly $container: NavigateToProperty;
14735
14772
  readonly $type: 'ViewRef';
@@ -14779,7 +14816,7 @@ interface ViewStringProperty extends AstNode {
14779
14816
  }
14780
14817
  declare const ViewStringProperty = "ViewStringProperty";
14781
14818
  interface WhereBinaryExpression extends AstNode {
14782
- readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14819
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14783
14820
  readonly $type: 'WhereBinaryExpression';
14784
14821
  left: WhereElementExpression | WhereRelationExpression;
14785
14822
  operator: 'and' | 'or';
@@ -14787,21 +14824,21 @@ interface WhereBinaryExpression extends AstNode {
14787
14824
  }
14788
14825
  declare const WhereBinaryExpression = "WhereBinaryExpression";
14789
14826
  interface WhereElementKind extends AstNode {
14790
- readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
14827
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
14791
14828
  readonly $type: 'WhereElementKind';
14792
14829
  not: boolean;
14793
14830
  operator: 'is' | string;
14794
- value?: Reference<ElementKind>;
14831
+ value?: Reference<DeploymentNodeOrElementKind>;
14795
14832
  }
14796
14833
  declare const WhereElementKind = "WhereElementKind";
14797
14834
  interface WhereElementNegation extends AstNode {
14798
- readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
14835
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
14799
14836
  readonly $type: 'WhereElementNegation';
14800
14837
  value: WhereElementExpression;
14801
14838
  }
14802
14839
  declare const WhereElementNegation = "WhereElementNegation";
14803
14840
  interface WhereElementTag extends AstNode {
14804
- readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
14841
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
14805
14842
  readonly $type: 'WhereElementTag';
14806
14843
  not: boolean;
14807
14844
  operator: 'is' | string;
@@ -14849,7 +14886,7 @@ interface WhereRelationTag extends AstNode {
14849
14886
  }
14850
14887
  declare const WhereRelationTag = "WhereRelationTag";
14851
14888
  interface WildcardExpression extends AstNode {
14852
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
14889
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWhereV2 | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
14853
14890
  readonly $type: 'WildcardExpression';
14854
14891
  isWildcard: boolean;
14855
14892
  }
@@ -14896,7 +14933,9 @@ type LikeC4AstType = {
14896
14933
  ElementKindExpression: ElementKindExpression;
14897
14934
  ElementPredicate: ElementPredicate;
14898
14935
  ElementPredicateOrWhere: ElementPredicateOrWhere;
14936
+ ElementPredicateOrWhereV2: ElementPredicateOrWhereV2;
14899
14937
  ElementPredicateWhere: ElementPredicateWhere;
14938
+ ElementPredicateWhereV2: ElementPredicateWhereV2;
14900
14939
  ElementPredicateWith: ElementPredicateWith;
14901
14940
  ElementProperty: ElementProperty;
14902
14941
  ElementRef: ElementRef;
@@ -14911,7 +14950,7 @@ type LikeC4AstType = {
14911
14950
  ExpressionV2: ExpressionV2;
14912
14951
  ExtendElement: ExtendElement;
14913
14952
  ExtendElementBody: ExtendElementBody;
14914
- FqnElementRef: FqnElementRef;
14953
+ ExtendElementProperty: ExtendElementProperty;
14915
14954
  FqnExpr: FqnExpr;
14916
14955
  FqnExpressions: FqnExpressions;
14917
14956
  FqnRef: FqnRef;
@@ -14948,6 +14987,7 @@ type LikeC4AstType = {
14948
14987
  OpacityProperty: OpacityProperty;
14949
14988
  OutgoingRelationExpr: OutgoingRelationExpr;
14950
14989
  OutgoingRelationExpression: OutgoingRelationExpression;
14990
+ PaddingSizeProperty: PaddingSizeProperty;
14951
14991
  Predicate: Predicate;
14952
14992
  Predicates: Predicates;
14953
14993
  Referenceable: Referenceable;
@@ -14968,6 +15008,8 @@ type LikeC4AstType = {
14968
15008
  RelationshipKind: RelationshipKind;
14969
15009
  RelationshipStyleProperty: RelationshipStyleProperty;
14970
15010
  ShapeProperty: ShapeProperty;
15011
+ ShapeSizeProperty: ShapeSizeProperty;
15012
+ SizeProperty: SizeProperty;
14971
15013
  SpecificationColor: SpecificationColor;
14972
15014
  SpecificationDeploymentNodeKind: SpecificationDeploymentNodeKind;
14973
15015
  SpecificationElementKind: SpecificationElementKind;
@@ -14976,10 +15018,12 @@ type LikeC4AstType = {
14976
15018
  SpecificationRelationshipStringProperty: SpecificationRelationshipStringProperty;
14977
15019
  SpecificationRule: SpecificationRule;
14978
15020
  SpecificationTag: SpecificationTag;
15021
+ StrictFqnElementRef: StrictFqnElementRef;
14979
15022
  StringProperty: StringProperty;
14980
15023
  StyleProperty: StyleProperty;
14981
15024
  Tag: Tag;
14982
15025
  Tags: Tags;
15026
+ TextSizeProperty: TextSizeProperty;
14983
15027
  ViewProperty: ViewProperty;
14984
15028
  ViewRef: ViewRef;
14985
15029
  ViewRule: ViewRule;
@@ -15012,7 +15056,7 @@ type LikeC4AstType = {
15012
15056
 
15013
15057
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
15014
15058
  type Guarded<G> = G extends Guard<infer N> ? N : never;
15015
- declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationPredicateWhereV2 | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | MultipleProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
15059
+ declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementPredicateWhereV2 | FqnRefExpr | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationPredicateWhereV2 | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | MultipleProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
15016
15060
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
15017
15061
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
15018
15062
  isValid: (n: ValidatableAstNode) => boolean;
@@ -15049,6 +15093,9 @@ type ParsedElementStyle = {
15049
15093
  border?: c4.BorderStyle;
15050
15094
  opacity?: number;
15051
15095
  multiple?: boolean;
15096
+ size?: c4.ShapeSize;
15097
+ padding?: c4.SpacingSize;
15098
+ textSize?: c4.TextSize;
15052
15099
  };
15053
15100
  interface ParsedAstSpecification {
15054
15101
  tags: Set<c4.Tag>;
@@ -15084,6 +15131,15 @@ interface ParsedAstElement {
15084
15131
  [key: string]: string;
15085
15132
  };
15086
15133
  }
15134
+ interface ParsedAstExtendElement {
15135
+ id: c4.Fqn;
15136
+ astPath: string;
15137
+ tags?: c4.NonEmptyArray<c4.Tag>;
15138
+ links?: c4.NonEmptyArray<ParsedLink>;
15139
+ metadata?: {
15140
+ [key: string]: string;
15141
+ };
15142
+ }
15087
15143
  interface ParsedAstRelation {
15088
15144
  id: c4.RelationId;
15089
15145
  astPath: string;
@@ -15165,6 +15221,7 @@ interface LikeC4DocumentProps {
15165
15221
  diagnostics?: Array<LikeC4DocumentDiagnostic>;
15166
15222
  c4Specification?: ParsedAstSpecification;
15167
15223
  c4Elements?: ParsedAstElement[];
15224
+ c4ExtendElements?: ParsedAstExtendElement[];
15168
15225
  c4Relations?: ParsedAstRelation[];
15169
15226
  c4Globals?: ParsedAstGlobals;
15170
15227
  c4Views?: ParsedAstView[];
@@ -15416,6 +15473,7 @@ declare const DocumentParserFromMixins: {
15416
15473
  parseFqnRef(astNode: FqnRef): invariant;
15417
15474
  parseFqnExpr(astNode: FqnExpr): invariant;
15418
15475
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15476
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15419
15477
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15420
15478
  parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15421
15479
  parseRelationExpr(astNode: RelationExpr): invariant;
@@ -15474,6 +15532,7 @@ declare const DocumentParserFromMixins: {
15474
15532
  parseFqnRef(astNode: FqnRef): invariant;
15475
15533
  parseFqnExpr(astNode: FqnExpr): invariant;
15476
15534
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15535
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15477
15536
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15478
15537
  parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15479
15538
  parseRelationExpr(astNode: RelationExpr): invariant;
@@ -15541,6 +15600,7 @@ declare const DocumentParserFromMixins: {
15541
15600
  parseFqnRef(astNode: FqnRef): invariant;
15542
15601
  parseFqnExpr(astNode: FqnExpr): invariant;
15543
15602
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15603
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15544
15604
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15545
15605
  parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15546
15606
  parseRelationExpr(astNode: RelationExpr): invariant;
@@ -15574,6 +15634,7 @@ declare const DocumentParserFromMixins: {
15574
15634
  parseFqnRef(astNode: FqnRef): invariant;
15575
15635
  parseFqnExpr(astNode: FqnExpr): invariant;
15576
15636
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15637
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15577
15638
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15578
15639
  parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15579
15640
  parseRelationExpr(astNode: RelationExpr): invariant;
@@ -15598,6 +15659,7 @@ declare const DocumentParserFromMixins: {
15598
15659
  new (...args: any[]): {
15599
15660
  parseModel(): void;
15600
15661
  parseElement(astNode: Element): ParsedAstElement;
15662
+ parseExtendElement(astNode: ExtendElement): ParsedAstExtendElement | null;
15601
15663
  parseRelation(astNode: Relation): ParsedAstRelation;
15602
15664
  isValid: IsValidFn;
15603
15665
  readonly services: LikeC4Services;
@@ -15621,6 +15683,7 @@ declare const DocumentParserFromMixins: {
15621
15683
  parseFqnRef(astNode: FqnRef): invariant;
15622
15684
  parseFqnExpr(astNode: FqnExpr): invariant;
15623
15685
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15686
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15624
15687
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15625
15688
  parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15626
15689
  parseRelationExpr(astNode: RelationExpr): invariant;
@@ -15815,614 +15878,6 @@ interface LikeC4AddedServices {
15815
15878
  }
15816
15879
  type LikeC4Services = LangiumServices & LikeC4AddedServices;
15817
15880
 
15818
- // This definition file follows a somewhat unusual format. ESTree allows
15819
- // runtime type checks based on the `type` parameter. In order to explain this
15820
- // to typescript we want to use discriminated union types:
15821
- // https://github.com/Microsoft/TypeScript/pull/9163
15822
- //
15823
- // For ESTree this is a bit tricky because the high level interfaces like
15824
- // Node or Function are pulling double duty. We want to pass common fields down
15825
- // to the interfaces that extend them (like Identifier or
15826
- // ArrowFunctionExpression), but you can't extend a type union or enforce
15827
- // common fields on them. So we've split the high level interfaces into two
15828
- // types, a base type which passes down inherited fields, and a type union of
15829
- // all types which extend the base type. Only the type union is exported, and
15830
- // the union is how other types refer to the collection of inheriting types.
15831
- //
15832
- // This makes the definitions file here somewhat more difficult to maintain,
15833
- // but it has the notable advantage of making ESTree much easier to use as
15834
- // an end user.
15835
-
15836
- interface BaseNodeWithoutComments {
15837
- // Every leaf interface that extends BaseNode must specify a type property.
15838
- // The type property should be a string literal. For example, Identifier
15839
- // has: `type: "Identifier"`
15840
- type: string;
15841
- loc?: SourceLocation | null | undefined;
15842
- range?: [number, number] | undefined;
15843
- }
15844
-
15845
- interface BaseNode extends BaseNodeWithoutComments {
15846
- leadingComments?: Comment[] | undefined;
15847
- trailingComments?: Comment[] | undefined;
15848
- }
15849
-
15850
- interface Comment extends BaseNodeWithoutComments {
15851
- type: "Line" | "Block";
15852
- value: string;
15853
- }
15854
-
15855
- interface SourceLocation {
15856
- source?: string | null | undefined;
15857
- start: Position;
15858
- end: Position;
15859
- }
15860
-
15861
- interface Position {
15862
- /** >= 1 */
15863
- line: number;
15864
- /** >= 0 */
15865
- column: number;
15866
- }
15867
-
15868
- interface BaseFunction extends BaseNode {
15869
- params: Pattern[];
15870
- generator?: boolean | undefined;
15871
- async?: boolean | undefined;
15872
- // The body is either BlockStatement or Expression because arrow functions
15873
- // can have a body that's either. FunctionDeclarations and
15874
- // FunctionExpressions have only BlockStatement bodies.
15875
- body: BlockStatement | Expression;
15876
- }
15877
-
15878
- type Statement =
15879
- | ExpressionStatement
15880
- | BlockStatement
15881
- | StaticBlock
15882
- | EmptyStatement
15883
- | DebuggerStatement
15884
- | WithStatement
15885
- | ReturnStatement
15886
- | LabeledStatement
15887
- | BreakStatement
15888
- | ContinueStatement
15889
- | IfStatement
15890
- | SwitchStatement
15891
- | ThrowStatement
15892
- | TryStatement
15893
- | WhileStatement
15894
- | DoWhileStatement
15895
- | ForStatement
15896
- | ForInStatement
15897
- | ForOfStatement
15898
- | Declaration;
15899
-
15900
- interface BaseStatement extends BaseNode {}
15901
-
15902
- interface EmptyStatement extends BaseStatement {
15903
- type: "EmptyStatement";
15904
- }
15905
-
15906
- interface BlockStatement extends BaseStatement {
15907
- type: "BlockStatement";
15908
- body: Statement[];
15909
- innerComments?: Comment[] | undefined;
15910
- }
15911
-
15912
- interface StaticBlock extends Omit<BlockStatement, "type"> {
15913
- type: "StaticBlock";
15914
- }
15915
-
15916
- interface ExpressionStatement extends BaseStatement {
15917
- type: "ExpressionStatement";
15918
- expression: Expression;
15919
- }
15920
-
15921
- interface IfStatement extends BaseStatement {
15922
- type: "IfStatement";
15923
- test: Expression;
15924
- consequent: Statement;
15925
- alternate?: Statement | null | undefined;
15926
- }
15927
-
15928
- interface LabeledStatement extends BaseStatement {
15929
- type: "LabeledStatement";
15930
- label: Identifier;
15931
- body: Statement;
15932
- }
15933
-
15934
- interface BreakStatement extends BaseStatement {
15935
- type: "BreakStatement";
15936
- label?: Identifier | null | undefined;
15937
- }
15938
-
15939
- interface ContinueStatement extends BaseStatement {
15940
- type: "ContinueStatement";
15941
- label?: Identifier | null | undefined;
15942
- }
15943
-
15944
- interface WithStatement extends BaseStatement {
15945
- type: "WithStatement";
15946
- object: Expression;
15947
- body: Statement;
15948
- }
15949
-
15950
- interface SwitchStatement extends BaseStatement {
15951
- type: "SwitchStatement";
15952
- discriminant: Expression;
15953
- cases: SwitchCase[];
15954
- }
15955
-
15956
- interface ReturnStatement extends BaseStatement {
15957
- type: "ReturnStatement";
15958
- argument?: Expression | null | undefined;
15959
- }
15960
-
15961
- interface ThrowStatement extends BaseStatement {
15962
- type: "ThrowStatement";
15963
- argument: Expression;
15964
- }
15965
-
15966
- interface TryStatement extends BaseStatement {
15967
- type: "TryStatement";
15968
- block: BlockStatement;
15969
- handler?: CatchClause | null | undefined;
15970
- finalizer?: BlockStatement | null | undefined;
15971
- }
15972
-
15973
- interface WhileStatement extends BaseStatement {
15974
- type: "WhileStatement";
15975
- test: Expression;
15976
- body: Statement;
15977
- }
15978
-
15979
- interface DoWhileStatement extends BaseStatement {
15980
- type: "DoWhileStatement";
15981
- body: Statement;
15982
- test: Expression;
15983
- }
15984
-
15985
- interface ForStatement extends BaseStatement {
15986
- type: "ForStatement";
15987
- init?: VariableDeclaration | Expression | null | undefined;
15988
- test?: Expression | null | undefined;
15989
- update?: Expression | null | undefined;
15990
- body: Statement;
15991
- }
15992
-
15993
- interface BaseForXStatement extends BaseStatement {
15994
- left: VariableDeclaration | Pattern;
15995
- right: Expression;
15996
- body: Statement;
15997
- }
15998
-
15999
- interface ForInStatement extends BaseForXStatement {
16000
- type: "ForInStatement";
16001
- }
16002
-
16003
- interface DebuggerStatement extends BaseStatement {
16004
- type: "DebuggerStatement";
16005
- }
16006
-
16007
- type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration;
16008
-
16009
- interface BaseDeclaration extends BaseStatement {}
16010
-
16011
- interface MaybeNamedFunctionDeclaration extends BaseFunction, BaseDeclaration {
16012
- type: "FunctionDeclaration";
16013
- /** It is null when a function declaration is a part of the `export default function` statement */
16014
- id: Identifier | null;
16015
- body: BlockStatement;
16016
- }
16017
-
16018
- interface FunctionDeclaration extends MaybeNamedFunctionDeclaration {
16019
- id: Identifier;
16020
- }
16021
-
16022
- interface VariableDeclaration extends BaseDeclaration {
16023
- type: "VariableDeclaration";
16024
- declarations: VariableDeclarator[];
16025
- kind: "var" | "let" | "const";
16026
- }
16027
-
16028
- interface VariableDeclarator extends BaseNode {
16029
- type: "VariableDeclarator";
16030
- id: Pattern;
16031
- init?: Expression | null | undefined;
16032
- }
16033
-
16034
- interface ExpressionMap {
16035
- ArrayExpression: ArrayExpression;
16036
- ArrowFunctionExpression: ArrowFunctionExpression;
16037
- AssignmentExpression: AssignmentExpression;
16038
- AwaitExpression: AwaitExpression;
16039
- BinaryExpression: BinaryExpression;
16040
- CallExpression: CallExpression;
16041
- ChainExpression: ChainExpression;
16042
- ClassExpression: ClassExpression;
16043
- ConditionalExpression: ConditionalExpression;
16044
- FunctionExpression: FunctionExpression;
16045
- Identifier: Identifier;
16046
- ImportExpression: ImportExpression;
16047
- Literal: Literal;
16048
- LogicalExpression: LogicalExpression;
16049
- MemberExpression: MemberExpression;
16050
- MetaProperty: MetaProperty;
16051
- NewExpression: NewExpression;
16052
- ObjectExpression: ObjectExpression;
16053
- SequenceExpression: SequenceExpression;
16054
- TaggedTemplateExpression: TaggedTemplateExpression;
16055
- TemplateLiteral: TemplateLiteral;
16056
- ThisExpression: ThisExpression;
16057
- UnaryExpression: UnaryExpression;
16058
- UpdateExpression: UpdateExpression;
16059
- YieldExpression: YieldExpression;
16060
- }
16061
-
16062
- type Expression = ExpressionMap[keyof ExpressionMap];
16063
-
16064
- interface BaseExpression extends BaseNode {}
16065
-
16066
- type ChainElement = SimpleCallExpression | MemberExpression;
16067
-
16068
- interface ChainExpression extends BaseExpression {
16069
- type: "ChainExpression";
16070
- expression: ChainElement;
16071
- }
16072
-
16073
- interface ThisExpression extends BaseExpression {
16074
- type: "ThisExpression";
16075
- }
16076
-
16077
- interface ArrayExpression extends BaseExpression {
16078
- type: "ArrayExpression";
16079
- elements: Array<Expression | SpreadElement | null>;
16080
- }
16081
-
16082
- interface ObjectExpression extends BaseExpression {
16083
- type: "ObjectExpression";
16084
- properties: Array<Property | SpreadElement>;
16085
- }
16086
-
16087
- interface PrivateIdentifier extends BaseNode {
16088
- type: "PrivateIdentifier";
16089
- name: string;
16090
- }
16091
-
16092
- interface Property extends BaseNode {
16093
- type: "Property";
16094
- key: Expression | PrivateIdentifier;
16095
- value: Expression | Pattern; // Could be an AssignmentProperty
16096
- kind: "init" | "get" | "set";
16097
- method: boolean;
16098
- shorthand: boolean;
16099
- computed: boolean;
16100
- }
16101
-
16102
- interface PropertyDefinition extends BaseNode {
16103
- type: "PropertyDefinition";
16104
- key: Expression | PrivateIdentifier;
16105
- value?: Expression | null | undefined;
16106
- computed: boolean;
16107
- static: boolean;
16108
- }
16109
-
16110
- interface FunctionExpression extends BaseFunction, BaseExpression {
16111
- id?: Identifier | null | undefined;
16112
- type: "FunctionExpression";
16113
- body: BlockStatement;
16114
- }
16115
-
16116
- interface SequenceExpression extends BaseExpression {
16117
- type: "SequenceExpression";
16118
- expressions: Expression[];
16119
- }
16120
-
16121
- interface UnaryExpression extends BaseExpression {
16122
- type: "UnaryExpression";
16123
- operator: UnaryOperator;
16124
- prefix: true;
16125
- argument: Expression;
16126
- }
16127
-
16128
- interface BinaryExpression extends BaseExpression {
16129
- type: "BinaryExpression";
16130
- operator: BinaryOperator;
16131
- left: Expression | PrivateIdentifier;
16132
- right: Expression;
16133
- }
16134
-
16135
- interface AssignmentExpression extends BaseExpression {
16136
- type: "AssignmentExpression";
16137
- operator: AssignmentOperator;
16138
- left: Pattern | MemberExpression;
16139
- right: Expression;
16140
- }
16141
-
16142
- interface UpdateExpression extends BaseExpression {
16143
- type: "UpdateExpression";
16144
- operator: UpdateOperator;
16145
- argument: Expression;
16146
- prefix: boolean;
16147
- }
16148
-
16149
- interface LogicalExpression extends BaseExpression {
16150
- type: "LogicalExpression";
16151
- operator: LogicalOperator;
16152
- left: Expression;
16153
- right: Expression;
16154
- }
16155
-
16156
- interface ConditionalExpression extends BaseExpression {
16157
- type: "ConditionalExpression";
16158
- test: Expression;
16159
- alternate: Expression;
16160
- consequent: Expression;
16161
- }
16162
-
16163
- interface BaseCallExpression extends BaseExpression {
16164
- callee: Expression | Super;
16165
- arguments: Array<Expression | SpreadElement>;
16166
- }
16167
- type CallExpression = SimpleCallExpression | NewExpression;
16168
-
16169
- interface SimpleCallExpression extends BaseCallExpression {
16170
- type: "CallExpression";
16171
- optional: boolean;
16172
- }
16173
-
16174
- interface NewExpression extends BaseCallExpression {
16175
- type: "NewExpression";
16176
- }
16177
-
16178
- interface MemberExpression extends BaseExpression, BasePattern {
16179
- type: "MemberExpression";
16180
- object: Expression | Super;
16181
- property: Expression | PrivateIdentifier;
16182
- computed: boolean;
16183
- optional: boolean;
16184
- }
16185
-
16186
- type Pattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression;
16187
-
16188
- interface BasePattern extends BaseNode {}
16189
-
16190
- interface SwitchCase extends BaseNode {
16191
- type: "SwitchCase";
16192
- test?: Expression | null | undefined;
16193
- consequent: Statement[];
16194
- }
16195
-
16196
- interface CatchClause extends BaseNode {
16197
- type: "CatchClause";
16198
- param: Pattern | null;
16199
- body: BlockStatement;
16200
- }
16201
-
16202
- interface Identifier extends BaseNode, BaseExpression, BasePattern {
16203
- type: "Identifier";
16204
- name: string;
16205
- }
16206
-
16207
- type Literal = SimpleLiteral | RegExpLiteral | BigIntLiteral;
16208
-
16209
- interface SimpleLiteral extends BaseNode, BaseExpression {
16210
- type: "Literal";
16211
- value: string | boolean | number | null;
16212
- raw?: string | undefined;
16213
- }
16214
-
16215
- interface RegExpLiteral extends BaseNode, BaseExpression {
16216
- type: "Literal";
16217
- value?: RegExp | null | undefined;
16218
- regex: {
16219
- pattern: string;
16220
- flags: string;
16221
- };
16222
- raw?: string | undefined;
16223
- }
16224
-
16225
- interface BigIntLiteral extends BaseNode, BaseExpression {
16226
- type: "Literal";
16227
- value?: bigint | null | undefined;
16228
- bigint: string;
16229
- raw?: string | undefined;
16230
- }
16231
-
16232
- type UnaryOperator = "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
16233
-
16234
- type BinaryOperator =
16235
- | "=="
16236
- | "!="
16237
- | "==="
16238
- | "!=="
16239
- | "<"
16240
- | "<="
16241
- | ">"
16242
- | ">="
16243
- | "<<"
16244
- | ">>"
16245
- | ">>>"
16246
- | "+"
16247
- | "-"
16248
- | "*"
16249
- | "/"
16250
- | "%"
16251
- | "**"
16252
- | "|"
16253
- | "^"
16254
- | "&"
16255
- | "in"
16256
- | "instanceof";
16257
-
16258
- type LogicalOperator = "||" | "&&" | "??";
16259
-
16260
- type AssignmentOperator =
16261
- | "="
16262
- | "+="
16263
- | "-="
16264
- | "*="
16265
- | "/="
16266
- | "%="
16267
- | "**="
16268
- | "<<="
16269
- | ">>="
16270
- | ">>>="
16271
- | "|="
16272
- | "^="
16273
- | "&="
16274
- | "||="
16275
- | "&&="
16276
- | "??=";
16277
-
16278
- type UpdateOperator = "++" | "--";
16279
-
16280
- interface ForOfStatement extends BaseForXStatement {
16281
- type: "ForOfStatement";
16282
- await: boolean;
16283
- }
16284
-
16285
- interface Super extends BaseNode {
16286
- type: "Super";
16287
- }
16288
-
16289
- interface SpreadElement extends BaseNode {
16290
- type: "SpreadElement";
16291
- argument: Expression;
16292
- }
16293
-
16294
- interface ArrowFunctionExpression extends BaseExpression, BaseFunction {
16295
- type: "ArrowFunctionExpression";
16296
- expression: boolean;
16297
- body: BlockStatement | Expression;
16298
- }
16299
-
16300
- interface YieldExpression extends BaseExpression {
16301
- type: "YieldExpression";
16302
- argument?: Expression | null | undefined;
16303
- delegate: boolean;
16304
- }
16305
-
16306
- interface TemplateLiteral extends BaseExpression {
16307
- type: "TemplateLiteral";
16308
- quasis: TemplateElement[];
16309
- expressions: Expression[];
16310
- }
16311
-
16312
- interface TaggedTemplateExpression extends BaseExpression {
16313
- type: "TaggedTemplateExpression";
16314
- tag: Expression;
16315
- quasi: TemplateLiteral;
16316
- }
16317
-
16318
- interface TemplateElement extends BaseNode {
16319
- type: "TemplateElement";
16320
- tail: boolean;
16321
- value: {
16322
- /** It is null when the template literal is tagged and the text has an invalid escape (e.g. - tag`\unicode and \u{55}`) */
16323
- cooked?: string | null | undefined;
16324
- raw: string;
16325
- };
16326
- }
16327
-
16328
- interface AssignmentProperty extends Property {
16329
- value: Pattern;
16330
- kind: "init";
16331
- method: boolean; // false
16332
- }
16333
-
16334
- interface ObjectPattern extends BasePattern {
16335
- type: "ObjectPattern";
16336
- properties: Array<AssignmentProperty | RestElement>;
16337
- }
16338
-
16339
- interface ArrayPattern extends BasePattern {
16340
- type: "ArrayPattern";
16341
- elements: Array<Pattern | null>;
16342
- }
16343
-
16344
- interface RestElement extends BasePattern {
16345
- type: "RestElement";
16346
- argument: Pattern;
16347
- }
16348
-
16349
- interface AssignmentPattern extends BasePattern {
16350
- type: "AssignmentPattern";
16351
- left: Pattern;
16352
- right: Expression;
16353
- }
16354
- interface BaseClass extends BaseNode {
16355
- superClass?: Expression | null | undefined;
16356
- body: ClassBody;
16357
- }
16358
-
16359
- interface ClassBody extends BaseNode {
16360
- type: "ClassBody";
16361
- body: Array<MethodDefinition | PropertyDefinition | StaticBlock>;
16362
- }
16363
-
16364
- interface MethodDefinition extends BaseNode {
16365
- type: "MethodDefinition";
16366
- key: Expression | PrivateIdentifier;
16367
- value: FunctionExpression;
16368
- kind: "constructor" | "method" | "get" | "set";
16369
- computed: boolean;
16370
- static: boolean;
16371
- }
16372
-
16373
- interface MaybeNamedClassDeclaration extends BaseClass, BaseDeclaration {
16374
- type: "ClassDeclaration";
16375
- /** It is null when a class declaration is a part of the `export default class` statement */
16376
- id: Identifier | null;
16377
- }
16378
-
16379
- interface ClassDeclaration extends MaybeNamedClassDeclaration {
16380
- id: Identifier;
16381
- }
16382
-
16383
- interface ClassExpression extends BaseClass, BaseExpression {
16384
- type: "ClassExpression";
16385
- id?: Identifier | null | undefined;
16386
- }
16387
-
16388
- interface MetaProperty extends BaseExpression {
16389
- type: "MetaProperty";
16390
- meta: Identifier;
16391
- property: Identifier;
16392
- }
16393
-
16394
- interface ImportExpression extends BaseExpression {
16395
- type: "ImportExpression";
16396
- source: Expression;
16397
- }
16398
-
16399
- interface AwaitExpression extends BaseExpression {
16400
- type: "AwaitExpression";
16401
- argument: Expression;
16402
- }
16403
-
16404
- declare module 'estree' {
16405
- export interface Decorator extends BaseNode {
16406
- type: 'Decorator';
16407
- expression: Expression;
16408
- }
16409
- interface PropertyDefinition {
16410
- decorators: undefined[];
16411
- }
16412
- interface MethodDefinition {
16413
- decorators: undefined[];
16414
- }
16415
- interface BaseClass {
16416
- decorators: undefined[];
16417
- }
16418
- }
16419
-
16420
- // declare AbortSignal here for environments without DOM lib or @types/node
16421
- declare global {
16422
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
16423
- interface AbortSignal {}
16424
- }
16425
-
16426
15881
  type Logger = {
16427
15882
  info(msg: string): void;
16428
15883
  warn(msg: unknown): void;