likec4 1.23.1 → 1.24.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/dist/index.d.mts CHANGED
@@ -1,9 +1,11 @@
1
1
  import * as c4 from '@likec4/core';
2
- import { Fqn, EdgeId, ComputedView, DiagramView, OverviewGraph, ViewId, invariant, ViewChange } from '@likec4/core';
2
+ import { Fqn, EdgeId, ComputedView, DiagramView, OverviewGraph, LikeC4Model, ViewId, ViewChange } from '@likec4/core';
3
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';
4
- import { LikeC4Model } from '@likec4/core/model';
4
+ import { LikeC4Model as LikeC4Model$1 } from '@likec4/core/model';
5
5
  export { AnyAux, Aux, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel } from '@likec4/core/model';
6
6
  import { Tagged, ValueOf, ConditionalPick, Writable } from 'type-fest';
7
+ import { DefaultWeakMap, MultiMap as MultiMap$1 } from '@likec4/core/utils';
8
+ import { Fqn as Fqn$1 } from '@likec4/core/types';
7
9
 
8
10
  /**
9
11
  * A tagging type for string properties that are actually document URIs.
@@ -5182,7 +5184,7 @@ interface FileSystemProvider {
5182
5184
  * evaluation means that all processing is repeated when you access the sequence multiple
5183
5185
  * times; in such a case, it may be better to store the resulting sequence into an array.
5184
5186
  */
