@likec4/language-server 1.46.4 → 1.48.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.
Files changed (316) hide show
  1. package/LICENSE +1 -1
  2. package/browser/package.json +2 -2
  3. package/browser-worker/package.json +2 -2
  4. package/bundled/package.json +4 -0
  5. package/dist/LikeC4LanguageServices.d.mts +4 -0
  6. package/dist/LikeC4LanguageServices.mjs +3 -0
  7. package/dist/_chunks/ConfigurableLayouter.mjs +1956 -0
  8. package/dist/_chunks/LikeC4LanguageServices.d.mts +1978 -0
  9. package/dist/_chunks/LikeC4LanguageServices.mjs +725 -0
  10. package/dist/_chunks/ast.d.mts +1444 -0
  11. package/dist/_chunks/ast.mjs +2375 -0
  12. package/dist/_chunks/ast2.mjs +176 -0
  13. package/dist/_chunks/common-exports.mjs +0 -0
  14. package/dist/_chunks/filesystem.mjs +58 -0
  15. package/dist/_chunks/grammar.mjs +8 -0
  16. package/dist/_chunks/icons.mjs +5211 -0
  17. package/dist/_chunks/libs/@hono/node-server.mjs +436 -0
  18. package/dist/_chunks/libs/@msgpack/msgpack.mjs +805 -0
  19. package/dist/_chunks/libs/eventemitter3.mjs +243 -0
  20. package/dist/_chunks/libs/fast-equals.mjs +446 -0
  21. package/dist/_chunks/libs/hono.mjs +1829 -0
  22. package/dist/_chunks/libs/p-queue.mjs +449 -0
  23. package/dist/_chunks/libs/parse-ms.mjs +36 -0
  24. package/dist/_chunks/libs/picomatch.mjs +1673 -0
  25. package/dist/_chunks/libs/pretty-ms.mjs +80 -0
  26. package/dist/_chunks/libs/remeda.mjs +482 -0
  27. package/dist/_chunks/libs/strip-indent.mjs +15 -0
  28. package/dist/_chunks/libs/ufo.mjs +166 -0
  29. package/dist/_chunks/likec4lib.mjs +9 -0
  30. package/dist/_chunks/mcp.mjs +33 -0
  31. package/dist/_chunks/module.mjs +28 -0
  32. package/dist/_chunks/module2.mjs +6576 -0
  33. package/dist/_chunks/protocol.d.mts +311 -0
  34. package/dist/_chunks/protocol.mjs +78 -0
  35. package/dist/_chunks/rolldown-runtime.mjs +42 -0
  36. package/dist/ast.d.mts +4 -0
  37. package/dist/ast.mjs +4 -0
  38. package/dist/browser-worker.d.mts +1 -0
  39. package/dist/browser-worker.mjs +6 -0
  40. package/dist/browser.d.mts +11 -0
  41. package/dist/browser.mjs +27 -0
  42. package/dist/bundled.d.mts +28 -0
  43. package/dist/bundled.mjs +51 -4681
  44. package/dist/common-exports.d.mts +4 -0
  45. package/dist/common-exports.mjs +5 -0
  46. package/dist/filesystem/index.d.mts +4 -0
  47. package/dist/filesystem/index.mjs +3 -0
  48. package/dist/generated/ast.d.mts +2 -0
  49. package/dist/generated/ast.mjs +3 -0
  50. package/dist/generated/grammar.d.mts +6 -0
  51. package/dist/generated/grammar.mjs +3 -0
  52. package/dist/generated/module.d.mts +14 -0
  53. package/dist/generated/module.mjs +3 -0
  54. package/dist/generated-lib/icons.d.mts +4 -0
  55. package/dist/generated-lib/icons.mjs +3 -0
  56. package/dist/index.d.mts +4 -0
  57. package/dist/index.mjs +48 -0
  58. package/dist/likec4lib.d.mts +9 -0
  59. package/dist/likec4lib.mjs +4 -0
  60. package/dist/mcp/index.d.mts +4 -0
  61. package/dist/mcp/index.mjs +3 -0
  62. package/dist/module.d.mts +4 -0
  63. package/dist/module.mjs +3 -0
  64. package/dist/protocol.d.mts +2 -0
  65. package/dist/protocol.mjs +3 -0
  66. package/likec4lib/package.json +2 -2
  67. package/package.json +106 -62
  68. package/protocol/package.json +2 -2
  69. package/dist/LikeC4LanguageServices.d.ts +0 -109
  70. package/dist/LikeC4LanguageServices.js +0 -154
  71. package/dist/Rpc.d.ts +0 -9
  72. package/dist/Rpc.js +0 -270
  73. package/dist/ast.d.ts +0 -226
  74. package/dist/ast.js +0 -264
  75. package/dist/browser-worker.d.ts +0 -1
  76. package/dist/browser-worker.js +0 -4
  77. package/dist/browser.d.ts +0 -11
  78. package/dist/browser.js +0 -35
  79. package/dist/bundled.d.ts +0 -8
  80. package/dist/bundled.js +0 -44
  81. package/dist/documentation/documentation-provider.d.ts +0 -8
  82. package/dist/documentation/documentation-provider.js +0 -51
  83. package/dist/documentation/index.d.ts +0 -1
  84. package/dist/documentation/index.js +0 -1
  85. package/dist/empty.d.ts +0 -2
  86. package/dist/empty.js +0 -2
  87. package/dist/filesystem/ChokidarWatcher.d.ts +0 -16
  88. package/dist/filesystem/ChokidarWatcher.js +0 -108
  89. package/dist/filesystem/FileSystemWatcher.d.ts +0 -19
  90. package/dist/filesystem/FileSystemWatcher.js +0 -14
  91. package/dist/filesystem/LikeC4FileSystem.d.ts +0 -3
  92. package/dist/filesystem/LikeC4FileSystem.js +0 -130
  93. package/dist/filesystem/index.d.ts +0 -55
  94. package/dist/filesystem/index.js +0 -29
  95. package/dist/formatting/LikeC4Formatter.d.ts +0 -59
  96. package/dist/formatting/LikeC4Formatter.js +0 -637
  97. package/dist/formatting/utils.d.ts +0 -6
  98. package/dist/formatting/utils.js +0 -18
  99. package/dist/generated/ast.d.ts +0 -1411
  100. package/dist/generated/ast.js +0 -2207
  101. package/dist/generated/grammar.d.ts +0 -6
  102. package/dist/generated/grammar.js +0 -7
  103. package/dist/generated/module.d.ts +0 -14
  104. package/dist/generated/module.js +0 -27
  105. package/dist/generated-lib/icons.d.ts +0 -1
  106. package/dist/generated-lib/icons.js +0 -18
  107. package/dist/index.d.ts +0 -38
  108. package/dist/index.js +0 -55
  109. package/dist/likec4lib.d.ts +0 -6
  110. package/dist/likec4lib.js +0 -7
  111. package/dist/logger.d.ts +0 -17
  112. package/dist/logger.js +0 -81
  113. package/dist/lsp/CodeActionProvider.d.ts +0 -14
  114. package/dist/lsp/CodeActionProvider.js +0 -33
  115. package/dist/lsp/CodeLensProvider.d.ts +0 -9
  116. package/dist/lsp/CodeLensProvider.js +0 -44
  117. package/dist/lsp/CompletionProvider.d.ts +0 -11
  118. package/dist/lsp/CompletionProvider.js +0 -200
  119. package/dist/lsp/DocumentHighlightProvider.d.ts +0 -9
  120. package/dist/lsp/DocumentHighlightProvider.js +0 -10
  121. package/dist/lsp/DocumentLinkProvider.d.ts +0 -11
  122. package/dist/lsp/DocumentLinkProvider.js +0 -58
  123. package/dist/lsp/DocumentSymbolProvider.d.ts +0 -33
  124. package/dist/lsp/DocumentSymbolProvider.js +0 -317
  125. package/dist/lsp/HoverProvider.d.ts +0 -10
  126. package/dist/lsp/HoverProvider.js +0 -106
  127. package/dist/lsp/RenameProvider.d.ts +0 -5
  128. package/dist/lsp/RenameProvider.js +0 -6
  129. package/dist/lsp/SemanticTokenProvider.d.ts +0 -12
  130. package/dist/lsp/SemanticTokenProvider.js +0 -264
  131. package/dist/lsp/index.d.ts +0 -8
  132. package/dist/lsp/index.js +0 -9
  133. package/dist/mcp/MCPServerFactory.d.ts +0 -8
  134. package/dist/mcp/MCPServerFactory.js +0 -73
  135. package/dist/mcp/NoopLikeC4MCPServer.d.ts +0 -9
  136. package/dist/mcp/NoopLikeC4MCPServer.js +0 -17
  137. package/dist/mcp/interfaces.d.ts +0 -13
  138. package/dist/mcp/interfaces.js +0 -5
  139. package/dist/mcp/server/StdioLikeC4MCPServer.d.ts +0 -16
  140. package/dist/mcp/server/StdioLikeC4MCPServer.js +0 -51
  141. package/dist/mcp/server/StreamableLikeC4MCPServer.d.ts +0 -16
  142. package/dist/mcp/server/StreamableLikeC4MCPServer.js +0 -145
  143. package/dist/mcp/server/WithMCPServer.d.ts +0 -4
  144. package/dist/mcp/server/WithMCPServer.js +0 -54
  145. package/dist/mcp/tools/_common.d.ts +0 -88
  146. package/dist/mcp/tools/_common.js +0 -49
  147. package/dist/mcp/tools/find-relationships.d.ts +0 -12
  148. package/dist/mcp/tools/find-relationships.js +0 -150
  149. package/dist/mcp/tools/list-projects.d.ts +0 -6
  150. package/dist/mcp/tools/list-projects.js +0 -62
  151. package/dist/mcp/tools/open-view.d.ts +0 -10
  152. package/dist/mcp/tools/open-view.js +0 -52
  153. package/dist/mcp/tools/read-deployment.d.ts +0 -10
  154. package/dist/mcp/tools/read-deployment.js +0 -150
  155. package/dist/mcp/tools/read-element.d.ts +0 -10
  156. package/dist/mcp/tools/read-element.js +0 -218
  157. package/dist/mcp/tools/read-project-summary.d.ts +0 -8
  158. package/dist/mcp/tools/read-project-summary.js +0 -176
  159. package/dist/mcp/tools/read-view.d.ts +0 -10
  160. package/dist/mcp/tools/read-view.js +0 -203
  161. package/dist/mcp/tools/search-element.d.ts +0 -8
  162. package/dist/mcp/tools/search-element.js +0 -177
  163. package/dist/mcp/utils.d.ts +0 -18
  164. package/dist/mcp/utils.js +0 -48
  165. package/dist/model/builder/MergedExtends.d.ts +0 -13
  166. package/dist/model/builder/MergedExtends.js +0 -74
  167. package/dist/model/builder/MergedSpecification.d.ts +0 -32
  168. package/dist/model/builder/MergedSpecification.js +0 -175
  169. package/dist/model/builder/buildModel.d.ts +0 -16
  170. package/dist/model/builder/buildModel.js +0 -245
  171. package/dist/model/deployments-index.d.ts +0 -10
  172. package/dist/model/deployments-index.js +0 -102
  173. package/dist/model/fqn-index.d.ts +0 -61
  174. package/dist/model/fqn-index.js +0 -253
  175. package/dist/model/index.d.ts +0 -6
  176. package/dist/model/index.js +0 -6
  177. package/dist/model/model-builder.d.ts +0 -52
  178. package/dist/model/model-builder.js +0 -224
  179. package/dist/model/model-locator.d.ts +0 -39
  180. package/dist/model/model-locator.js +0 -240
  181. package/dist/model/model-parser-where.d.ts +0 -4
  182. package/dist/model/model-parser-where.js +0 -81
  183. package/dist/model/model-parser.d.ts +0 -645
  184. package/dist/model/model-parser.js +0 -133
  185. package/dist/model/parser/Base.d.ts +0 -69
  186. package/dist/model/parser/Base.js +0 -372
  187. package/dist/model/parser/DeploymentModelParser.d.ts +0 -71
  188. package/dist/model/parser/DeploymentModelParser.js +0 -176
  189. package/dist/model/parser/DeploymentViewParser.d.ts +0 -75
  190. package/dist/model/parser/DeploymentViewParser.js +0 -86
  191. package/dist/model/parser/FqnRefParser.d.ts +0 -66
  192. package/dist/model/parser/FqnRefParser.js +0 -382
  193. package/dist/model/parser/GlobalsParser.d.ts +0 -109
  194. package/dist/model/parser/GlobalsParser.js +0 -84
  195. package/dist/model/parser/ImportsParser.d.ts +0 -46
  196. package/dist/model/parser/ImportsParser.js +0 -24
  197. package/dist/model/parser/ModelParser.d.ts +0 -71
  198. package/dist/model/parser/ModelParser.js +0 -209
  199. package/dist/model/parser/PredicatesParser.d.ts +0 -75
  200. package/dist/model/parser/PredicatesParser.js +0 -45
  201. package/dist/model/parser/SpecificationParser.d.ts +0 -53
  202. package/dist/model/parser/SpecificationParser.js +0 -113
  203. package/dist/model/parser/ValueConverter.d.ts +0 -4
  204. package/dist/model/parser/ValueConverter.js +0 -12
  205. package/dist/model/parser/ViewsParser.d.ts +0 -112
  206. package/dist/model/parser/ViewsParser.js +0 -492
  207. package/dist/model-change/ModelChanges.d.ts +0 -18
  208. package/dist/model-change/ModelChanges.js +0 -129
  209. package/dist/model-change/changeElementStyle.d.ts +0 -16
  210. package/dist/model-change/changeElementStyle.js +0 -134
  211. package/dist/model-change/changeViewLayout.d.ts +0 -12
  212. package/dist/model-change/changeViewLayout.js +0 -28
  213. package/dist/model-change/removeManualLayoutV1.d.ts +0 -7
  214. package/dist/model-change/removeManualLayoutV1.js +0 -27
  215. package/dist/module.d.ts +0 -92
  216. package/dist/module.js +0 -143
  217. package/dist/protocol.d.ts +0 -284
  218. package/dist/protocol.js +0 -123
  219. package/dist/references/index.d.ts +0 -3
  220. package/dist/references/index.js +0 -3
  221. package/dist/references/name-provider.d.ts +0 -9
  222. package/dist/references/name-provider.js +0 -37
  223. package/dist/references/scope-computation.d.ts +0 -20
  224. package/dist/references/scope-computation.js +0 -288
  225. package/dist/references/scope-provider.d.ts +0 -40
  226. package/dist/references/scope-provider.js +0 -239
  227. package/dist/shared/NodeKindProvider.d.ts +0 -15
  228. package/dist/shared/NodeKindProvider.js +0 -57
  229. package/dist/shared/WorkspaceSymbolProvider.d.ts +0 -3
  230. package/dist/shared/WorkspaceSymbolProvider.js +0 -3
  231. package/dist/shared/index.d.ts +0 -2
  232. package/dist/shared/index.js +0 -2
  233. package/dist/test/index.d.ts +0 -1
  234. package/dist/test/index.js +0 -1
  235. package/dist/test/testServices.d.ts +0 -64
  236. package/dist/test/testServices.js +0 -210
  237. package/dist/utils/disposable.d.ts +0 -8
  238. package/dist/utils/disposable.js +0 -26
  239. package/dist/utils/elementRef.d.ts +0 -11
  240. package/dist/utils/elementRef.js +0 -27
  241. package/dist/utils/fqnRef.d.ts +0 -11
  242. package/dist/utils/fqnRef.js +0 -63
  243. package/dist/utils/index.d.ts +0 -11
  244. package/dist/utils/index.js +0 -35
  245. package/dist/utils/printDocs.d.ts +0 -2
  246. package/dist/utils/printDocs.js +0 -1
  247. package/dist/utils/projectId.d.ts +0 -4
  248. package/dist/utils/projectId.js +0 -16
  249. package/dist/utils/stringHash.d.ts +0 -1
  250. package/dist/utils/stringHash.js +0 -5
  251. package/dist/validation/DocumentValidator.d.ts +0 -11
  252. package/dist/validation/DocumentValidator.js +0 -17
  253. package/dist/validation/_shared.d.ts +0 -3
  254. package/dist/validation/_shared.js +0 -26
  255. package/dist/validation/deployment-checks.d.ts +0 -7
  256. package/dist/validation/deployment-checks.js +0 -140
  257. package/dist/validation/dynamic-view.d.ts +0 -6
  258. package/dist/validation/dynamic-view.js +0 -67
  259. package/dist/validation/element-ref.d.ts +0 -4
  260. package/dist/validation/element-ref.js +0 -12
  261. package/dist/validation/element.d.ts +0 -4
  262. package/dist/validation/element.js +0 -49
  263. package/dist/validation/imports.d.ts +0 -4
  264. package/dist/validation/imports.js +0 -46
  265. package/dist/validation/index.d.ts +0 -15
  266. package/dist/validation/index.js +0 -167
  267. package/dist/validation/property-checks.d.ts +0 -7
  268. package/dist/validation/property-checks.js +0 -108
  269. package/dist/validation/relation.d.ts +0 -6
  270. package/dist/validation/relation.js +0 -141
  271. package/dist/validation/specification.d.ts +0 -12
  272. package/dist/validation/specification.js +0 -190
  273. package/dist/validation/view-checks.d.ts +0 -4
  274. package/dist/validation/view-checks.js +0 -46
  275. package/dist/validation/view-predicates/fqn-expr-with.d.ts +0 -4
  276. package/dist/validation/view-predicates/fqn-expr-with.js +0 -43
  277. package/dist/validation/view-predicates/fqn-ref-expr.d.ts +0 -4
  278. package/dist/validation/view-predicates/fqn-ref-expr.js +0 -51
  279. package/dist/validation/view-predicates/incoming.d.ts +0 -4
  280. package/dist/validation/view-predicates/incoming.js +0 -16
  281. package/dist/validation/view-predicates/index.d.ts +0 -6
  282. package/dist/validation/view-predicates/index.js +0 -6
  283. package/dist/validation/view-predicates/outgoing.d.ts +0 -4
  284. package/dist/validation/view-predicates/outgoing.js +0 -20
  285. package/dist/validation/view-predicates/relation-expr.d.ts +0 -4
  286. package/dist/validation/view-predicates/relation-expr.js +0 -46
  287. package/dist/validation/view-predicates/relation-with.d.ts +0 -4
  288. package/dist/validation/view-predicates/relation-with.js +0 -16
  289. package/dist/validation/view.d.ts +0 -4
  290. package/dist/validation/view.js +0 -42
  291. package/dist/view-utils/assignNavigateTo.d.ts +0 -2
  292. package/dist/view-utils/assignNavigateTo.js +0 -27
  293. package/dist/view-utils/index.d.ts +0 -2
  294. package/dist/view-utils/index.js +0 -2
  295. package/dist/view-utils/manual-layout.d.ts +0 -13
  296. package/dist/view-utils/manual-layout.js +0 -149
  297. package/dist/views/ConfigurableLayouter.d.ts +0 -7
  298. package/dist/views/ConfigurableLayouter.js +0 -51
  299. package/dist/views/LikeC4ManualLayouts.d.ts +0 -42
  300. package/dist/views/LikeC4ManualLayouts.js +0 -209
  301. package/dist/views/LikeC4Views.d.ts +0 -89
  302. package/dist/views/LikeC4Views.js +0 -216
  303. package/dist/views/index.d.ts +0 -4
  304. package/dist/views/index.js +0 -11
  305. package/dist/workspace/AstNodeDescriptionProvider.d.ts +0 -7
  306. package/dist/workspace/AstNodeDescriptionProvider.js +0 -18
  307. package/dist/workspace/IndexManager.d.ts +0 -10
  308. package/dist/workspace/IndexManager.js +0 -26
  309. package/dist/workspace/LangiumDocuments.d.ts +0 -25
  310. package/dist/workspace/LangiumDocuments.js +0 -98
  311. package/dist/workspace/ProjectsManager.d.ts +0 -130
  312. package/dist/workspace/ProjectsManager.js +0 -605
  313. package/dist/workspace/WorkspaceManager.d.ts +0 -31
  314. package/dist/workspace/WorkspaceManager.js +0 -132
  315. package/dist/workspace/index.d.ts +0 -5
  316. package/dist/workspace/index.js +0 -5
