@likec4/language-server 1.32.2 → 1.34.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/README.md +27 -1
- package/dist/Rpc.d.ts +2 -0
- package/dist/Rpc.js +24 -6
- package/dist/ast.d.ts +6 -5
- package/dist/ast.js +3 -0
- package/dist/bundled.mjs +3194 -2547
- package/dist/formatting/LikeC4Formatter.d.ts +1 -0
- package/dist/formatting/LikeC4Formatter.js +25 -1
- package/dist/generated/ast.d.ts +21 -12
- package/dist/generated/ast.js +21 -9
- package/dist/generated/grammar.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -2
- package/dist/lsp/SemanticTokenProvider.js +1 -1
- package/dist/mcp/{LikeC4MCPServerFactory.d.ts → NoopLikeC4MCPServer.d.ts} +1 -9
- package/dist/mcp/interfaces.d.ts +11 -0
- package/dist/mcp/interfaces.js +0 -0
- package/dist/mcp/sseserver/MCPServer.d.ts +1 -1
- package/dist/mcp/sseserver/MCPServer.js +5 -5
- package/dist/mcp/sseserver/MCPServerFactory.js +30 -58
- package/dist/mcp/sseserver/{with-mcp-server.d.ts → WithMCPServer.d.ts} +1 -1
- package/dist/mcp/tools/_common.d.ts +68 -0
- package/dist/mcp/tools/_common.js +14 -0
- package/dist/mcp/tools/list-projects.d.ts +6 -0
- package/dist/mcp/tools/list-projects.js +31 -0
- package/dist/mcp/tools/open-view.d.ts +10 -0
- package/dist/mcp/tools/open-view.js +29 -0
- package/dist/mcp/tools/read-element.d.ts +10 -0
- package/dist/mcp/tools/read-element.js +135 -0
- package/dist/mcp/tools/read-project-elements.d.ts +8 -0
- package/dist/mcp/tools/read-project-elements.js +93 -0
- package/dist/mcp/tools/read-project-summary.d.ts +8 -0
- package/dist/mcp/tools/read-project-summary.js +68 -0
- package/dist/mcp/tools/read-view.d.ts +10 -0
- package/dist/mcp/tools/read-view.js +164 -0
- package/dist/mcp/tools/search-element.d.ts +8 -0
- package/dist/mcp/tools/search-element.js +105 -0
- package/dist/mcp/utils.d.ts +17 -34
- package/dist/mcp/utils.js +41 -101
- package/dist/model/builder/MergedSpecification.js +8 -4
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.js +1 -0
- package/dist/model/model-parser-where.d.ts +1 -0
- package/dist/model/model-parser-where.js +30 -24
- package/dist/model/model-parser.d.ts +140 -0
- package/dist/model/parser/Base.d.ts +30 -2
- package/dist/model/parser/Base.js +54 -3
- package/dist/model/parser/DeploymentModelParser.d.ts +17 -1
- package/dist/model/parser/DeploymentModelParser.js +24 -21
- package/dist/model/parser/DeploymentViewParser.d.ts +17 -1
- package/dist/model/parser/DeploymentViewParser.js +15 -6
- package/dist/model/parser/FqnRefParser.d.ts +17 -1
- package/dist/model/parser/FqnRefParser.js +42 -16
- package/dist/model/parser/GlobalsParser.d.ts +17 -1
- package/dist/model/parser/ImportsParser.d.ts +14 -0
- package/dist/model/parser/ModelParser.d.ts +17 -1
- package/dist/model/parser/ModelParser.js +22 -14
- package/dist/model/parser/PredicatesParser.d.ts +17 -1
- package/dist/model/parser/SpecificationParser.d.ts +14 -0
- package/dist/model/parser/SpecificationParser.js +16 -11
- package/dist/model/parser/ValueConverter.d.ts +4 -0
- package/dist/model/parser/ValueConverter.js +12 -0
- package/dist/model/parser/ViewsParser.d.ts +17 -1
- package/dist/model/parser/ViewsParser.js +21 -7
- package/dist/module.d.ts +5 -4
- package/dist/module.js +6 -7
- package/dist/protocol.d.ts +16 -0
- package/dist/protocol.js +4 -0
- package/dist/validation/property-checks.js +1 -1
- package/dist/views/configurable-layouter.js +22 -28
- package/dist/views/likec4-views.d.ts +5 -0
- package/dist/views/likec4-views.js +6 -1
- package/package.json +20 -19
- package/dist/mcp/LikeC4MCPTools.d.ts +0 -96
- package/dist/mcp/LikeC4MCPTools.js +0 -290
- /package/dist/mcp/{LikeC4MCPServerFactory.js → NoopLikeC4MCPServer.js} +0 -0
- /package/dist/mcp/sseserver/{with-mcp-server.js → WithMCPServer.js} +0 -0
|
@@ -50,6 +50,8 @@ declare const DocumentParserFromMixins: {
|
|
|
50
50
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
51
51
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
52
52
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
53
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
54
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
53
55
|
isValid: import("../validation").IsValidFn;
|
|
54
56
|
readonly services: LikeC4Services;
|
|
55
57
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -63,6 +65,7 @@ declare const DocumentParserFromMixins: {
|
|
|
63
65
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
64
66
|
[key: string]: string;
|
|
65
67
|
} | undefined;
|
|
68
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
66
69
|
convertTags<E extends {
|
|
67
70
|
tags?: import("../generated/ast").Tags;
|
|
68
71
|
}>(withTags?: E | undefined): any;
|
|
@@ -75,6 +78,19 @@ declare const DocumentParserFromMixins: {
|
|
|
75
78
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
76
79
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
77
80
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
81
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
82
|
+
title?: string | undefined;
|
|
83
|
+
description?: string | undefined;
|
|
84
|
+
technology?: string | undefined;
|
|
85
|
+
}, bodyProps: {
|
|
86
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
87
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
88
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
89
|
+
}): {
|
|
90
|
+
title?: string;
|
|
91
|
+
description?: ProjectId;
|
|
92
|
+
technology?: string;
|
|
93
|
+
};
|
|
78
94
|
parseDeploymentView(astNode: import("../generated/ast").DeploymentView): import("../ast").ParsedAstDeploymentView;
|
|
79
95
|
parseDeploymentViewRule(astRule: import("../generated/ast").DeploymentViewRule): ProjectId;
|
|
80
96
|
parseDeploymentViewRulePredicate(astRule: import("../generated/ast").DeploymentViewRulePredicate): ProjectId;
|
|
@@ -127,6 +143,8 @@ declare const DocumentParserFromMixins: {
|
|
|
127
143
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
128
144
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
129
145
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
146
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
147
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
130
148
|
isValid: import("../validation").IsValidFn;
|
|
131
149
|
readonly services: LikeC4Services;
|
|
132
150
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -140,6 +158,7 @@ declare const DocumentParserFromMixins: {
|
|
|
140
158
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
141
159
|
[key: string]: string;
|
|
142
160
|
} | undefined;
|
|
161
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
143
162
|
convertTags<E extends {
|
|
144
163
|
tags?: import("../generated/ast").Tags;
|
|
145
164
|
}>(withTags?: E | undefined): any;
|
|
@@ -152,6 +171,19 @@ declare const DocumentParserFromMixins: {
|
|
|
152
171
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
153
172
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
154
173
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
174
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
175
|
+
title?: string | undefined;
|
|
176
|
+
description?: string | undefined;
|
|
177
|
+
technology?: string | undefined;
|
|
178
|
+
}, bodyProps: {
|
|
179
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
180
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
181
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
182
|
+
}): {
|
|
183
|
+
title?: string;
|
|
184
|
+
description?: ProjectId;
|
|
185
|
+
technology?: string;
|
|
186
|
+
};
|
|
155
187
|
parseDeploymentView(astNode: import("../generated/ast").DeploymentView): import("../ast").ParsedAstDeploymentView;
|
|
156
188
|
parseDeploymentViewRule(astRule: import("../generated/ast").DeploymentViewRule): ProjectId;
|
|
157
189
|
parseDeploymentViewRulePredicate(astRule: import("../generated/ast").DeploymentViewRulePredicate): ProjectId;
|
|
@@ -181,6 +213,7 @@ declare const DocumentParserFromMixins: {
|
|
|
181
213
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
182
214
|
[key: string]: string;
|
|
183
215
|
} | undefined;
|
|
216
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
184
217
|
convertTags<E extends {
|
|
185
218
|
tags?: import("../generated/ast").Tags;
|
|
186
219
|
}>(withTags?: E | undefined): any;
|
|
@@ -193,6 +226,19 @@ declare const DocumentParserFromMixins: {
|
|
|
193
226
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
194
227
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
195
228
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
229
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
230
|
+
title?: string | undefined;
|
|
231
|
+
description?: string | undefined;
|
|
232
|
+
technology?: string | undefined;
|
|
233
|
+
}, bodyProps: {
|
|
234
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
235
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
236
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
237
|
+
}): {
|
|
238
|
+
title?: string;
|
|
239
|
+
description?: ProjectId;
|
|
240
|
+
technology?: string;
|
|
241
|
+
};
|
|
196
242
|
};
|
|
197
243
|
} & {
|
|
198
244
|
new (...args: any[]): {
|
|
@@ -221,6 +267,8 @@ declare const DocumentParserFromMixins: {
|
|
|
221
267
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
222
268
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
223
269
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
270
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
271
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
224
272
|
isValid: import("../validation").IsValidFn;
|
|
225
273
|
readonly services: LikeC4Services;
|
|
226
274
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -234,6 +282,7 @@ declare const DocumentParserFromMixins: {
|
|
|
234
282
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
235
283
|
[key: string]: string;
|
|
236
284
|
} | undefined;
|
|
285
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
237
286
|
convertTags<E extends {
|
|
238
287
|
tags?: import("../generated/ast").Tags;
|
|
239
288
|
}>(withTags?: E | undefined): any;
|
|
@@ -246,6 +295,19 @@ declare const DocumentParserFromMixins: {
|
|
|
246
295
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
247
296
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
248
297
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
298
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
299
|
+
title?: string | undefined;
|
|
300
|
+
description?: string | undefined;
|
|
301
|
+
technology?: string | undefined;
|
|
302
|
+
}, bodyProps: {
|
|
303
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
304
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
305
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
306
|
+
}): {
|
|
307
|
+
title?: string;
|
|
308
|
+
description?: ProjectId;
|
|
309
|
+
technology?: string;
|
|
310
|
+
};
|
|
249
311
|
};
|
|
250
312
|
} & {
|
|
251
313
|
new (...args: any[]): {
|
|
@@ -267,6 +329,8 @@ declare const DocumentParserFromMixins: {
|
|
|
267
329
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
268
330
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
269
331
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
332
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
333
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
270
334
|
isValid: import("../validation").IsValidFn;
|
|
271
335
|
readonly services: LikeC4Services;
|
|
272
336
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -280,6 +344,7 @@ declare const DocumentParserFromMixins: {
|
|
|
280
344
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
281
345
|
[key: string]: string;
|
|
282
346
|
} | undefined;
|
|
347
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
283
348
|
convertTags<E extends {
|
|
284
349
|
tags?: import("../generated/ast").Tags;
|
|
285
350
|
}>(withTags?: E | undefined): any;
|
|
@@ -292,6 +357,19 @@ declare const DocumentParserFromMixins: {
|
|
|
292
357
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
293
358
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
294
359
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
360
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
361
|
+
title?: string | undefined;
|
|
362
|
+
description?: string | undefined;
|
|
363
|
+
technology?: string | undefined;
|
|
364
|
+
}, bodyProps: {
|
|
365
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
366
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
367
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
368
|
+
}): {
|
|
369
|
+
title?: string;
|
|
370
|
+
description?: ProjectId;
|
|
371
|
+
technology?: string;
|
|
372
|
+
};
|
|
295
373
|
parseDeployment(): void;
|
|
296
374
|
parseDeploymentNode(astNode: import("../generated/ast").DeploymentNode): import("../ast").ParsedAstDeployment.Node;
|
|
297
375
|
parseDeployedInstance(astNode: import("../generated/ast").DeployedInstance): import("../ast").ParsedAstDeployment.Instance;
|
|
@@ -321,6 +399,8 @@ declare const DocumentParserFromMixins: {
|
|
|
321
399
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
322
400
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
323
401
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
402
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
403
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
324
404
|
isValid: import("../validation").IsValidFn;
|
|
325
405
|
readonly services: LikeC4Services;
|
|
326
406
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -334,6 +414,7 @@ declare const DocumentParserFromMixins: {
|
|
|
334
414
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
335
415
|
[key: string]: string;
|
|
336
416
|
} | undefined;
|
|
417
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
337
418
|
convertTags<E extends {
|
|
338
419
|
tags?: import("../generated/ast").Tags;
|
|
339
420
|
}>(withTags?: E | undefined): any;
|
|
@@ -346,6 +427,19 @@ declare const DocumentParserFromMixins: {
|
|
|
346
427
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
347
428
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
348
429
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
430
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
431
|
+
title?: string | undefined;
|
|
432
|
+
description?: string | undefined;
|
|
433
|
+
technology?: string | undefined;
|
|
434
|
+
}, bodyProps: {
|
|
435
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
436
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
437
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
438
|
+
}): {
|
|
439
|
+
title?: string;
|
|
440
|
+
description?: ProjectId;
|
|
441
|
+
technology?: string;
|
|
442
|
+
};
|
|
349
443
|
};
|
|
350
444
|
} & {
|
|
351
445
|
new (...args: any[]): {
|
|
@@ -368,6 +462,8 @@ declare const DocumentParserFromMixins: {
|
|
|
368
462
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
369
463
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
370
464
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
465
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
466
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
371
467
|
isValid: import("../validation").IsValidFn;
|
|
372
468
|
readonly services: LikeC4Services;
|
|
373
469
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -381,6 +477,7 @@ declare const DocumentParserFromMixins: {
|
|
|
381
477
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
382
478
|
[key: string]: string;
|
|
383
479
|
} | undefined;
|
|
480
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
384
481
|
convertTags<E extends {
|
|
385
482
|
tags?: import("../generated/ast").Tags;
|
|
386
483
|
}>(withTags?: E | undefined): any;
|
|
@@ -393,6 +490,19 @@ declare const DocumentParserFromMixins: {
|
|
|
393
490
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
394
491
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
395
492
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
493
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
494
|
+
title?: string | undefined;
|
|
495
|
+
description?: string | undefined;
|
|
496
|
+
technology?: string | undefined;
|
|
497
|
+
}, bodyProps: {
|
|
498
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
499
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
500
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
501
|
+
}): {
|
|
502
|
+
title?: string;
|
|
503
|
+
description?: ProjectId;
|
|
504
|
+
technology?: string;
|
|
505
|
+
};
|
|
396
506
|
};
|
|
397
507
|
} & {
|
|
398
508
|
new (...args: any[]): {
|
|
@@ -410,6 +520,7 @@ declare const DocumentParserFromMixins: {
|
|
|
410
520
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
411
521
|
[key: string]: string;
|
|
412
522
|
} | undefined;
|
|
523
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
413
524
|
convertTags<E extends {
|
|
414
525
|
tags?: import("../generated/ast").Tags;
|
|
415
526
|
}>(withTags?: E | undefined): any;
|
|
@@ -422,6 +533,19 @@ declare const DocumentParserFromMixins: {
|
|
|
422
533
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
423
534
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
424
535
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
536
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
537
|
+
title?: string | undefined;
|
|
538
|
+
description?: string | undefined;
|
|
539
|
+
technology?: string | undefined;
|
|
540
|
+
}, bodyProps: {
|
|
541
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
542
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
543
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
544
|
+
}): {
|
|
545
|
+
title?: string;
|
|
546
|
+
description?: ProjectId;
|
|
547
|
+
technology?: string;
|
|
548
|
+
};
|
|
425
549
|
};
|
|
426
550
|
} & {
|
|
427
551
|
new (...args: any[]): {
|
|
@@ -439,6 +563,8 @@ declare const DocumentParserFromMixins: {
|
|
|
439
563
|
parseRelationExprOrWhere(astNode: import("../generated/ast").RelationExprOrWhere): ProjectId;
|
|
440
564
|
parseRelationExprWhere(astNode: import("../generated/ast").RelationExprWhere): ProjectId;
|
|
441
565
|
parseRelationExpr(astNode: import("../generated/ast").RelationExpr): ProjectId;
|
|
566
|
+
parseInlineKindCondition(astNode: import("../generated/ast").OutgoingRelationExpr): ProjectId | null;
|
|
567
|
+
wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
|
|
442
568
|
isValid: import("../validation").IsValidFn;
|
|
443
569
|
readonly services: LikeC4Services;
|
|
444
570
|
readonly doc: ParsedLikeC4LangiumDocument;
|
|
@@ -452,6 +578,7 @@ declare const DocumentParserFromMixins: {
|
|
|
452
578
|
getMetadata(metadataAstNode: import("../generated/ast").MetadataProperty | undefined): {
|
|
453
579
|
[key: string]: string;
|
|
454
580
|
} | undefined;
|
|
581
|
+
parseMarkdownOrString(markdownOrString: import("../generated/ast").MarkdownOrString | undefined): ProjectId | undefined;
|
|
455
582
|
convertTags<E extends {
|
|
456
583
|
tags?: import("../generated/ast").Tags;
|
|
457
584
|
}>(withTags?: E | undefined): any;
|
|
@@ -464,6 +591,19 @@ declare const DocumentParserFromMixins: {
|
|
|
464
591
|
parseColorLiteral(astNode: import("../generated/ast").ColorLiteral): ProjectId | undefined;
|
|
465
592
|
parseElementStyle(elementProps: Array<import("../generated/ast").ElementProperty> | import("../generated/ast").ElementStyleProperty | undefined): import("../ast").ParsedElementStyle;
|
|
466
593
|
parseStyleProps(styleProps: Array<import("../generated/ast").StyleProperty> | undefined): import("../ast").ParsedElementStyle;
|
|
594
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
595
|
+
title?: string | undefined;
|
|
596
|
+
description?: string | undefined;
|
|
597
|
+
technology?: string | undefined;
|
|
598
|
+
}, bodyProps: {
|
|
599
|
+
title?: import("../generated/ast").MarkdownOrString | undefined;
|
|
600
|
+
description?: import("../generated/ast").MarkdownOrString | undefined;
|
|
601
|
+
technology?: import("../generated/ast").MarkdownOrString | undefined;
|
|
602
|
+
}): {
|
|
603
|
+
title?: string;
|
|
604
|
+
description?: ProjectId;
|
|
605
|
+
technology?: string;
|
|
606
|
+
};
|
|
467
607
|
};
|
|
468
608
|
} & typeof BaseParser;
|
|
469
609
|
export declare class DocumentParser extends DocumentParserFromMixins {
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import type * as c4 from '@likec4/core';
|
|
2
|
+
import { type MarkdownOrString } from '@likec4/core';
|
|
2
3
|
import type { AstNode, URI } from 'langium';
|
|
3
4
|
import { type ParsedElementStyle, type ParsedLikeC4LangiumDocument, ast } from '../../ast';
|
|
4
5
|
import type { ProjectConfig } from '../../config';
|
|
5
6
|
import type { LikeC4Services } from '../../module';
|
|
6
7
|
import { type IsValidFn } from '../../validation';
|
|
7
8
|
export type GConstructor<T = {}> = new (...args: any[]) => T;
|
|
8
|
-
export declare function toSingleLine
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function toSingleLine(str: string): string;
|
|
10
|
+
export declare function toSingleLine(str: string | undefined | null): string | undefined;
|
|
11
|
+
export declare function toSingleLine(str: ast.MarkdownOrString): MarkdownOrString;
|
|
12
|
+
export declare function toSingleLine(str: ast.MarkdownOrString | undefined | null): MarkdownOrString | undefined;
|
|
13
|
+
export declare function toSingleLine(str: ast.MarkdownOrString | string): MarkdownOrString | string;
|
|
14
|
+
export declare function toSingleLine(str: ast.MarkdownOrString | string | undefined | null): MarkdownOrString | string | undefined;
|
|
15
|
+
export declare function removeIndent(str: string): string;
|
|
16
|
+
export declare function removeIndent(str: string | undefined): string | undefined;
|
|
17
|
+
export declare function removeIndent(str: ast.MarkdownOrString): MarkdownOrString;
|
|
18
|
+
export declare function removeIndent(str: ast.MarkdownOrString | undefined): MarkdownOrString | undefined;
|
|
19
|
+
export declare function removeIndent(str: ast.MarkdownOrString | string): MarkdownOrString | string;
|
|
10
20
|
export type Base = GConstructor<BaseParser>;
|
|
11
21
|
export declare class BaseParser {
|
|
12
22
|
readonly services: LikeC4Services;
|
|
@@ -23,6 +33,7 @@ export declare class BaseParser {
|
|
|
23
33
|
getMetadata(metadataAstNode: ast.MetadataProperty | undefined): {
|
|
24
34
|
[key: string]: string;
|
|
25
35
|
} | undefined;
|
|
36
|
+
parseMarkdownOrString(markdownOrString: ast.MarkdownOrString | undefined): c4.MarkdownOrString | undefined;
|
|
26
37
|
convertTags<E extends {
|
|
27
38
|
tags?: ast.Tags;
|
|
28
39
|
}>(withTags?: E): any;
|
|
@@ -35,4 +46,21 @@ export declare class BaseParser {
|
|
|
35
46
|
parseColorLiteral(astNode: ast.ColorLiteral): c4.ColorLiteral | undefined;
|
|
36
47
|
parseElementStyle(elementProps: Array<ast.ElementProperty> | ast.ElementStyleProperty | undefined): ParsedElementStyle;
|
|
37
48
|
parseStyleProps(styleProps: Array<ast.StyleProperty> | undefined): ParsedElementStyle;
|
|
49
|
+
/**
|
|
50
|
+
* Parses title, description and technology
|
|
51
|
+
* Inline properties (right on node) have higher priority than body properties (inside '{...}')
|
|
52
|
+
*/
|
|
53
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
54
|
+
title?: string | undefined;
|
|
55
|
+
description?: string | undefined;
|
|
56
|
+
technology?: string | undefined;
|
|
57
|
+
}, bodyProps: {
|
|
58
|
+
title?: ast.MarkdownOrString | undefined;
|
|
59
|
+
description?: ast.MarkdownOrString | undefined;
|
|
60
|
+
technology?: ast.MarkdownOrString | undefined;
|
|
61
|
+
}): {
|
|
62
|
+
title?: string;
|
|
63
|
+
description?: c4.MarkdownOrString;
|
|
64
|
+
technology?: string;
|
|
65
|
+
};
|
|
38
66
|
}
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
isArray,
|
|
7
7
|
isBoolean,
|
|
8
8
|
isEmpty,
|
|
9
|
-
isNonNullish,
|
|
10
9
|
isNumber,
|
|
11
10
|
isString,
|
|
12
11
|
isTruthy,
|
|
@@ -21,16 +20,47 @@ import {
|
|
|
21
20
|
parseAstOpacityProperty,
|
|
22
21
|
parseAstPercent,
|
|
23
22
|
parseAstSizeValue,
|
|
23
|
+
parseMarkdownAsString,
|
|
24
24
|
toColor
|
|
25
25
|
} from "../../ast.js";
|
|
26
26
|
import { projectIdFrom } from "../../utils/index.js";
|
|
27
27
|
import { readStrictFqn } from "../../utils/elementRef.js";
|
|
28
28
|
import { checksFromDiagnostics } from "../../validation/index.js";
|
|
29
29
|
export function toSingleLine(str) {
|
|
30
|
-
|
|
30
|
+
if (str === null || str === void 0) {
|
|
31
|
+
return void 0;
|
|
32
|
+
}
|
|
33
|
+
const without = removeIndent(str);
|
|
34
|
+
if (isString(without)) {
|
|
35
|
+
return without.split("\n").join(" ");
|
|
36
|
+
}
|
|
37
|
+
if ("md" in without) {
|
|
38
|
+
return {
|
|
39
|
+
md: without.md.split("\n").join(" ")
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
txt: without.txt.split("\n").join(" ")
|
|
44
|
+
};
|
|
31
45
|
}
|
|
32
46
|
export function removeIndent(str) {
|
|
33
|
-
|
|
47
|
+
if (str === null || str === void 0) {
|
|
48
|
+
return void 0;
|
|
49
|
+
}
|
|
50
|
+
switch (true) {
|
|
51
|
+
case isString(str):
|
|
52
|
+
return stripIndent(str).trim();
|
|
53
|
+
case (ast.isMarkdownOrString(str) && isTruthy(str.markdown)):
|
|
54
|
+
return {
|
|
55
|
+
md: stripIndent(str.markdown).trim()
|
|
56
|
+
};
|
|
57
|
+
case (ast.isMarkdownOrString(str) && isTruthy(str.text)):
|
|
58
|
+
return {
|
|
59
|
+
txt: stripIndent(str.text).trim()
|
|
60
|
+
};
|
|
61
|
+
default:
|
|
62
|
+
return void 0;
|
|
63
|
+
}
|
|
34
64
|
}
|
|
35
65
|
export class BaseParser {
|
|
36
66
|
constructor(services, doc) {
|
|
@@ -72,11 +102,18 @@ export class BaseParser {
|
|
|
72
102
|
const data = pipe(
|
|
73
103
|
metadataAstNode.props,
|
|
74
104
|
map((p) => [p.key, removeIndent(p.value)]),
|
|
105
|
+
map(([key, value]) => [key, value.md || value.txt]),
|
|
75
106
|
filter(([_, value]) => isTruthy(value)),
|
|
76
107
|
fromEntries()
|
|
77
108
|
);
|
|
78
109
|
return isEmpty(data) ? void 0 : data;
|
|
79
110
|
}
|
|
111
|
+
parseMarkdownOrString(markdownOrString) {
|
|
112
|
+
if (ast.isMarkdownOrString(markdownOrString)) {
|
|
113
|
+
return removeIndent(markdownOrString);
|
|
114
|
+
}
|
|
115
|
+
return void 0;
|
|
116
|
+
}
|
|
80
117
|
convertTags(withTags) {
|
|
81
118
|
return this.parseTags(withTags);
|
|
82
119
|
}
|
|
@@ -258,4 +295,18 @@ export class BaseParser {
|
|
|
258
295
|
}
|
|
259
296
|
return result;
|
|
260
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Parses title, description and technology
|
|
300
|
+
* Inline properties (right on node) have higher priority than body properties (inside '{...}')
|
|
301
|
+
*/
|
|
302
|
+
parseTitleDescriptionTechnology(inlineProps, bodyProps) {
|
|
303
|
+
const title = removeIndent(inlineProps.title ?? parseMarkdownAsString(bodyProps.title));
|
|
304
|
+
const description = inlineProps.description ? { txt: removeIndent(inlineProps.description) } : this.parseMarkdownOrString(bodyProps.description);
|
|
305
|
+
const technology = toSingleLine(inlineProps.technology) ?? removeIndent(parseMarkdownAsString(bodyProps.technology));
|
|
306
|
+
return {
|
|
307
|
+
...isTruthy(title) && { title },
|
|
308
|
+
...isTruthy(description) && { description },
|
|
309
|
+
...isTruthy(technology) && { technology }
|
|
310
|
+
};
|
|
311
|
+
}
|
|
261
312
|
}
|
|
@@ -24,7 +24,9 @@ export declare function DeploymentModelParser<TBase extends WithExpressionV2>(B:
|
|
|
24
24
|
parseRelationExprWith(astNode: ast.RelationExprWith): c4.RelationExpr.Custom;
|
|
25
25
|
parseRelationExprOrWhere(astNode: ast.RelationExprOrWhere): c4.RelationExpr.OrWhere;
|
|
26
26
|
parseRelationExprWhere(astNode: ast.RelationExprWhere): c4.RelationExpr.Where;
|
|
27
|
-
parseRelationExpr(astNode: ast.RelationExpr): c4.RelationExpr;
|
|
27
|
+
parseRelationExpr(astNode: ast.RelationExpr): c4.RelationExpr.OrWhere;
|
|
28
|
+
parseInlineKindCondition(astNode: ast.OutgoingRelationExpr): c4.WhereOperator | null;
|
|
29
|
+
wrapInWhere(expr: c4.RelationExpr, condition: c4.WhereOperator | null): c4.RelationExpr.OrWhere;
|
|
28
30
|
isValid: import("../../validation").IsValidFn;
|
|
29
31
|
readonly services: import("../..").LikeC4Services;
|
|
30
32
|
readonly doc: import("../../ast").ParsedLikeC4LangiumDocument;
|
|
@@ -38,6 +40,7 @@ export declare function DeploymentModelParser<TBase extends WithExpressionV2>(B:
|
|
|
38
40
|
getMetadata(metadataAstNode: ast.MetadataProperty | undefined): {
|
|
39
41
|
[key: string]: string;
|
|
40
42
|
} | undefined;
|
|
43
|
+
parseMarkdownOrString(markdownOrString: ast.MarkdownOrString | undefined): c4.MarkdownOrString | undefined;
|
|
41
44
|
convertTags<E extends {
|
|
42
45
|
tags?: ast.Tags;
|
|
43
46
|
}>(withTags?: E | undefined): any;
|
|
@@ -50,5 +53,18 @@ export declare function DeploymentModelParser<TBase extends WithExpressionV2>(B:
|
|
|
50
53
|
parseColorLiteral(astNode: ast.ColorLiteral): c4.ColorLiteral | undefined;
|
|
51
54
|
parseElementStyle(elementProps: Array<ast.ElementProperty> | ast.ElementStyleProperty | undefined): import("../../ast").ParsedElementStyle;
|
|
52
55
|
parseStyleProps(styleProps: Array<ast.StyleProperty> | undefined): import("../../ast").ParsedElementStyle;
|
|
56
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
57
|
+
title?: string | undefined;
|
|
58
|
+
description?: string | undefined;
|
|
59
|
+
technology?: string | undefined;
|
|
60
|
+
}, bodyProps: {
|
|
61
|
+
title?: ast.MarkdownOrString | undefined;
|
|
62
|
+
description?: ast.MarkdownOrString | undefined;
|
|
63
|
+
technology?: ast.MarkdownOrString | undefined;
|
|
64
|
+
}): {
|
|
65
|
+
title?: string;
|
|
66
|
+
description?: c4.MarkdownOrString;
|
|
67
|
+
technology?: string;
|
|
68
|
+
};
|
|
53
69
|
};
|
|
54
70
|
} & TBase;
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
} from "../../ast.js";
|
|
7
7
|
import { logWarnError } from "../../logger.js";
|
|
8
8
|
import { stringHash } from "../../utils/stringHash.js";
|
|
9
|
-
import { removeIndent, toSingleLine } from "./Base.js";
|
|
10
9
|
function* streamDeploymentModel(doc) {
|
|
11
10
|
const traverseStack = LinkedList.from(
|
|
12
11
|
doc.parseResult.value.deployments.flatMap((m) => m.elements)
|
|
@@ -74,11 +73,14 @@ export function DeploymentModelParser(B) {
|
|
|
74
73
|
astNode.body?.props ?? [],
|
|
75
74
|
filter(isValid),
|
|
76
75
|
filter(ast.isElementStringProperty),
|
|
77
|
-
mapToObj((p) => [p.key, p.value
|
|
76
|
+
mapToObj((p) => [p.key, p.value])
|
|
77
|
+
);
|
|
78
|
+
const { title, ...descAndTech } = this.parseTitleDescriptionTechnology(
|
|
79
|
+
{
|
|
80
|
+
title: astNode.title
|
|
81
|
+
},
|
|
82
|
+
bodyProps
|
|
78
83
|
);
|
|
79
|
-
const title = removeIndent(astNode.title ?? bodyProps.title);
|
|
80
|
-
const description = removeIndent(bodyProps.description);
|
|
81
|
-
const technology = toSingleLine(bodyProps.technology);
|
|
82
84
|
const links = this.convertLinks(astNode.body);
|
|
83
85
|
return {
|
|
84
86
|
id,
|
|
@@ -87,8 +89,7 @@ export function DeploymentModelParser(B) {
|
|
|
87
89
|
...metadata && { metadata },
|
|
88
90
|
...tags && { tags },
|
|
89
91
|
...links && isNonEmptyArray(links) && { links },
|
|
90
|
-
...
|
|
91
|
-
...isTruthy(description) && { description },
|
|
92
|
+
...descAndTech,
|
|
92
93
|
style
|
|
93
94
|
};
|
|
94
95
|
}
|
|
@@ -104,21 +105,22 @@ export function DeploymentModelParser(B) {
|
|
|
104
105
|
astNode.body?.props ?? [],
|
|
105
106
|
filter(isValid),
|
|
106
107
|
filter(ast.isElementStringProperty),
|
|
107
|
-
mapToObj((p) => [p.key, p.value
|
|
108
|
+
mapToObj((p) => [p.key, p.value])
|
|
109
|
+
);
|
|
110
|
+
const titleDescAndTech = this.parseTitleDescriptionTechnology(
|
|
111
|
+
{
|
|
112
|
+
title: astNode.title
|
|
113
|
+
},
|
|
114
|
+
bodyProps
|
|
108
115
|
);
|
|
109
|
-
const title = removeIndent(astNode.title ?? bodyProps.title);
|
|
110
|
-
const description = removeIndent(bodyProps.description);
|
|
111
|
-
const technology = toSingleLine(bodyProps.technology);
|
|
112
116
|
const links = this.convertLinks(astNode.body);
|
|
113
117
|
return {
|
|
114
118
|
id,
|
|
115
119
|
element: target,
|
|
116
120
|
...metadata && { metadata },
|
|
117
|
-
...title && { title },
|
|
118
121
|
...tags && { tags },
|
|
119
122
|
...links && isNonEmptyArray(links) && { links },
|
|
120
|
-
...
|
|
121
|
-
...isTruthy(description) && { description },
|
|
123
|
+
...titleDescAndTech,
|
|
122
124
|
style
|
|
123
125
|
};
|
|
124
126
|
}
|
|
@@ -168,7 +170,7 @@ export function DeploymentModelParser(B) {
|
|
|
168
170
|
astNode.body?.props ?? [],
|
|
169
171
|
filter(ast.isRelationStringProperty),
|
|
170
172
|
filter((p) => isTruthy(p.value)),
|
|
171
|
-
mapToObj((p) => [p.key, p.value
|
|
173
|
+
mapToObj((p) => [p.key, p.value])
|
|
172
174
|
);
|
|
173
175
|
const navigateTo = pipe(
|
|
174
176
|
astNode.body?.props ?? [],
|
|
@@ -177,9 +179,12 @@ export function DeploymentModelParser(B) {
|
|
|
177
179
|
filter(isTruthy),
|
|
178
180
|
first()
|
|
179
181
|
);
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
182
|
+
const titleDescAndTech = this.parseTitleDescriptionTechnology(
|
|
183
|
+
{
|
|
184
|
+
title: astNode.title
|
|
185
|
+
},
|
|
186
|
+
bodyProps
|
|
187
|
+
);
|
|
183
188
|
const styleProp = astNode.body?.props.find(ast.isRelationStyleProperty);
|
|
184
189
|
const id = stringHash(
|
|
185
190
|
"deployment",
|
|
@@ -191,10 +196,8 @@ export function DeploymentModelParser(B) {
|
|
|
191
196
|
id,
|
|
192
197
|
source,
|
|
193
198
|
target,
|
|
194
|
-
...
|
|
199
|
+
...titleDescAndTech,
|
|
195
200
|
...metadata && { metadata },
|
|
196
|
-
...isTruthy(technology) && { technology },
|
|
197
|
-
...isTruthy(description) && { description },
|
|
198
201
|
...kind && { kind },
|
|
199
202
|
...tags && { tags },
|
|
200
203
|
...isNonEmptyArray(links) && { links },
|
|
@@ -22,7 +22,9 @@ export declare function DeploymentViewParser<TBase extends WithExpressionV2 & Wi
|
|
|
22
22
|
parseRelationExprWith(astNode: ast.RelationExprWith): c4.RelationExpr.Custom;
|
|
23
23
|
parseRelationExprOrWhere(astNode: ast.RelationExprOrWhere): c4.RelationExpr.OrWhere;
|
|
24
24
|
parseRelationExprWhere(astNode: ast.RelationExprWhere): c4.RelationExpr.Where;
|
|
25
|
-
parseRelationExpr(astNode: ast.RelationExpr): c4.RelationExpr;
|
|
25
|
+
parseRelationExpr(astNode: ast.RelationExpr): c4.RelationExpr.OrWhere;
|
|
26
|
+
parseInlineKindCondition(astNode: ast.OutgoingRelationExpr): c4.WhereOperator | null;
|
|
27
|
+
wrapInWhere(expr: c4.RelationExpr, condition: c4.WhereOperator | null): c4.RelationExpr.OrWhere;
|
|
26
28
|
isValid: import("../../validation").IsValidFn;
|
|
27
29
|
readonly services: import("../..").LikeC4Services;
|
|
28
30
|
readonly doc: import("../../ast").ParsedLikeC4LangiumDocument;
|
|
@@ -36,6 +38,7 @@ export declare function DeploymentViewParser<TBase extends WithExpressionV2 & Wi
|
|
|
36
38
|
getMetadata(metadataAstNode: ast.MetadataProperty | undefined): {
|
|
37
39
|
[key: string]: string;
|
|
38
40
|
} | undefined;
|
|
41
|
+
parseMarkdownOrString(markdownOrString: ast.MarkdownOrString | undefined): c4.MarkdownOrString | undefined;
|
|
39
42
|
convertTags<E extends {
|
|
40
43
|
tags?: ast.Tags;
|
|
41
44
|
}>(withTags?: E | undefined): any;
|
|
@@ -48,6 +51,19 @@ export declare function DeploymentViewParser<TBase extends WithExpressionV2 & Wi
|
|
|
48
51
|
parseColorLiteral(astNode: ast.ColorLiteral): c4.ColorLiteral | undefined;
|
|
49
52
|
parseElementStyle(elementProps: Array<ast.ElementProperty> | ast.ElementStyleProperty | undefined): import("../../ast").ParsedElementStyle;
|
|
50
53
|
parseStyleProps(styleProps: Array<ast.StyleProperty> | undefined): import("../../ast").ParsedElementStyle;
|
|
54
|
+
parseTitleDescriptionTechnology(inlineProps: {
|
|
55
|
+
title?: string | undefined;
|
|
56
|
+
description?: string | undefined;
|
|
57
|
+
technology?: string | undefined;
|
|
58
|
+
}, bodyProps: {
|
|
59
|
+
title?: ast.MarkdownOrString | undefined;
|
|
60
|
+
description?: ast.MarkdownOrString | undefined;
|
|
61
|
+
technology?: ast.MarkdownOrString | undefined;
|
|
62
|
+
}): {
|
|
63
|
+
title?: string;
|
|
64
|
+
description?: c4.MarkdownOrString;
|
|
65
|
+
technology?: string;
|
|
66
|
+
};
|
|
51
67
|
parseDeployment(): void;
|
|
52
68
|
parseDeploymentNode(astNode: ast.DeploymentNode): import("../../ast").ParsedAstDeployment.Node;
|
|
53
69
|
parseDeployedInstance(astNode: ast.DeployedInstance): import("../../ast").ParsedAstDeployment.Instance;
|