5185
- interface Stream<T> extends Iterable<T> {
5187
+ interface Stream$1<T> extends Iterable<T> {
5186
5188
  /**
5187
5189
  * Returns an iterator for this stream. This is the same as calling the `Symbol.iterator` function property.
5188
5190
  */
@@ -5219,7 +5221,7 @@ interface Stream<T> extends Iterable<T> {
5219
5221
  *
5220
5222
  * @param other Stream to be concatenated with this one.
5221
5223
  */
5222
- concat<T2>(other: Iterable<T2>): Stream<T | T2>;
5224
+ concat<T2>(other: Iterable<T2>): Stream$1<T | T2>;
5223
5225
  /**
5224
5226
  * Adds all elements of the stream into a string, separated by the specified separator string.
5225
5227
  *
@@ -5242,7 +5244,7 @@ interface Stream<T> extends Iterable<T> {
5242
5244
  * predicate returns a value which is coercible to the Boolean value `false`, or until the end
5243
5245
  * of the stream.
5244
5246
  */
5245
- every<S extends T>(predicate: (value: T) => value is S): this is Stream<S>;
5247
+ every<S extends T>(predicate: (value: T) => value is S): this is Stream$1<S>;
5246
5248
  every(predicate: (value: T) => unknown): boolean;
5247
5249
  /**
5248
5250
  * Determines whether any member of the stream satisfies the specified test.
@@ -5266,7 +5268,7 @@ interface Stream<T> extends Iterable<T> {
5266
5268
  *
5267
5269
  * @param callbackfn Lazily evaluated function mapping stream elements.
5268
5270
  */
5269
- map<U>(callbackfn: (value: T) => U): Stream<U>;
5271
+ map<U>(callbackfn: (value: T) => U): Stream$1<U>;
5270
5272
  /**
5271
5273
  * Returns the elements of the stream that meet the condition specified in a callback function.
5272
5274
  * The function is called when the resulting stream elements are actually accessed, so accessing the
@@ -5275,13 +5277,13 @@ interface Stream<T> extends Iterable<T> {
5275
5277
  *
5276
5278
  * @param predicate Lazily evaluated function checking a condition on stream elements.
5277
5279
  */
5278
- filter<S extends T>(predicate: (value: T) => value is S): Stream<S>;
5279
- filter(predicate: (value: T) => unknown): Stream<T>;
5280
+ filter<S extends T>(predicate: (value: T) => value is S): Stream$1<S>;
5281
+ filter(predicate: (value: T) => unknown): Stream$1<T>;
5280
5282
  /**
5281
5283
  * Returns the elements of the stream that are _non-nullable_, which means they are neither `undefined`
5282
5284
  * nor `null`.
5283
5285
  */
5284
- nonNullable(): Stream<NonNullable<T>>;
5286
+ nonNullable(): Stream$1<NonNullable<T>>;
5285
5287
  /**
5286
5288
  * Calls the specified callback function for all elements in the stream. The return value of the
5287
5289
  * callback function is the accumulated result, and is provided as an argument in the next call to
@@ -5339,7 +5341,7 @@ interface Stream<T> extends Iterable<T> {
5339
5341
  *
5340
5342
  * @param callbackfn Lazily evaluated function mapping stream elements.
5341
5343
  */
5342
- flatMap<U>(callbackfn: (value: T) => U | Iterable<U>): Stream<U>;
5344
+ flatMap<U>(callbackfn: (value: T) => U | Iterable<U>): Stream$1<U>;
5343
5345
  /**
5344
5346
  * Returns a new stream with all sub-stream or sub-array elements concatenated into it recursively up
5345
5347
  * to the specified depth.
@@ -5357,14 +5359,14 @@ interface Stream<T> extends Iterable<T> {
5357
5359
  * @param skipCount The number of elements to skip. If this is larger than the number of elements in
5358
5360
  * the stream, an empty stream is returned. Defaults to 1.
5359
5361
  */
5360
- tail(skipCount?: number): Stream<T>;
5362
+ tail(skipCount?: number): Stream$1<T>;
5361
5363
  /**
5362
5364
  * Returns a stream consisting of the elements of this stream, truncated to be no longer than `maxSize`
5363
5365
  * in length.
5364
5366
  *
5365
5367
  * @param maxSize The number of elements the stream should be limited to
5366
5368
  */
5367
- limit(maxSize: number): Stream<T>;
5369
+ limit(maxSize: number): Stream$1<T>;
5368
5370
  /**
5369
5371
  * Returns a stream containing only the distinct elements from this stream.
5370
5372
  * Equality is determined with the same rules as a standard `Set`.
@@ -5372,7 +5374,7 @@ interface Stream<T> extends Iterable<T> {
5372
5374
  * @param by A function returning the key used to check equality with a previous stream element.
5373
5375
  * If omitted, the stream elements themselves are used for comparison.
5374
5376
  */
5375
- distinct<Key = T>(by?: (element: T) => Key): Stream<T>;
5377
+ distinct<Key = T>(by?: (element: T) => Key): Stream$1<T>;
5376
5378
  /**
5377
5379
  * Returns a stream that contains all elements that don't exist in the {@link other} iterable.
5378
5380
  * Equality is determined with the same rules as a standard `Set`.
@@ -5380,11 +5382,11 @@ interface Stream<T> extends Iterable<T> {
5380
5382
  * @param key A function returning the key used to check quality.
5381
5383
  * If omitted, the stream elements themselves are used for comparison.
5382
5384
  */
5383
- exclude<Key = T>(other: Iterable<T>, key?: (element: T) => Key): Stream<T>;
5385
+ exclude<Key = T>(other: Iterable<T>, key?: (element: T) => Key): Stream$1<T>;
5384
5386
  }
5385
5387
  type FlatStream<T, Depth extends number> = {
5386
- 'done': Stream<T>;
5387
- 'recur': T extends Iterable<infer Content> ? FlatStream<Content, MinusOne<Depth>> : Stream<T>;
5388
+ 'done': Stream$1<T>;
5389
+ 'recur': T extends Iterable<infer Content> ? FlatStream<Content, MinusOne<Depth>> : Stream$1<T>;
5388
5390
  }[Depth extends 0 ? 'done' : 'recur'];
5389
5391
  type MinusOne<N extends number> = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][N];
5390
5392
 
@@ -5728,19 +5730,19 @@ declare class MultiMap<K, V> {
5728
5730
  /**
5729
5731
  * Returns a stream of key, value pairs for every entry in the map.
5730
5732
  */
5731
- entries(): Stream<[K, V]>;
5733
+ entries(): Stream$1<[K, V]>;
5732
5734
  /**
5733
5735
  * Returns a stream of keys in the map.
5734
5736
  */
5735
- keys(): Stream<K>;
5737
+ keys(): Stream$1<K>;
5736
5738
  /**
5737
5739
  * Returns a stream of values in the map.
5738
5740
  */
5739
- values(): Stream<V>;
5741
+ values(): Stream$1<V>;
5740
5742
  /**
5741
5743
  * Returns a stream of key, value set pairs for every key in the map.
5742
5744
  */
5743
- entriesGroupedByKey(): Stream<[K, V[]]>;
5745
+ entriesGroupedByKey(): Stream$1<[K, V[]]>;
5744
5746
  }
5745
5747
 
5746
5748
  interface Disposable$1 {
@@ -5936,7 +5938,7 @@ interface LangiumDocuments {
5936
5938
  /**
5937
5939
  * A stream of all documents managed under this service.
5938
5940
  */
5939
- readonly all: Stream<LangiumDocument>;
5941
+ readonly all: Stream$1<LangiumDocument>;
5940
5942
  /**
5941
5943
  * Manage a new document under this service.
5942
5944
  * @throws an error if a document with the same URI is already present.
@@ -6208,38 +6210,6 @@ declare class SimpleCache<K, V> extends DisposableCache {
6208
6210
  delete(key: K): boolean;
6209
6211
  clear(): void;
6210
6212
  }
6211
- declare class ContextCache<Context, Key, Value, ContextKey = Context> extends DisposableCache {
6212
- private readonly cache;
6213
- private readonly converter;
6214
- constructor(converter?: (input: Context) => ContextKey);
6215
- has(contextKey: Context, key: Key): boolean;
6216
- set(contextKey: Context, key: Key, value: Value): void;
6217
- get(contextKey: Context, key: Key): Value | undefined;
6218
- get(contextKey: Context, key: Key, provider: () => Value): Value;
6219
- delete(contextKey: Context, key: Key): boolean;
6220
- clear(): void;
6221
- clear(contextKey: Context): void;
6222
- protected cacheForContext(contextKey: Context): Map<Key, Value>;
6223
- }
6224
- /**
6225
- * Every key/value pair in this cache is scoped to a document.
6226
- * If this document is changed or deleted, all associated key/value pairs are deleted.
6227
- */
6228
- declare class DocumentCache<K, V> extends ContextCache<URI | string, K, V, string> {
6229
- /**
6230
- * Creates a new document cache.
6231
- *
6232
- * @param sharedServices Service container instance to hook into document lifecycle events.
6233
- * @param state Optional document state on which the cache should evict.
6234
- * If not provided, the cache will evict on `DocumentBuilder#onUpdate`.
6235
- * *Deleted* documents are considered in both cases.
6236
- *
6237
- * Providing a state here will use `DocumentBuilder#onDocumentPhase` instead,
6238
- * which triggers on all documents that have been affected by this change, assuming that the
6239
- * state is `DocumentState.Linked` or a later state.
6240
- */
6241
- constructor(sharedServices: LangiumSharedCoreServices, state?: DocumentState);
6242
- }
6243
6213
  /**
6244
6214
  * Every key/value pair in this cache is scoped to the whole workspace.
6245
6215
  * If any document in the workspace is added, changed or deleted, the whole cache is evicted.
@@ -6419,7 +6389,7 @@ interface IndexManager {
6419
6389
  * @param uris If specified, only returns elements from the given URIs.
6420
6390
  * @returns a `Stream` containing all globally visible nodes (of a given type).
6421
6391
  */
6422
- allElements(nodeType?: string, uris?: Set<string>): Stream<AstNodeDescription>;
6392
+ allElements(nodeType?: string, uris?: Set<string>): Stream$1<AstNodeDescription>;
6423
6393
  /**
6424
6394
  * Returns all known references that are pointing to the given `targetNode`.
6425
6395
  *
@@ -6428,7 +6398,7 @@ interface IndexManager {
6428
6398
  *
6429
6399
  * @returns a `Stream` of references that are targeting the `targetNode`
6430
6400
  */
6431
- findAllReferences(targetNode: AstNode, astNodePath: string): Stream<ReferenceDescription>;
6401
+ findAllReferences(targetNode: AstNode, astNodePath: string): Stream$1<ReferenceDescription>;
6432
6402
  }
6433
6403
 
6434
6404
  /******************************************************************************
@@ -6491,7 +6461,7 @@ interface Scope {
6491
6461
  * Create a stream of all elements in the scope. This is used to compute completion proposals to be
6492
6462
  * shown in the editor.
6493
6463
  */
6494
- getAllElements(): Stream<AstNodeDescription>;
6464
+ getAllElements(): Stream$1<AstNodeDescription>;
6495
6465
  }
6496
6466
  interface ScopeOptions {
6497
6467
  caseInsensitive?: boolean;
@@ -6710,7 +6680,7 @@ interface References {
6710
6680
  *
6711
6681
  * @param targetNode Specified target node whose references should be returned
6712
6682
  */
6713
- findReferences(targetNode: AstNode, options: FindReferencesOptions): Stream<ReferenceDescription>;
6683
+ findReferences(targetNode: AstNode, options: FindReferencesOptions): Stream$1<ReferenceDescription>;
6714
6684
  }
6715
6685
  interface FindReferencesOptions {
6716
6686
  /**
@@ -6953,7 +6923,7 @@ declare class ValidationRegistry {
6953
6923
  protected wrapValidationException(check: ValidationCheck, thisObj: unknown): ValidationCheck;
6954
6924
  protected handleException(functionality: () => MaybePromise<void>, messageContext: string, accept: ValidationAcceptor, node: AstNode): Promise<void>;
6955
6925
  protected addEntry(type: string, entry: ValidationCheckEntry): void;
6956
- getChecks(type: string, categories?: ValidationCategory[]): Stream<ValidationCheck>;
6926
+ getChecks(type: string, categories?: ValidationCategory[]): Stream$1<ValidationCheck>;
6957
6927
  /**
6958
6928
  * Register logic which will be executed once before validating all the nodes of an AST/Langium document.
6959
6929
  * This helps to prepare or initialize some information which are required or reusable for the following checks on the AstNodes.
@@ -14003,7 +13973,7 @@ declare class DefaultCompletionProvider implements CompletionProvider {
14003
13973
  * @param _context Information about the completion request including document, cursor position, token under cursor, etc.
14004
13974
  * @returns A stream of all elements being valid for the given reference.
14005
13975
  */
14006
- protected getReferenceCandidates(refInfo: ReferenceInfo, _context: CompletionContext): Stream<AstNodeDescription>;
13976
+ protected getReferenceCandidates(refInfo: ReferenceInfo, _context: CompletionContext): Stream$1<AstNodeDescription>;
14007
13977
  /**
14008
13978
  * Override this method to change how reference completion items are created.
14009
13979
  *
@@ -14050,7 +14020,7 @@ declare class LikeC4DocumentHighlightProvider extends DefaultDocumentHighlightPr
14050
14020
  declare class LikeC4DocumentLinkProvider implements DocumentLinkProvider {
14051
14021
  private services;
14052
14022
  constructor(services: LikeC4Services);
14053
- getDocumentLinks(doc: LangiumDocument, _params: DocumentLinkParams): MaybePromise<DocumentLink[]>;
14023
+ getDocumentLinks(doc: LangiumDocument, _params: DocumentLinkParams, cancelToken?: CancellationToken): Promise<DocumentLink[]>;
14054
14024
  resolveLink(doc: LangiumDocument, link: string): string;
14055
14025
  relativeLink(doc: LangiumDocument, link: string): string | null;
14056
14026
  }
@@ -14090,7 +14060,7 @@ type ExtendElementProperty = LinkProperty | MetadataProperty;
14090
14060
  declare const ExtendElementProperty = "ExtendElementProperty";
14091
14061
  type FqnExpr = FqnRefExpr | WildcardExpression;
14092
14062
  declare const FqnExpr = "FqnExpr";
14093
- type FqnReferenceable = Element | ExtendElement | Referenceable;
14063
+ type FqnReferenceable = Element | ExtendDeployment | ExtendElement | Referenceable;
14094
14064
  declare const FqnReferenceable = "FqnReferenceable";
14095
14065
  type IconId = string;
14096
14066
  type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | SizeValue | ThemeColor | string;
@@ -14191,7 +14161,7 @@ interface CustomRelationProperties extends AstNode {
14191
14161
  }
14192
14162
  declare const CustomRelationProperties = "CustomRelationProperties";
14193
14163
  interface DeployedInstance extends AstNode {
14194
- readonly $container: DeploymentNodeBody;
14164
+ readonly $container: DeploymentNodeBody | ExtendDeploymentBody;
14195
14165
  readonly $type: 'DeployedInstance';
14196
14166
  body?: DeployedInstanceBody;
14197
14167
  element: ElementRef;
@@ -14207,7 +14177,7 @@ interface DeployedInstanceBody extends AstNode {
14207
14177
  }
14208
14178
  declare const DeployedInstanceBody = "DeployedInstanceBody";
14209
14179
  interface DeploymentNode extends AstNode {
14210
- readonly $container: DeploymentNodeBody | ModelDeployments;
14180
+ readonly $container: DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
14211
14181
  readonly $type: 'DeploymentNode';
14212
14182
  body?: DeploymentNodeBody;
14213
14183
  kind: Reference<DeploymentNodeKind>;
@@ -14230,7 +14200,7 @@ interface DeploymentNodeKind extends AstNode {
14230
14200
  }
14231
14201
  declare const DeploymentNodeKind = "DeploymentNodeKind";
14232
14202
  interface DeploymentRelation extends AstNode {
14233
- readonly $container: DeploymentNodeBody | ModelDeployments;
14203
+ readonly $container: DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
14234
14204
  readonly $type: 'DeploymentRelation';
14235
14205
  body?: DeploymentRelationBody;
14236
14206
  kind?: Reference<RelationshipKind>;
@@ -14484,6 +14454,21 @@ interface ExpandElementExpression extends AstNode {
14484
14454
  expand: ElementRef;
14485
14455
  }
14486
14456
  declare const ExpandElementExpression = "ExpandElementExpression";
14457
+ interface ExtendDeployment extends AstNode {
14458
+ readonly $container: ModelDeployments;
14459
+ readonly $type: 'ExtendDeployment';
14460
+ body: ExtendDeploymentBody;
14461
+ deploymentNode: StrictFqnRef;
14462
+ }
14463
+ declare const ExtendDeployment = "ExtendDeployment";
14464
+ interface ExtendDeploymentBody extends AstNode {
14465
+ readonly $container: ExtendDeployment;
14466
+ readonly $type: 'ExtendDeploymentBody';
14467
+ elements: Array<DeployedInstance | DeploymentNode | DeploymentRelation>;
14468
+ props: Array<ExtendElementProperty>;
14469
+ tags?: Tags;
14470
+ }
14471
+ declare const ExtendDeploymentBody = "ExtendDeploymentBody";
14487
14472
  interface ExtendElement extends AstNode {
14488
14473
  readonly $container: Model;
14489
14474
  readonly $type: 'ExtendElement';
@@ -14631,7 +14616,7 @@ interface LineProperty extends AstNode {
14631
14616
  }
14632
14617
  declare const LineProperty = "LineProperty";
14633
14618
  interface LinkProperty extends AstNode {
14634
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | RelationBody;
14619
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | RelationBody;
14635
14620
  readonly $type: 'LinkProperty';
14636
14621
  key: 'link';
14637
14622
  title?: string;
@@ -14646,7 +14631,7 @@ interface MetadataAttribute extends AstNode {
14646
14631
  }
14647
14632
  declare const MetadataAttribute = "MetadataAttribute";
14648
14633
  interface MetadataBody extends AstNode {
14649
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | ExtendElementBody | RelationBody;
14634
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | ExtendDeploymentBody | ExtendElementBody | RelationBody;
14650
14635
  readonly $type: 'MetadataBody';
14651
14636
  props: Array<MetadataAttribute>;
14652
14637
  }
@@ -14661,7 +14646,7 @@ declare const Model = "Model";
14661
14646
  interface ModelDeployments extends AstNode {
14662
14647
  readonly $container: LikeC4Grammar;
14663
14648
  readonly $type: 'ModelDeployments';
14664
- elements: Array<DeploymentNode | DeploymentRelation>;
14649
+ elements: Array<DeploymentNode | DeploymentRelation | ExtendDeployment>;
14665
14650
  name: 'deployment';
14666
14651
  }
14667
14652
  declare const ModelDeployments = "ModelDeployments";
@@ -14885,6 +14870,13 @@ interface StrictFqnElementRef extends AstNode {
14885
14870
  parent?: StrictFqnElementRef;
14886
14871
  }
14887
14872
  declare const StrictFqnElementRef = "StrictFqnElementRef";
14873
+ interface StrictFqnRef extends AstNode {
14874
+ readonly $container: ExtendDeployment | StrictFqnRef;
14875
+ readonly $type: 'StrictFqnRef';
14876
+ parent?: StrictFqnRef;
14877
+ value: Reference<Referenceable>;
14878
+ }
14879
+ declare const StrictFqnRef = "StrictFqnRef";
14888
14880
  interface Tag extends AstNode {
14889
14881
  readonly $container: SpecificationTag;
14890
14882
  readonly $type: 'Tag';
@@ -14892,7 +14884,7 @@ interface Tag extends AstNode {
14892
14884
  }
14893
14885
  declare const Tag = "Tag";
14894
14886
  interface Tags extends AstNode {
14895
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | Relation | RelationBody | Tags;
14887
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | Tags;
14896
14888
  readonly $type: 'Tags';
14897
14889
  prev?: Tags;
14898
14890
  values: Array<Reference<Tag>>;
@@ -15086,6 +15078,8 @@ type LikeC4AstType = {
15086
15078
  ExcludePredicate: ExcludePredicate;
15087
15079
  ExpandElementExpression: ExpandElementExpression;
15088
15080
  ExpressionV2: ExpressionV2;
15081
+ ExtendDeployment: ExtendDeployment;
15082
+ ExtendDeploymentBody: ExtendDeploymentBody;
15089
15083
  ExtendElement: ExtendElement;
15090
15084
  ExtendElementBody: ExtendElementBody;
15091
15085
  ExtendElementProperty: ExtendElementProperty;
@@ -15157,6 +15151,7 @@ type LikeC4AstType = {
15157
15151
  SpecificationRule: SpecificationRule;
15158
15152
  SpecificationTag: SpecificationTag;
15159
15153
  StrictFqnElementRef: StrictFqnElementRef;
15154
+ StrictFqnRef: StrictFqnRef;
15160
15155
  StringProperty: StringProperty;
15161
15156
  StyleProperty: StyleProperty;
15162
15157
  Tag: Tag;
@@ -15194,7 +15189,7 @@ type LikeC4AstType = {
15194
15189
 
15195
15190
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
15196
15191
  type Guarded<G> = G extends Guard<infer N> ? N : never;
15197
- 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;
15192
+ 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 | ExtendDeployment | 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;
15198
15193
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
15199
15194
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
15200
15195
  isValid: (n: ValidatableAstNode) => boolean;
@@ -15263,17 +15258,17 @@ interface ParsedAstElement {
15263
15258
  description?: string;
15264
15259
  technology?: string;
15265
15260
  tags?: c4.NonEmptyArray<c4.Tag>;
15266
- links?: c4.NonEmptyArray<ParsedLink>;
15261
+ links?: c4.NonEmptyArray<c4.Link>;
15267
15262
  style: ParsedElementStyle;
15268
15263
  metadata?: {
15269
15264
  [key: string]: string;
15270
15265
  };
15271
15266
  }
15272
- interface ParsedAstExtendElement {
15267
+ interface ParsedAstExtend {
15273
15268
  id: c4.Fqn;
15274
15269
  astPath: string;
15275
15270
  tags?: c4.NonEmptyArray<c4.Tag>;
15276
- links?: c4.NonEmptyArray<ParsedLink>;
15271
+ links?: c4.NonEmptyArray<c4.Link>;
15277
15272
  metadata?: {
15278
15273
  [key: string]: string;
15279
15274
  };
@@ -15292,7 +15287,7 @@ interface ParsedAstRelation {
15292
15287
  line?: c4.RelationshipLineType;
15293
15288
  head?: c4.RelationshipArrowType;
15294
15289
  tail?: c4.RelationshipArrowType;
15295
- links?: c4.NonEmptyArray<ParsedLink>;
15290
+ links?: c4.NonEmptyArray<c4.Link>;
15296
15291
  navigateTo?: c4.ViewId;
15297
15292
  metadata?: {
15298
15293
  [key: string]: string;
@@ -15316,7 +15311,7 @@ interface ParsedAstElementView {
15316
15311
  title: string | null;
15317
15312
  description: string | null;
15318
15313
  tags: c4.NonEmptyArray<c4.Tag> | null;
15319
- links: c4.NonEmptyArray<ParsedLink> | null;
15314
+ links: c4.NonEmptyArray<c4.Link> | null;
15320
15315
  rules: c4.ViewRule[];
15321
15316
  manualLayout?: c4.ViewManualLayout;
15322
15317
  }
@@ -15327,7 +15322,7 @@ interface ParsedAstDynamicView {
15327
15322
  title: string | null;
15328
15323
  description: string | null;
15329
15324
  tags: c4.NonEmptyArray<c4.Tag> | null;
15330
- links: c4.NonEmptyArray<ParsedLink> | null;
15325
+ links: c4.NonEmptyArray<c4.Link> | null;
15331
15326
  steps: c4.DynamicViewStepOrParallel[];
15332
15327
  rules: Array<c4.DynamicViewRule>;
15333
15328
  manualLayout?: c4.ViewManualLayout;
@@ -15339,19 +15334,12 @@ interface ParsedAstDeploymentView {
15339
15334
  title: string | null;
15340
15335
  description: string | null;
15341
15336
  tags: c4.NonEmptyArray<c4.Tag> | null;
15342
- links: c4.NonEmptyArray<ParsedLink> | null;
15337
+ links: c4.NonEmptyArray<c4.Link> | null;
15343
15338
  rules: Array<c4.DeploymentViewRule>;
15344
15339
  }
15345
15340
  type ParsedAstView = ParsedAstElementView | ParsedAstDynamicView | ParsedAstDeploymentView;
15346
- interface ParsedLink {
15347
- title?: string;
15348
- url: string;
15349
- }
15350
- interface DocFqnIndexAstNodeDescription extends AstNodeDescription {
15351
- fqn: c4.Fqn;
15352
- }
15353
- interface DeploymentAstNodeDescription extends AstNodeDescription {
15354
- fqn: string;
15341
+ interface AstNodeDescriptionWithFqn extends AstNodeDescription {
15342
+ id: c4.Fqn;
15355
15343
  }
15356
15344
  type LikeC4AstNode = ValueOf<ConditionalPick<LikeC4AstType, AstNode>>;
15357
15345
  type LikeC4DocumentDiagnostic = Diagnostic & DiagnosticInfo<LikeC4AstNode>;
@@ -15359,13 +15347,13 @@ interface LikeC4DocumentProps {
15359
15347
  diagnostics?: Array<LikeC4DocumentDiagnostic>;
15360
15348
  c4Specification?: ParsedAstSpecification;
15361
15349
  c4Elements?: ParsedAstElement[];
15362
- c4ExtendElements?: ParsedAstExtendElement[];
15350
+ c4ExtendElements?: ParsedAstExtend[];
15351
+ c4ExtendDeployments?: ParsedAstExtend[];
15363
15352
  c4Relations?: ParsedAstRelation[];
15364
15353
  c4Globals?: ParsedAstGlobals;
15365
15354
  c4Views?: ParsedAstView[];
15366
15355
  c4Deployments?: ParsedAstDeployment[];
15367
15356
  c4DeploymentRelations?: ParsedAstDeploymentRelation[];
15368
- c4fqnIndex?: MultiMap<c4.Fqn, DocFqnIndexAstNodeDescription>;
15369
15357
  }
15370
15358
  type LikeC4GrammarDocument = Omit<LangiumDocument<LikeC4Grammar>, 'diagnostics'>;
15371
15359
  interface LikeC4LangiumDocument extends LikeC4GrammarDocument, LikeC4DocumentProps {
@@ -15382,7 +15370,7 @@ declare class LikeC4NameProvider extends DefaultNameProvider {
15382
15370
  }
15383
15371
 
15384
15372
  type ElementsContainer = Model | ElementBody | ExtendElementBody;
15385
- type DeploymentsContainer = ModelDeployments | DeploymentNodeBody;
15373
+ type DeploymentsContainer = ModelDeployments | DeploymentNodeBody | ExtendDeploymentBody;
15386
15374
  declare class LikeC4ScopeComputation extends DefaultScopeComputation {
15387
15375
  constructor(services: LikeC4Services);
15388
15376
  computeExports(document: LikeC4LangiumDocument, _cancelToken?: CancellationToken): Promise<AstNodeDescription[]>;
@@ -15401,116 +15389,118 @@ declare class LikeC4ScopeProvider extends DefaultScopeProvider {
15401
15389
  private deploymentsIndex;
15402
15390
  private fqnIndex;
15403
15391
  constructor(services: LikeC4Services);
15404
- private directChildrenOf;
15405
15392
  private uniqueDescedants;
15406
- private scopeElementRef;
15407
- private scopeExtendElement;
15408
- private scopeElementView;
15409
15393
  getScope(context: ReferenceInfo): Scope;
15394
+ private getScopeElementRef;
15395
+ private getScopeExtendElement;
15396
+ private getScopeElementView;
15397
+ private getScopeForStrictFqnRef;
15398
+ private getScopeExtendDeployment;
15410
15399
  protected getScopeForFqnRef(container: FqnRef, context: ReferenceInfo): any;
15400
+ /**
15401
+ * Computes the scope for a given reference context.
15402
+ *
15403
+ * @param context - The reference information containing the context for which the scope is being computed.
15404
+ * @param referenceType - The type of reference being resolved. Defaults to the reference type derived from the context.
15405
+ * @returns A scope containing the relevant AST node descriptions for the given reference context.
15406
+ *
15407
+ * This method first checks if there are precomputed scopes available in the document. If not, it falls back to the global scope.
15408
+ * It then iterates through the container hierarchy, collecting relevant scopes based on the reference type and container type.
15409
+ * Finally, it combines the collected scopes with the global scope to produce the final scope.
15410
+ */
15411
15411
  protected computeScope(context: ReferenceInfo, referenceType?: any): any;
15412
15412
  }
15413
15413
 
15414
- declare class DeploymentsIndex {
15415
- private services;
15416
- protected Names: LikeC4NameProvider;
15414
+ declare abstract class ADisposable implements Disposable {
15415
+ protected toDispose: Disposable[];
15416
+ protected isDisposed: boolean;
15417
+ onDispose(...disposable: Disposable[]): void;
15418
+ dispose(): void;
15419
+ protected throwIfDisposed(): void;
15420
+ }
15421
+
15422
+ declare class FqnIndex<AstNd extends AstNode = Element> extends ADisposable {
15423
+ protected services: LikeC4Services;
15424
+ private cachePrefix;
15417
15425
  protected langiumDocuments: LangiumDocuments;
15418
- protected documentCache: DocumentCache<string, DocumentDeploymentsIndex>;
15419
- constructor(services: LikeC4Services);
15426
+ protected documentCache: DefaultWeakMap<LikeC4LangiumDocument, DocumentFqnIndex>;
15427
+ protected workspaceCache: WorkspaceCache<string, AstNodeDescriptionWithFqn[]>;
15428
+ constructor(services: LikeC4Services, cachePrefix?: string);
15420
15429
  private documents;
15421
- get(document: LikeC4LangiumDocument): DocumentDeploymentsIndex;
15430
+ get(document: LikeC4LangiumDocument): DocumentFqnIndex;
15431
+ getFqn(el: AstNd): Fqn$1;
15432
+ byFqn(fqn: Fqn$1): Stream$1<AstNodeDescriptionWithFqn>;
15433
+ directChildrenOf(parent: Fqn$1): Stream$1<AstNodeDescriptionWithFqn>;
15422
15434
  /**
15423
- * Nested elements (nodes/artifacts) of the node
15424
- * @param nodeName Name of the deployment node
15425
- * @returns Stream of artifacts
15435
+ * Returns descedant elements with unique names in the scope
15426
15436
  */
15427
- nested(node: DeploymentNode): Stream<DeploymentAstNodeDescription>;
15428
- byFqn(fqnName: string): Stream<DeploymentAstNodeDescription>;
15429
- getFqn(node: DeploymentElement): Fqn;
15430
- createDocumentIndex(document: LikeC4LangiumDocument): DocumentDeploymentsIndex;
15437
+ uniqueDescedants(parent: Fqn$1): Stream$1<AstNodeDescriptionWithFqn>;
15438
+ protected createDocumentIndex(document: LikeC4LangiumDocument): DocumentFqnIndex;
15431
15439
  }
15432
- /**
15433
- * Index of deployment elements in the document
15434
- */
15435
- declare class DocumentDeploymentsIndex {
15436
- private _rootNodes;
15440
+ declare class DocumentFqnIndex {
15441
+ private _rootElements;
15437
15442
  /**
15438
- * Nested of a deployment node
15443
+ * direct children of elements
15439
15444
  */
15440
- private _nested;
15445
+ private _children;
15441
15446
  /**
15442
- * All elements by FQN
15447
+ * All descendants of an element (unique by name)
15443
15448
  */
15444
- private _byfqn;
15445
- static readonly EMPTY: DocumentDeploymentsIndex;
15446
- constructor(_rootNodes: Array<DeploymentAstNodeDescription>,
15449
+ private _descendants;
15447
15450
  /**
15448
- * Nested of a deployment node
15451
+ * All elements by FQN
15449
15452
  */
15450
- _nested: MultiMap<string, DeploymentAstNodeDescription>,
15453
+ private _byfqn;
15454
+ static readonly EMPTY: DocumentFqnIndex;
15455
+ constructor(_rootElements: Array<AstNodeDescriptionWithFqn>,
15451
15456
  /**
15452
- * All elements by FQN
15457
+ * direct children of elements
15453
15458
  */
15454
- _byfqn: MultiMap<string, DeploymentAstNodeDescription>);
15455
- rootNodes(): readonly DeploymentAstNodeDescription[];
15456
- byFqn(fqnName: string): readonly DeploymentAstNodeDescription[];
15459
+ _children: MultiMap$1<Fqn$1, AstNodeDescriptionWithFqn>,
15457
15460
  /**
15458
- * Returns artifacts of a deployment node
15459
- * @param nodeName Name of the deployment node
15460
- * @returns Stream of artifacts
15461
+ * All descendants of an element (unique by name)
15461
15462
  */
15462
- nested(nodeName: string): readonly DeploymentAstNodeDescription[];
15463
+ _descendants: MultiMap$1<Fqn$1, AstNodeDescriptionWithFqn>,
15463
15464
  /**
15464
- * Returns all deployment elements in the document,
15465
- * with unique combination "type and name"
15465
+ * All elements by FQN
15466
15466
  */
15467
- unique(): readonly DeploymentAstNodeDescription[];
15467
+ _byfqn: MultiMap$1<Fqn$1, AstNodeDescriptionWithFqn>);
15468
+ rootElements(): readonly AstNodeDescriptionWithFqn[];
15469
+ byFqn(fqn: Fqn$1): readonly AstNodeDescriptionWithFqn[];
15470
+ children(parent: Fqn$1): readonly AstNodeDescriptionWithFqn[];
15471
+ descendants(nodeName: Fqn$1): readonly AstNodeDescriptionWithFqn[];
15468
15472
  }
15469
15473
 
15470
- declare abstract class ADisposable implements Disposable {
15471
- protected toDispose: Disposable[];
15472
- protected isDisposed: boolean;
15473
- onDispose(...disposable: Disposable[]): void;
15474
- dispose(): void;
15475
- protected throwIfDisposed(): void;
15476
- }
15477
-
15478
- declare class FqnIndex extends ADisposable {
15479
- private services;
15480
- protected langiumDocuments: LangiumDocuments;
15474
+ declare class DeploymentsIndex extends FqnIndex<DeploymentElement> {
15475
+ protected services: LikeC4Services;
15476
+ protected Names: LikeC4NameProvider;
15481
15477
  constructor(services: LikeC4Services);
15482
- get documents(): any;
15483
- private entries;
15484
- getFqn(el: Element): Fqn | null;
15485
- byFqn(fqn: Fqn): Stream<AstNodeDescription>;
15486
- directChildrenOf(parent: Fqn): Stream<AstNodeDescription>;
15487
- /**
15488
- * Returns descedant elements with unique names in the scope
15489
- */
15490
- uniqueDescedants(parent: Fqn): Stream<AstNodeDescription>;
15478
+ protected createDocumentIndex(document: LikeC4LangiumDocument): DocumentFqnIndex;
15491
15479
  }
15492
15480
 
15493
15481
  type ModelParsedListener = (docs: URI[]) => void;
15494
15482
  declare class LikeC4ModelBuilder extends ADisposable {
15495
- private services;
15496
- private langiumDocuments;
15483
+ private parser;
15497
15484
  private listeners;
15485
+ private cache;
15486
+ private DocumentBuilder;
15487
+ private LangiumDocuments;
15498
15488
  constructor(services: LikeC4Services);
15499
15489
  /**
15500
15490
  * WARNING:
15501
15491
  * This method is internal and should to be called only when all documents are known to be parsed.
15502
15492
  * Otherwise, the model may be incomplete.
15503
15493
  */
15504
- unsafeSyncBuildModel(): c4.ParsedLikeC4Model | null;
15505
- buildModel(cancelToken?: CancellationToken): Promise<c4.ParsedLikeC4Model | null>;
15494
+ private unsafeSyncParseModel;
15495
+ parseModel(cancelToken?: CancellationToken): Promise<c4.ParsedLikeC4Model | null>;
15506
15496
  private previousViews;
15507
15497
  /**
15508
15498
  * WARNING:
15509
15499
  * This method is internal and should to be called only when all documents are known to be parsed.
15510
15500
  * Otherwise, the model may be incomplete.
15511
15501
  */
15512
- unsafeSyncBuildComputedModel(model: c4.ParsedLikeC4Model): c4.ComputedLikeC4Model;
15513
- buildComputedModel(cancelToken?: CancellationToken): Promise<c4.ComputedLikeC4Model | null>;
15502
+ unsafeSyncBuildModel(): LikeC4Model.Computed;
15503
+ buildLikeC4Model(cancelToken?: CancellationToken): Promise<LikeC4Model.Computed>;
15514
15504
  computeView(viewId: ViewId, cancelToken?: CancellationToken): Promise<c4.ComputedView | null>;
15515
15505
  onModelParsed(callback: ModelParsedListener): Disposable;
15516
15506
  private documents;
@@ -15522,6 +15512,7 @@ declare class LikeC4ModelLocator {
15522
15512
  private fqnIndex;
15523
15513
  private deploymentsIndex;
15524
15514
  private langiumDocuments;
15515
+ private parser;
15525
15516
  constructor(services: LikeC4Services);
15526
15517
  private documents;
15527
15518
  getParsedElement(astNodeOrFqn: Element | c4.Fqn): ParsedAstElement | null;
@@ -15529,7 +15520,7 @@ declare class LikeC4ModelLocator {
15529
15520
  locateDeploymentElement(fqn: c4.Fqn, _prop?: string): Location | null;
15530
15521
  locateRelation(relationId: c4.RelationId): Location | null;
15531
15522
  locateViewAst(viewId: c4.ViewId): {
15532
- doc: any;
15523
+ doc: Stream<ParsedLikeC4LangiumDocument>;
15533
15524
  view: any;
15534
15525
  viewAst: LikeC4View;
15535
15526
  } | null;
@@ -15552,47 +15543,47 @@ declare class BaseParser {
15552
15543
  parseTags<E extends {
15553
15544
  tags?: Tags;
15554
15545
  }>(withTags?: E): c4.NonEmptyArray<c4.Tag> | null;
15555
- convertLinks(source?: LinkProperty['$container']): ParsedLink[] | undefined;
15556
- parseLinks(source?: LinkProperty['$container']): ParsedLink[] | undefined;
15546
+ convertLinks(source?: LinkProperty['$container']): c4.Link[] | undefined;
15547
+ parseLinks(source?: LinkProperty['$container']): c4.Link[] | undefined;
15557
15548
  }
15558
15549
 
15559
15550
  declare const DocumentParserFromMixins: {
15560
15551
  new (...args: any[]): {
15561
15552
  parseGlobals(): void;
15562
- parseAndStoreGlobalPredicateGroupOrDynamic(astRule: GlobalPredicateGroup | GlobalDynamicPredicateGroup, id: invariant, c4Globals: ParsedAstGlobals): void;
15563
- parseGlobalPredicateGroup(astRule: GlobalPredicateGroup): invariant[];
15564
- parseGlobalDynamicPredicateGroup(astRule: GlobalDynamicPredicateGroup): invariant[];
15565
- parseGlobalStyleOrGroup(astRule: GlobalStyle | GlobalStyleGroup): invariant[];
15553
+ parseAndStoreGlobalPredicateGroupOrDynamic(astRule: GlobalPredicateGroup | GlobalDynamicPredicateGroup, id: DefaultWeakMap, c4Globals: ParsedAstGlobals): void;
15554
+ parseGlobalPredicateGroup(astRule: GlobalPredicateGroup): DefaultWeakMap[];
15555
+ parseGlobalDynamicPredicateGroup(astRule: GlobalDynamicPredicateGroup): DefaultWeakMap[];
15556
+ parseGlobalStyleOrGroup(astRule: GlobalStyle | GlobalStyleGroup): DefaultWeakMap[];
15566
15557
  parseViews(): void;
15567
- parseElementView(astNode: ElementView, additionalStyles: invariant[]): ParsedAstElementView;
15568
- parseViewRule(astRule: ViewRule): invariant;
15569
- parseViewRulePredicate(astNode: ViewRulePredicate): invariant;
15570
- parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): invariant;
15571
- parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): invariant;
15572
- parseViewRuleGroup(astNode: ViewRuleGroup): invariant;
15573
- parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): invariant;
15574
- parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: ElementExpressionsIterator, notationProperty?: NotationProperty): invariant;
15575
- parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): invariant;
15576
- parseDynamicElementView(astNode: DynamicView, additionalStyles: invariant[]): ParsedAstDynamicView;
15577
- parseDynamicViewRule(astRule: DynamicViewRule): invariant;
15578
- parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): invariant;
15579
- parseDynamicParallelSteps(node: DynamicViewParallelSteps): invariant;
15580
- parseDynamicStep(node: DynamicViewStep): invariant;
15581
- parsePredicate(astNode: Predicate): invariant;
15582
- parseElementPredicate(astNode: ElementPredicate): invariant;
15583
- parseElementExpressionsIterator(astNode: ElementExpressionsIterator): invariant[];
15584
- parseElementExpression(astNode: ElementExpression): invariant;
15585
- parseElementPredicateWhere(astNode: ElementPredicateWhere): invariant;
15586
- parseElementPredicateWith(astNode: ElementPredicateWith): invariant;
15587
- parseRelationPredicate(astNode: RelationPredicate): invariant;
15588
- parseRelationPredicateWhere(astNode: RelationPredicateWhere): invariant;
15589
- parseRelationPredicateWith(astNode: RelationPredicateWith, relation: invariant | invariant): invariant;
15590
- parseRelationExpression(astNode: RelationExpression): invariant;
15558
+ parseElementView(astNode: ElementView, additionalStyles: DefaultWeakMap[]): ParsedAstElementView;
15559
+ parseViewRule(astRule: ViewRule): DefaultWeakMap;
15560
+ parseViewRulePredicate(astNode: ViewRulePredicate): DefaultWeakMap;
15561
+ parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): DefaultWeakMap;
15562
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): DefaultWeakMap;
15563
+ parseViewRuleGroup(astNode: ViewRuleGroup): DefaultWeakMap;
15564
+ parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): DefaultWeakMap;
15565
+ parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: ElementExpressionsIterator, notationProperty?: NotationProperty): DefaultWeakMap;
15566
+ parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): DefaultWeakMap;
15567
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: DefaultWeakMap[]): ParsedAstDynamicView;
15568
+ parseDynamicViewRule(astRule: DynamicViewRule): DefaultWeakMap;
15569
+ parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): DefaultWeakMap;
15570
+ parseDynamicParallelSteps(node: DynamicViewParallelSteps): DefaultWeakMap;
15571
+ parseDynamicStep(node: DynamicViewStep): DefaultWeakMap;
15572
+ parsePredicate(astNode: Predicate): DefaultWeakMap;
15573
+ parseElementPredicate(astNode: ElementPredicate): DefaultWeakMap;
15574
+ parseElementExpressionsIterator(astNode: ElementExpressionsIterator): DefaultWeakMap[];
15575
+ parseElementExpression(astNode: ElementExpression): DefaultWeakMap;
15576
+ parseElementPredicateWhere(astNode: ElementPredicateWhere): DefaultWeakMap;
15577
+ parseElementPredicateWith(astNode: ElementPredicateWith): DefaultWeakMap;
15578
+ parseRelationPredicate(astNode: RelationPredicate): DefaultWeakMap;
15579
+ parseRelationPredicateWhere(astNode: RelationPredicateWhere): DefaultWeakMap;
15580
+ parseRelationPredicateWith(astNode: RelationPredicateWith, relation: DefaultWeakMap | DefaultWeakMap): DefaultWeakMap;
15581
+ parseRelationExpression(astNode: RelationExpression): DefaultWeakMap;
15591
15582
  isValid: IsValidFn;