@@ -0,0 +1,176 @@
1
+ import { I as t, _ as e, p as e$1 } from "./libs/remeda.mjs";
2
+ import { Dr as isDeploymentNodeBody, Fr as isDeploymentViewRulePredicate, Gr as isDynamicViewIncludePredicate, Nr as isDeploymentViewBody, Pi as isGlobals, Qi as isLineProperty, Qr as isElementBody, Vr as isDynamicViewBody, ci as isElementViewBody, do as isViewRulePredicate, hi as isExtendElementBody, la as isModelViews, ni as isElementRef, oa as isModel, pi as isExtendDeploymentBody, pr as isArrowProperty, sa as isModelDeployments, vr as isColorProperty, wr as isDeployedInstanceBody } from "./ast.mjs";
3
+ import { r as LikeC4LanguageMetaData } from "./module.mjs";
4
+ import { AstUtils, DocumentState } from "langium";
5
+ import { MultiMap as MultiMap$1, nonexhaustive } from "@likec4/core/utils";
6
+
7
+ //#region src/ast.ts
8
+ const idattr = Symbol.for("idattr");
9
+ const ViewOps = {
10
+ writeId(node, id) {
11
+ node[idattr] = id;
12
+ return node;
13
+ },
14
+ readId(node) {
15
+ return node[idattr];
16
+ }
17
+ };
18
+ const ElementOps = {
19
+ writeId(node, id) {
20
+ if (e(id)) node[idattr] = void 0;
21
+ else node[idattr] = id;
22
+ return node;
23
+ },
24
+ readId(node) {
25
+ return node[idattr];
26
+ }
27
+ };
28
+ function isLikeC4LangiumDocument(doc) {
29
+ if (doc.textDocument.languageId === LikeC4LanguageMetaData.languageId) return true;
30
+ return false;
31
+ }
32
+ function isParsedLikeC4LangiumDocument(doc) {
33
+ return isLikeC4LangiumDocument(doc) && doc.state == DocumentState.Validated && !!doc.c4Specification && !!doc.c4Elements && !!doc.c4ExtendElements && !!doc.c4ExtendDeployments && !!doc.c4ExtendRelations && !!doc.c4Relations && !!doc.c4Views && !!doc.c4Deployments && !!doc.c4DeploymentRelations && !!doc.c4Imports;
34
+ }
35
+ function parseMarkdownAsString(node) {
36
+ return node?.markdown || node?.text;
37
+ }
38
+ function parseAstPercent(value) {
39
+ const opacity = parseFloat(value);
40
+ return isNaN(opacity) ? 100 : t(opacity, {
41
+ min: 0,
42
+ max: 100
43
+ });
44
+ }
45
+ function parseAstOpacityProperty({ value }) {
46
+ return parseAstPercent(value);
47
+ }
48
+ function parseAstSizeValue({ value }) {
49
+ switch (value) {
50
+ case "xs":
51
+ case "sm":
52
+ case "md":
53
+ case "lg":
54
+ case "xl": return value;
55
+ case "xsmall": return "xs";
56
+ case "small": return "sm";
57
+ case "medium": return "md";
58
+ case "large": return "lg";
59
+ case "xlarge": return "xl";
60
+ default: nonexhaustive(value);
61
+ }
62
+ }
63
+ function parseAstIconPositionValue({ value }) {
64
+ switch (value) {
65
+ case "left":
66
+ case "right":
67
+ case "top":
68
+ case "bottom": return value;
69
+ default: nonexhaustive(value);
70
+ }
71
+ }
72
+ function toRelationshipStyle(props, isValid) {
73
+ const result = {};
74
+ if (!props || props.length === 0) return result;
75
+ for (const prop of props) {
76
+ if (!isValid(prop)) continue;
77
+ switch (true) {
78
+ case isColorProperty(prop): {
79
+ const color = toColor(prop);
80
+ if (e$1(color)) result.color = color;
81
+ break;
82
+ }
83
+ case isLineProperty(prop):
84
+ result.line = prop.value;
85
+ break;
86
+ case isArrowProperty(prop):
87
+ switch (prop.key) {
88
+ case "head":
89
+ result.head = prop.value;
90
+ break;
91
+ case "tail":
92
+ result.tail = prop.value;
93
+ break;
94
+ default: nonexhaustive(prop);
95
+ }
96
+ break;
97
+ default: nonexhaustive(prop);
98
+ }
99
+ }
100
+ return result;
101
+ }
102
+ function toColor(astNode) {
103
+ return astNode?.themeColor ?? astNode?.customColor?.$refText;
104
+ }
105
+ function toAutoLayout(rule) {
106
+ const rankSep = rule.rankSep;
107
+ const nodeSep = rule.nodeSep;
108
+ let direction;
109
+ switch (rule.direction) {
110
+ case "TopBottom":
111
+ direction = "TB";
112
+ break;
113
+ case "BottomTop":
114
+ direction = "BT";
115
+ break;
116
+ case "LeftRight":
117
+ direction = "LR";
118
+ break;
119
+ case "RightLeft":
120
+ direction = "RL";
121
+ break;
122
+ default: nonexhaustive(rule.direction);
123
+ }
124
+ return {
125
+ direction,
126
+ ...nodeSep && { nodeSep },
127
+ ...rankSep && { rankSep }
128
+ };
129
+ }
130
+ function toAstViewLayoutDirection(c4) {
131
+ switch (c4) {
132
+ case "TB": return "TopBottom";
133
+ case "BT": return "BottomTop";
134
+ case "LR": return "LeftRight";
135
+ case "RL": return "RightLeft";
136
+ default: nonexhaustive(c4);
137
+ }
138
+ }
139
+ function getViewRulePredicateContainer(el) {
140
+ return AstUtils.getContainerOfType(el, (n) => {
141
+ return isViewRulePredicate(n) || isDeploymentViewRulePredicate(n) || isDynamicViewIncludePredicate(n);
142
+ });
143
+ }
144
+ const _isModel = (astNode) => {
145
+ return isModel(astNode) || isElementBody(astNode) || isExtendElementBody(astNode) || isElementViewBody(astNode) || isDynamicViewBody(astNode) || isElementRef(astNode);
146
+ };
147
+ const _isDeployment = (astNode) => {
148
+ return isModelDeployments(astNode) || isDeploymentViewBody(astNode) || isDeploymentNodeBody(astNode) || isExtendDeploymentBody(astNode) || isDeployedInstanceBody(astNode);
149
+ };
150
+ function isFqnRefInsideGlobals(astNode) {
151
+ while (true) {
152
+ if (_isDeployment(astNode) || _isModel(astNode)) return false;
153
+ if (isGlobals(astNode) || isModelViews(astNode)) return true;
154
+ if (astNode.$container) astNode = astNode.$container;
155
+ else return false;
156
+ }
157
+ }
158
+ function isFqnRefInsideModel(astNode) {
159
+ while (true) {
160
+ if (_isDeployment(astNode)) return false;
161
+ if (_isModel(astNode)) return true;
162
+ if (astNode.$container) astNode = astNode.$container;
163
+ else return false;
164
+ }
165
+ }
166
+ function isFqnRefInsideDeployment(astNode) {
167
+ while (true) {
168
+ if (_isModel(astNode)) return false;
169
+ if (_isDeployment(astNode)) return true;
170
+ if (astNode.$container) astNode = astNode.$container;
171
+ else return false;
172
+ }
173
+ }
174
+
175
+ //#endregion
176
+ export { toRelationshipStyle as _, isFqnRefInsideGlobals as a, isParsedLikeC4LangiumDocument as c, parseAstPercent as d, parseAstSizeValue as f, toColor as g, toAutoLayout as h, isFqnRefInsideDeployment as i, parseAstIconPositionValue as l, toAstViewLayoutDirection as m, ViewOps as n, isFqnRefInsideModel as o, parseMarkdownAsString as p, getViewRulePredicateContainer as r, isLikeC4LangiumDocument as s, ElementOps as t, parseAstOpacityProperty as u };
File without changes
@@ -0,0 +1,58 @@
1
+ import { t as LibIcons } from "./icons.mjs";
2
+ import { r as isLikeC4Builtin } from "./likec4lib.mjs";
3
+
4
+ //#region src/filesystem/noop.ts
5
+ var NoopFileSystemProvider = class {
6
+ scanProjectFiles() {
7
+ return Promise.resolve([]);
8
+ }
9
+ scanDirectory() {
10
+ return Promise.resolve([]);
11
+ }
12
+ readFile(uri) {
13
+ if (isLikeC4Builtin(uri)) return Promise.resolve(LibIcons);
14
+ throw new Error("No file system is available.");
15
+ }
16
+ readDirectory() {
17
+ return Promise.resolve([]);
18
+ }
19
+ loadProjectConfig() {
20
+ throw new Error("No file system is available.");
21
+ }
22
+ writeFile() {
23
+ throw new Error("No file system is available.");
24
+ }
25
+ deleteFile() {
26
+ throw new Error("No file system is available.");
27
+ }
28
+ };
29
+ /**
30
+ * A no-op file system watcher.
31
+ */
32
+ var NoopFileSystemWatcher = class {
33
+ watch() {}
34
+ dispose() {
35
+ return Promise.resolve();
36
+ }
37
+ };
38
+ var NoopLikeC4ManualLayouts = class {
39
+ read() {
40
+ return Promise.resolve(null);
41
+ }
42
+ write() {
43
+ return Promise.reject(/* @__PURE__ */ new Error("NoopLikeC4ManualLayouts: write operation is not supported"));
44
+ }
45
+ remove() {
46
+ return Promise.resolve(null);
47
+ }
48
+ clearCaches() {}
49
+ };
50
+ const NoFileSystemWatcher = { fileSystemWatcher: () => new NoopFileSystemWatcher() };
51
+ const NoFileSystem = {
52
+ fileSystemProvider: () => new NoopFileSystemProvider(),
53
+ ...NoFileSystemWatcher
54
+ };
55
+ const NoLikeC4ManualLayouts = { manualLayouts: () => new NoopLikeC4ManualLayouts() };
56
+
57
+ //#endregion
58
+ export { NoFileSystemWatcher as n, NoLikeC4ManualLayouts as r, NoFileSystem as t };