15592
15583
  readonly services: LikeC4Services;
15593
15584
  readonly doc: ParsedLikeC4LangiumDocument;
15594
- resolveFqn(node: FqnReferenceable): invariant;
15595
- getAstNodePath(node: invariant): any;
15585
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15586
+ getAstNodePath(node: DefaultWeakMap): any;
15596
15587
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15597
15588
  [key: string]: string;
15598
15589
  } | undefined;
@@ -15601,57 +15592,58 @@ declare const DocumentParserFromMixins: {
15601
15592
  }>(withTags?: E | undefined): any;
15602
15593
  parseTags<E extends {
15603
15594
  tags?: Tags;
15604
- }>(withTags?: E): invariant<invariant> | null;
15605
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15606
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15595
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15596
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15597
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15607
15598
  parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
15608
- parseDeploymentViewRule(astRule: DeploymentViewRule): invariant;
15609
- parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): invariant;
15610
- parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): invariant;
15611
- parseFqnRef(astNode: FqnRef): invariant;
15612
- parseFqnExpr(astNode: FqnExpr): invariant;
15613
- parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15614
- parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15615
- parseFqnExpressions(astNode: FqnExpressions): invariant[];
15616
- parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15617
- parseRelationExpr(astNode: RelationExpr): invariant;
15599
+ parseDeploymentViewRule(astRule: DeploymentViewRule): DefaultWeakMap;
15600
+ parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): DefaultWeakMap;
15601
+ parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): DefaultWeakMap;
15602
+ parseFqnRef(astNode: FqnRef): DefaultWeakMap;
15603
+ parseFqnExpr(astNode: FqnExpr): DefaultWeakMap;
15604
+ parseFqnRefExpr(astNode: FqnRefExpr): DefaultWeakMap;
15605
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): DefaultWeakMap;
15606
+ parseFqnExpressions(astNode: FqnExpressions): DefaultWeakMap[];
15607
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): DefaultWeakMap;
15608
+ parseRelationExpr(astNode: RelationExpr): DefaultWeakMap;
15618
15609
  parseDeployment(): void;
15619
15610
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
15620
15611
  parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
15612
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
15621
15613
  parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
15622
15614
  };
15623
15615
  } & {
15624
15616
  new (...args: any[]): {
15625
15617
  parseViews(): void;
15626
- parseElementView(astNode: ElementView, additionalStyles: invariant[]): ParsedAstElementView;
15627
- parseViewRule(astRule: ViewRule): invariant;
15628
- parseViewRulePredicate(astNode: ViewRulePredicate): invariant;
15629
- parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): invariant;
15630
- parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): invariant;
15631
- parseViewRuleGroup(astNode: ViewRuleGroup): invariant;
15632
- parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): invariant;
15633
- parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: ElementExpressionsIterator, notationProperty?: NotationProperty): invariant;
15634
- parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): invariant;
15635
- parseDynamicElementView(astNode: DynamicView, additionalStyles: invariant[]): ParsedAstDynamicView;
15636
- parseDynamicViewRule(astRule: DynamicViewRule): invariant;
15637
- parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): invariant;
15638
- parseDynamicParallelSteps(node: DynamicViewParallelSteps): invariant;
15639
- parseDynamicStep(node: DynamicViewStep): invariant;
15640
- parsePredicate(astNode: Predicate): invariant;
15641
- parseElementPredicate(astNode: ElementPredicate): invariant;
15642
- parseElementExpressionsIterator(astNode: ElementExpressionsIterator): invariant[];
15643
- parseElementExpression(astNode: ElementExpression): invariant;
15644
- parseElementPredicateWhere(astNode: ElementPredicateWhere): invariant;
15645
- parseElementPredicateWith(astNode: ElementPredicateWith): invariant;
15646
- parseRelationPredicate(astNode: RelationPredicate): invariant;
15647
- parseRelationPredicateWhere(astNode: RelationPredicateWhere): invariant;
15648
- parseRelationPredicateWith(astNode: RelationPredicateWith, relation: invariant | invariant): invariant;
15649
- parseRelationExpression(astNode: RelationExpression): invariant;
15618
+ parseElementView(astNode: ElementView, additionalStyles: DefaultWeakMap[]): ParsedAstElementView;
15619
+ parseViewRule(astRule: ViewRule): DefaultWeakMap;
15620
+ parseViewRulePredicate(astNode: ViewRulePredicate): DefaultWeakMap;
15621
+ parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): DefaultWeakMap;
15622
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): DefaultWeakMap;
15623
+ parseViewRuleGroup(astNode: ViewRuleGroup): DefaultWeakMap;
15624
+ parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): DefaultWeakMap;
15625
+ parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: ElementExpressionsIterator, notationProperty?: NotationProperty): DefaultWeakMap;
15626
+ parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): DefaultWeakMap;
15627
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: DefaultWeakMap[]): ParsedAstDynamicView;
15628
+ parseDynamicViewRule(astRule: DynamicViewRule): DefaultWeakMap;
15629
+ parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): DefaultWeakMap;
15630
+ parseDynamicParallelSteps(node: DynamicViewParallelSteps): DefaultWeakMap;
15631
+ parseDynamicStep(node: DynamicViewStep): DefaultWeakMap;
15632
+ parsePredicate(astNode: Predicate): DefaultWeakMap;
15633
+ parseElementPredicate(astNode: ElementPredicate): DefaultWeakMap;
15634
+ parseElementExpressionsIterator(astNode: ElementExpressionsIterator): DefaultWeakMap[];
15635
+ parseElementExpression(astNode: ElementExpression): DefaultWeakMap;
15636
+ parseElementPredicateWhere(astNode: ElementPredicateWhere): DefaultWeakMap;
15637
+ parseElementPredicateWith(astNode: ElementPredicateWith): DefaultWeakMap;
15638
+ parseRelationPredicate(astNode: RelationPredicate): DefaultWeakMap;
15639
+ parseRelationPredicateWhere(astNode: RelationPredicateWhere): DefaultWeakMap;
15640
+ parseRelationPredicateWith(astNode: RelationPredicateWith, relation: DefaultWeakMap | DefaultWeakMap): DefaultWeakMap;
15641
+ parseRelationExpression(astNode: RelationExpression): DefaultWeakMap;
15650
15642
  isValid: IsValidFn;
15651
15643
  readonly services: LikeC4Services;
15652
15644
  readonly doc: ParsedLikeC4LangiumDocument;
15653
- resolveFqn(node: FqnReferenceable): invariant;
15654
- getAstNodePath(node: invariant): any;
15645
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15646
+ getAstNodePath(node: DefaultWeakMap): any;
15655
15647
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15656
15648
  [key: string]: string;
15657
15649
  } | undefined;
@@ -15660,23 +15652,24 @@ declare const DocumentParserFromMixins: {
15660
15652
  }>(withTags?: E | undefined): any;
15661
15653
  parseTags<E extends {
15662
15654
  tags?: Tags;
15663
- }>(withTags?: E): invariant<invariant> | null;
15664
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15665
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15655
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15656
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15657
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15666
15658
  parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
15667
- parseDeploymentViewRule(astRule: DeploymentViewRule): invariant;
15668
- parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): invariant;
15669
- parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): invariant;
15670
- parseFqnRef(astNode: FqnRef): invariant;
15671
- parseFqnExpr(astNode: FqnExpr): invariant;
15672
- parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15673
- parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15674
- parseFqnExpressions(astNode: FqnExpressions): invariant[];
15675
- parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15676
- parseRelationExpr(astNode: RelationExpr): invariant;
15659
+ parseDeploymentViewRule(astRule: DeploymentViewRule): DefaultWeakMap;
15660
+ parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): DefaultWeakMap;
15661
+ parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): DefaultWeakMap;
15662
+ parseFqnRef(astNode: FqnRef): DefaultWeakMap;
15663
+ parseFqnExpr(astNode: FqnExpr): DefaultWeakMap;
15664
+ parseFqnRefExpr(astNode: FqnRefExpr): DefaultWeakMap;
15665
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): DefaultWeakMap;
15666
+ parseFqnExpressions(astNode: FqnExpressions): DefaultWeakMap[];
15667
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): DefaultWeakMap;
15668
+ parseRelationExpr(astNode: RelationExpr): DefaultWeakMap;
15677
15669
  parseDeployment(): void;
15678
15670
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
15679
15671
  parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
15672
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
15680
15673
  parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
15681
15674
  };
15682
15675
  } & {
@@ -15686,8 +15679,8 @@ declare const DocumentParserFromMixins: {
15686
15679
  isValid: IsValidFn;
15687
15680
  readonly services: LikeC4Services;
15688
15681
  readonly doc: ParsedLikeC4LangiumDocument;
15689
- resolveFqn(node: FqnReferenceable): invariant;
15690
- getAstNodePath(node: invariant): any;
15682
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15683
+ getAstNodePath(node: DefaultWeakMap): any;
15691
15684
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15692
15685
  [key: string]: string;
15693
15686
  } | undefined;
@@ -15696,27 +15689,27 @@ declare const DocumentParserFromMixins: {
15696
15689
  }>(withTags?: E | undefined): any;
15697
15690
  parseTags<E extends {
15698
15691
  tags?: Tags;
15699
- }>(withTags?: E): invariant<invariant> | null;
15700
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15701
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15692
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15693
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15694
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15702
15695
  };
15703
15696
  } & {
15704
15697
  new (...args: any[]): {
15705
- parsePredicate(astNode: Predicate): invariant;
15706
- parseElementPredicate(astNode: ElementPredicate): invariant;
15707
- parseElementExpressionsIterator(astNode: ElementExpressionsIterator): invariant[];
15708
- parseElementExpression(astNode: ElementExpression): invariant;
15709
- parseElementPredicateWhere(astNode: ElementPredicateWhere): invariant;
15710
- parseElementPredicateWith(astNode: ElementPredicateWith): invariant;
15711
- parseRelationPredicate(astNode: RelationPredicate): invariant;
15712
- parseRelationPredicateWhere(astNode: RelationPredicateWhere): invariant;
15713
- parseRelationPredicateWith(astNode: RelationPredicateWith, relation: invariant | invariant): invariant;
15714
- parseRelationExpression(astNode: RelationExpression): invariant;
15698
+ parsePredicate(astNode: Predicate): DefaultWeakMap;
15699
+ parseElementPredicate(astNode: ElementPredicate): DefaultWeakMap;
15700
+ parseElementExpressionsIterator(astNode: ElementExpressionsIterator): DefaultWeakMap[];
15701
+ parseElementExpression(astNode: ElementExpression): DefaultWeakMap;
15702
+ parseElementPredicateWhere(astNode: ElementPredicateWhere): DefaultWeakMap;
15703
+ parseElementPredicateWith(astNode: ElementPredicateWith): DefaultWeakMap;
15704
+ parseRelationPredicate(astNode: RelationPredicate): DefaultWeakMap;
15705
+ parseRelationPredicateWhere(astNode: RelationPredicateWhere): DefaultWeakMap;
15706
+ parseRelationPredicateWith(astNode: RelationPredicateWith, relation: DefaultWeakMap | DefaultWeakMap): DefaultWeakMap;
15707
+ parseRelationExpression(astNode: RelationExpression): DefaultWeakMap;
15715
15708
  isValid: IsValidFn;
15716
15709
  readonly services: LikeC4Services;
15717
15710
  readonly doc: ParsedLikeC4LangiumDocument;
15718
- resolveFqn(node: FqnReferenceable): invariant;
15719
- getAstNodePath(node: invariant): any;
15711
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15712
+ getAstNodePath(node: DefaultWeakMap): any;
15720
15713
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15721
15714
  [key: string]: string;
15722
15715
  } | undefined;
@@ -15725,28 +15718,28 @@ declare const DocumentParserFromMixins: {
15725
15718
  }>(withTags?: E | undefined): any;
15726
15719
  parseTags<E extends {
15727
15720
  tags?: Tags;
15728
- }>(withTags?: E): invariant<invariant> | null;
15729
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15730
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15721
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15722
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15723
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15731
15724
  };
15732
15725
  } & {
15733
15726
  new (...args: any[]): {
15734
15727
  parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
15735
- parseDeploymentViewRule(astRule: DeploymentViewRule): invariant;
15736
- parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): invariant;
15737
- parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): invariant;
15738
- parseFqnRef(astNode: FqnRef): invariant;
15739
- parseFqnExpr(astNode: FqnExpr): invariant;
15740
- parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15741
- parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15742
- parseFqnExpressions(astNode: FqnExpressions): invariant[];
15743
- parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15744
- parseRelationExpr(astNode: RelationExpr): invariant;
15728
+ parseDeploymentViewRule(astRule: DeploymentViewRule): DefaultWeakMap;
15729
+ parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): DefaultWeakMap;
15730
+ parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): DefaultWeakMap;
15731
+ parseFqnRef(astNode: FqnRef): DefaultWeakMap;
15732
+ parseFqnExpr(astNode: FqnExpr): DefaultWeakMap;
15733
+ parseFqnRefExpr(astNode: FqnRefExpr): DefaultWeakMap;
15734
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): DefaultWeakMap;
15735
+ parseFqnExpressions(astNode: FqnExpressions): DefaultWeakMap[];
15736
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): DefaultWeakMap;
15737
+ parseRelationExpr(astNode: RelationExpr): DefaultWeakMap;
15745
15738
  isValid: IsValidFn;
15746
15739
  readonly services: LikeC4Services;
15747
15740
  readonly doc: ParsedLikeC4LangiumDocument;
15748
- resolveFqn(node: FqnReferenceable): invariant;
15749
- getAstNodePath(node: invariant): any;
15741
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15742
+ getAstNodePath(node: DefaultWeakMap): any;
15750
15743
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15751
15744
  [key: string]: string;
15752
15745
  } | undefined;
@@ -15755,12 +15748,13 @@ declare const DocumentParserFromMixins: {
15755
15748
  }>(withTags?: E | undefined): any;
15756
15749
  parseTags<E extends {
15757
15750
  tags?: Tags;
15758
- }>(withTags?: E): invariant<invariant> | null;
15759
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15760
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15751
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15752
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15753
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15761
15754
  parseDeployment(): void;
15762
15755
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
15763
15756
  parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
15757
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
15764
15758
  parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
15765
15759
  };
15766
15760
  } & {
@@ -15768,19 +15762,20 @@ declare const DocumentParserFromMixins: {
15768
15762
  parseDeployment(): void;
15769
15763
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
15770
15764
  parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
15765
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
15771
15766
  parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
15772
- parseFqnRef(astNode: FqnRef): invariant;
15773
- parseFqnExpr(astNode: FqnExpr): invariant;
15774
- parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15775
- parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15776
- parseFqnExpressions(astNode: FqnExpressions): invariant[];
15777
- parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15778
- parseRelationExpr(astNode: RelationExpr): invariant;
15767
+ parseFqnRef(astNode: FqnRef): DefaultWeakMap;
15768
+ parseFqnExpr(astNode: FqnExpr): DefaultWeakMap;
15769
+ parseFqnRefExpr(astNode: FqnRefExpr): DefaultWeakMap;
15770
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): DefaultWeakMap;
15771
+ parseFqnExpressions(astNode: FqnExpressions): DefaultWeakMap[];
15772
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): DefaultWeakMap;
15773
+ parseRelationExpr(astNode: RelationExpr): DefaultWeakMap;
15779
15774
  isValid: IsValidFn;
15780
15775
  readonly services: LikeC4Services;
15781
15776
  readonly doc: ParsedLikeC4LangiumDocument;
15782
- resolveFqn(node: FqnReferenceable): invariant;
15783
- getAstNodePath(node: invariant): any;
15777
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15778
+ getAstNodePath(node: DefaultWeakMap): any;
15784
15779
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15785
15780
  [key: string]: string;
15786
15781
  } | undefined;
@@ -15789,21 +15784,21 @@ declare const DocumentParserFromMixins: {
15789
15784
  }>(withTags?: E | undefined): any;
15790
15785
  parseTags<E extends {
15791
15786
  tags?: Tags;
15792
- }>(withTags?: E): invariant<invariant> | null;
15793
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15794
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15787
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15788
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15789
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15795
15790
  };
15796
15791
  } & {
15797
15792
  new (...args: any[]): {
15798
15793
  parseModel(): void;
15799
15794
  parseElement(astNode: Element): ParsedAstElement;
15800
- parseExtendElement(astNode: ExtendElement): ParsedAstExtendElement | null;
15795
+ parseExtendElement(astNode: ExtendElement): ParsedAstExtend | null;
15801
15796
  parseRelation(astNode: Relation): ParsedAstRelation;
15802
15797
  isValid: IsValidFn;
15803
15798
  readonly services: LikeC4Services;
15804
15799
  readonly doc: ParsedLikeC4LangiumDocument;
15805
- resolveFqn(node: FqnReferenceable): invariant;
15806
- getAstNodePath(node: invariant): any;
15800
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15801
+ getAstNodePath(node: DefaultWeakMap): any;
15807
15802
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15808
15803
  [key: string]: string;
15809
15804
  } | undefined;
@@ -15812,24 +15807,24 @@ declare const DocumentParserFromMixins: {
15812
15807
  }>(withTags?: E | undefined): any;
15813
15808
  parseTags<E extends {
15814
15809
  tags?: Tags;
15815
- }>(withTags?: E): invariant<invariant> | null;
15816
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15817
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15810
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15811
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15812
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15818
15813
  };
15819
15814
  } & {
15820
15815
  new (...args: any[]): {
15821
- parseFqnRef(astNode: FqnRef): invariant;
15822
- parseFqnExpr(astNode: FqnExpr): invariant;
15823
- parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15824
- parseElementWhereExpr(astNode: ElementPredicateWhereV2): invariant;
15825
- parseFqnExpressions(astNode: FqnExpressions): invariant[];
15826
- parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15827
- parseRelationExpr(astNode: RelationExpr): invariant;
15816
+ parseFqnRef(astNode: FqnRef): DefaultWeakMap;
15817
+ parseFqnExpr(astNode: FqnExpr): DefaultWeakMap;
15818
+ parseFqnRefExpr(astNode: FqnRefExpr): DefaultWeakMap;
15819
+ parseElementWhereExpr(astNode: ElementPredicateWhereV2): DefaultWeakMap;
15820
+ parseFqnExpressions(astNode: FqnExpressions): DefaultWeakMap[];
15821
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): DefaultWeakMap;
15822
+ parseRelationExpr(astNode: RelationExpr): DefaultWeakMap;
15828
15823
  isValid: IsValidFn;
15829
15824
  readonly services: LikeC4Services;
15830
15825
  readonly doc: ParsedLikeC4LangiumDocument;
15831
- resolveFqn(node: FqnReferenceable): invariant;
15832
- getAstNodePath(node: invariant): any;
15826
+ resolveFqn(node: FqnReferenceable): DefaultWeakMap;
15827
+ getAstNodePath(node: DefaultWeakMap): any;
15833
15828
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
15834
15829
  [key: string]: string;
15835
15830
  } | undefined;
@@ -15838,19 +15833,21 @@ declare const DocumentParserFromMixins: {
15838
15833
  }>(withTags?: E | undefined): any;
15839
15834
  parseTags<E extends {
15840
15835
  tags?: Tags;
15841
- }>(withTags?: E): invariant<invariant> | null;
15842
- convertLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15843
- parseLinks(source?: LinkProperty["$container"]): ParsedLink[] | undefined;
15836
+ }>(withTags?: E): DefaultWeakMap<DefaultWeakMap> | null;
15837
+ convertLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15838
+ parseLinks(source?: LinkProperty["$container"]): DefaultWeakMap[] | undefined;
15844
15839
  };
15845
15840
  } & typeof BaseParser;
15846
15841
  declare class DocumentParser extends DocumentParserFromMixins {
15847
15842
  }
15848
15843
  declare class LikeC4ModelParser {
15849
15844
  private services;
15850
- private cachedParsers;
15845
+ protected cachedParsers: any;
15851
15846
  constructor(services: LikeC4Services);
15847
+ documents(): Stream$1<ParsedLikeC4LangiumDocument>;
15852
15848
  parse(doc: LangiumDocument): ParsedLikeC4LangiumDocument;
15853
15849
  forDocument(doc: LangiumDocument): DocumentParser;
15850
+ private createParser;
15854
15851
  }
15855
15852
 
15856
15853
  declare class LikeC4DocumentSymbolProvider implements DocumentSymbolProvider {
@@ -15873,7 +15870,7 @@ declare class LikeC4DocumentSymbolProvider implements DocumentSymbolProvider {
15873
15870
  protected getTagSymbol(astTag: SpecificationTag): DocumentSymbol | null;
15874
15871
  protected getLibIconSymbol(astTag: LibIcon): DocumentSymbol | null;
15875
15872
  protected getViewSymbol(astView: LikeC4View): DocumentSymbol[];
15876
- protected getDeploymentElementSymbol(el: DeploymentElement | DeploymentRelation): DocumentSymbol[];
15873
+ protected getDeploymentElementSymbol(el: DeploymentElement | DeploymentRelation | ExtendDeployment): DocumentSymbol[];
15877
15874
  protected getDeploymentNodeSymbol(astElement: DeploymentNode): DocumentSymbol[];
15878
15875
  protected getDeployedInstanceSymbol(astElement: DeployedInstance): DocumentSymbol[];
15879
15876
  protected symbolKind(node: AstNode): SymbolKind;
@@ -15958,6 +15955,7 @@ declare class LikeC4Views {
15958
15955
  private services;
15959
15956
  private cache;
15960
15957
  private viewsWithReportedErrors;
15958
+ private ModelBuilder;
15961
15959
  constructor(services: LikeC4Services);
15962
15960
  get layouter(): GraphvizLayouter;
15963
15961
  computedViews(cancelToken?: CancellationToken): Promise<ComputedView[]>;
@@ -15985,8 +15983,7 @@ interface LikeC4AddedServices {
15985
15983
  documentation: {
15986
15984
  DocumentationProvider: LikeC4DocumentationProvider;
15987
15985
  };
15988
- WorkspaceCache: WorkspaceCache<string, any>;
15989
- DocumentCache: DocumentCache<string, any>;
15986
+ ValidatedWorkspaceCache: WorkspaceCache<string, any>;
15990
15987
  Rpc: Rpc;
15991
15988
  likec4: {
15992
15989
  Views: LikeC4Views;
@@ -16062,7 +16059,6 @@ declare class LikeC4 {
16062
16059
  * By default in current folder
16063
16060
  */
16064
16061
  static fromWorkspace(path?: string, opts?: LikeC4Options): Promise<LikeC4>;
16065
- private modelComputedRef;
16066
16062
  private modelLayoutedRef;
16067
16063
  private logger;
16068
16064
  private constructor();
@@ -16074,16 +16070,16 @@ declare class LikeC4 {
16074
16070
  */
16075
16071
  diagrams(): Promise<DiagramView[]>;
16076
16072
  /**
16077
- * Synchronously builds architecture model
16078
- * Only compute views predicates {@link ComputedView} - i.e. no layout
16073
+ * Builds LikeC4Model from all documents
16074
+ * Only computes view predicates {@link ComputedView} - i.e. no layout
16079
16075
  * Not ready for rendering, but enough to traverse
16080
16076
  */
16081
- computedModel(): LikeC4Model.Computed;
16077
+ computedModel(): LikeC4Model$1.Computed;
16082
16078
  /**
16083
- * Same as {@link computedModel()}, after applies layout
16079
+ * Same as {@link computedModel()}, but also applies layout
16084
16080
  * Ready for rendering
16085
16081
  */
16086
- layoutedModel(): Promise<LikeC4Model.Layouted>;
16082
+ layoutedModel(): Promise<LikeC4Model$1.Layouted>;
16087
16083
  getErrors(): {
16088
16084
  message: string;
16089
16085
  line: number;