@likec4/core 1.18.0 → 1.19.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 (176) hide show
  1. package/LICENSE +1 -1
  2. package/dist/builder/index.d.mts +502 -0
  3. package/dist/builder/index.d.ts +502 -0
  4. package/dist/builder/index.js +871 -0
  5. package/dist/compute-view/index.d.mts +9 -78
  6. package/dist/compute-view/index.d.ts +9 -78
  7. package/dist/compute-view/index.js +78 -0
  8. package/dist/index.d.mts +9 -730
  9. package/dist/index.d.ts +9 -730
  10. package/dist/{index.mjs → index.js} +7 -784
  11. package/dist/model/index.d.mts +218 -606
  12. package/dist/model/index.d.ts +218 -606
  13. package/dist/model/index.js +1 -0
  14. package/dist/shared/chunk-RAAYCPUM.M-JWF7SS.js +21 -0
  15. package/dist/shared/core.BIfgabEw.d.ts +719 -0
  16. package/dist/shared/core.BZ9Msq7w.d.mts +719 -0
  17. package/dist/shared/{core.DMYY7C8s.d.mts → core.C05RDLhi.d.ts} +179 -230
  18. package/dist/shared/{core.DMYY7C8s.d.ts → core.CmYMqgha.d.mts} +179 -230
  19. package/dist/shared/core.D6-fWbM3.d.ts +127 -0
  20. package/dist/shared/core.D74xkKkG.d.mts +148 -0
  21. package/dist/shared/core.D74xkKkG.d.ts +148 -0
  22. package/dist/shared/core.sLaWHBjR.d.mts +127 -0
  23. package/dist/shared/index.-BdzdI2C.js +7443 -0
  24. package/dist/shared/object_hash.CE_oF3I3.js +1222 -0
  25. package/dist/shared/view.CyZrG8BJ.js +354 -0
  26. package/dist/types/index.d.mts +4 -2
  27. package/dist/types/index.d.ts +4 -2
  28. package/dist/types/index.js +20 -0
  29. package/dist/utils/index.d.mts +404 -0
  30. package/dist/utils/index.d.ts +404 -0
  31. package/dist/utils/index.js +330 -0
  32. package/package.json +47 -33
  33. package/src/builder/Builder-style1.test-d.ts +190 -0
  34. package/src/builder/Builder-style2.test-d.ts +175 -0
  35. package/src/builder/Builder.deployment.ts +25 -20
  36. package/src/builder/Builder.deploymentModel.ts +80 -55
  37. package/src/builder/Builder.element.ts +2 -0
  38. package/src/builder/Builder.model.ts +57 -43
  39. package/src/builder/Builder.ts +412 -431
  40. package/src/builder/Builder.view-common.ts +234 -0
  41. package/src/builder/Builder.view-deployment.ts +135 -0
  42. package/src/builder/Builder.view-element.ts +189 -0
  43. package/src/builder/Builder.views.ts +109 -33
  44. package/src/builder/Builder.with.ts +475 -0
  45. package/src/builder/__snapshots__/Builder-style1.spec.ts.snap +374 -0
  46. package/src/builder/__snapshots__/Builder-style2.spec.ts.snap +183 -0
  47. package/src/builder/__snapshots__/Builder.spec.ts.snap +374 -0
  48. package/src/builder/_types.ts +28 -5
  49. package/src/builder/index.ts +10 -4
  50. package/src/colors/index.ts +2 -2
  51. package/src/compute-view/compute-view.ts +45 -54
  52. package/src/compute-view/deployment-view/__test__/TestHelper.ts +236 -0
  53. package/src/compute-view/deployment-view/__test__/fixture.ts +50 -62
  54. package/src/compute-view/deployment-view/_types.ts +26 -18
  55. package/src/compute-view/deployment-view/clean-connections.ts +173 -164
  56. package/src/compute-view/deployment-view/compute.ts +51 -37
  57. package/src/compute-view/deployment-view/memory/index.ts +9 -0
  58. package/src/compute-view/deployment-view/memory/memory.ts +97 -0
  59. package/src/compute-view/deployment-view/predicates/elements.ts +144 -0
  60. package/src/compute-view/deployment-view/predicates/relation-direct.ts +183 -76
  61. package/src/compute-view/deployment-view/predicates/relation-in-out.ts +38 -20
  62. package/src/compute-view/deployment-view/predicates/relation-incoming.ts +72 -23
  63. package/src/compute-view/deployment-view/predicates/relation-outgoing.ts +61 -22
  64. package/src/compute-view/deployment-view/predicates/wildcard.ts +15 -15
  65. package/src/compute-view/deployment-view/stages/stage-exclude.ts +5 -0
  66. package/src/compute-view/deployment-view/stages/stage-final.ts +245 -0
  67. package/src/compute-view/deployment-view/stages/stage-include.ts +95 -0
  68. package/src/compute-view/deployment-view/utils.ts +95 -31
  69. package/src/compute-view/dynamic-view/__test__/fixture.ts +4 -4
  70. package/src/compute-view/dynamic-view/compute.ts +59 -45
  71. package/src/compute-view/element-view/__test__/TestHelper.ts +258 -0
  72. package/src/compute-view/element-view/__test__/__snapshots__/legacy.spec.ts.snap +64 -62
  73. package/src/compute-view/element-view/__test__/fixture.ts +147 -117
  74. package/src/compute-view/element-view/_types.ts +48 -0
  75. package/src/compute-view/element-view/clean-connections.ts +113 -0
  76. package/src/compute-view/element-view/compute.ts +264 -683
  77. package/src/compute-view/element-view/memory/NodeGroup.ts +31 -0
  78. package/src/compute-view/element-view/memory/index.ts +10 -0
  79. package/src/compute-view/element-view/memory/memory.ts +177 -0
  80. package/src/compute-view/element-view/memory/stage-exclude.ts +59 -0
  81. package/src/compute-view/element-view/memory/stage-final.ts +129 -0
  82. package/src/compute-view/element-view/memory/stage-include.ts +128 -0
  83. package/src/compute-view/element-view/predicates/_utils.ts +86 -0
  84. package/src/compute-view/element-view/predicates/element-expand.ts +33 -0
  85. package/src/compute-view/element-view/predicates/element-kind-tag.ts +26 -0
  86. package/src/compute-view/element-view/predicates/element-ref.ts +37 -0
  87. package/src/compute-view/element-view/predicates/relation-direct.ts +309 -0
  88. package/src/compute-view/element-view/predicates/relation-in-out.ts +66 -0
  89. package/src/compute-view/element-view/predicates/relation-in.ts +118 -0
  90. package/src/compute-view/element-view/predicates/relation-out.ts +116 -0
  91. package/src/compute-view/element-view/predicates/wildcard.ts +88 -0
  92. package/src/compute-view/element-view/utils.ts +59 -0
  93. package/src/compute-view/index.ts +3 -4
  94. package/src/compute-view/memory/AbstractMemory.ts +45 -0
  95. package/src/compute-view/memory/AbstractStageExclude.ts +216 -0
  96. package/src/compute-view/memory/AbstractStageInclude.ts +200 -0
  97. package/src/compute-view/memory/_types.ts +147 -0
  98. package/src/compute-view/memory/index.ts +5 -0
  99. package/src/compute-view/memory/ops.ts +43 -0
  100. package/src/compute-view/utils/buildComputedNodes.ts +4 -4
  101. package/src/compute-view/utils/elementExpressionToPredicate.ts +1 -3
  102. package/src/compute-view/utils/link-nodes-with-edges.ts +3 -7
  103. package/src/compute-view/utils/{derive-edge-props-from-relationships.ts → merge-props-from-relationships.ts} +54 -23
  104. package/src/compute-view/utils/relationExpressionToPredicates.ts +2 -2
  105. package/src/compute-view/utils/resolve-extended-views.ts +44 -40
  106. package/src/compute-view/utils/resolve-global-rules.ts +6 -6
  107. package/src/compute-view/utils/topological-sort.ts +167 -71
  108. package/src/compute-view/utils/with-readable-edges.ts +14 -9
  109. package/src/index.ts +22 -16
  110. package/src/model/DeploymentElementModel.ts +150 -85
  111. package/src/model/DeploymentModel.ts +27 -21
  112. package/src/model/ElementModel.ts +51 -25
  113. package/src/model/LikeC4Model.test-d.ts +4 -3
  114. package/src/model/LikeC4Model.ts +98 -42
  115. package/src/model/RelationModel.ts +5 -4
  116. package/src/model/__test__/fixture.ts +5 -9
  117. package/src/model/connection/Connection.ts +72 -0
  118. package/src/model/connection/deployment/DeploymentConnectionModel.ts +178 -0
  119. package/src/model/connection/{deployment.ts → deployment/find.ts} +14 -18
  120. package/src/model/connection/deployment/index.ts +8 -0
  121. package/src/model/connection/index.ts +22 -0
  122. package/src/model/connection/model/ConnectionModel.ts +157 -0
  123. package/src/model/connection/{model.ts → model/find.ts} +43 -49
  124. package/src/model/connection/model/index.ts +8 -0
  125. package/src/model/connection/ops.ts +274 -0
  126. package/src/model/guards.ts +9 -0
  127. package/src/model/index.ts +45 -3
  128. package/src/model/types.ts +35 -18
  129. package/src/model/view/EdgeModel.ts +6 -6
  130. package/src/model/view/LikeC4ViewModel.ts +14 -8
  131. package/src/model/view/NodeModel.ts +6 -5
  132. package/src/types/_common.ts +53 -1
  133. package/src/types/deployments.ts +88 -156
  134. package/src/types/element.ts +2 -2
  135. package/src/types/expression-v2.ts +172 -0
  136. package/src/types/expression.ts +9 -5
  137. package/src/types/global.ts +3 -3
  138. package/src/types/index.ts +220 -13
  139. package/src/types/model.ts +28 -24
  140. package/src/types/operators.ts +1 -1
  141. package/src/types/relation.ts +14 -10
  142. package/src/types/theme.ts +0 -1
  143. package/src/types/view.ts +20 -18
  144. package/src/utils/const.ts +1 -0
  145. package/src/utils/fqn.ts +140 -49
  146. package/src/utils/getOrCreate.ts +1 -1
  147. package/src/utils/index.ts +74 -9
  148. package/src/utils/iterable/_types.ts +5 -0
  149. package/src/utils/iterable/filter.ts +55 -0
  150. package/src/utils/iterable/flat.ts +17 -0
  151. package/src/utils/iterable/index.ts +12 -0
  152. package/src/utils/iterable/map.ts +40 -0
  153. package/src/utils/iterable/reduce.ts +24 -0
  154. package/src/utils/iterable/some.ts +36 -0
  155. package/src/utils/iterable/to.ts +19 -0
  156. package/src/utils/iterable/unique.ts +29 -0
  157. package/src/utils/relations.ts +3 -64
  158. package/src/utils/set.ts +11 -9
  159. package/src/utils/string-hash.ts +1 -1
  160. package/dist/compute-view/index.mjs +0 -79
  161. package/dist/model/index.mjs +0 -2
  162. package/dist/shared/core.BBgiAAv1.mjs +0 -144
  163. package/dist/shared/core.BPyJvuMU.mjs +0 -2420
  164. package/dist/shared/core.BQ4AbfvB.mjs +0 -9228
  165. package/dist/shared/core.k12s_keD.mjs +0 -203
  166. package/dist/types/index.mjs +0 -21
  167. package/src/builder/Builder.test-d.ts +0 -124
  168. package/src/builder/Builder.view.ts +0 -543
  169. package/src/compute-view/LikeC4ModelGraph.ts +0 -330
  170. package/src/compute-view/deployment-view/Memory.ts +0 -108
  171. package/src/compute-view/deployment-view/Stage.ts +0 -145
  172. package/src/compute-view/deployment-view/predicates/deployment-ref.ts +0 -146
  173. package/src/compute-view/element-view/predicates.ts +0 -517
  174. package/src/compute-view/utils/sortNodes.ts +0 -101
  175. package/src/model/connection/ConnectionModel.ts +0 -94
  176. package/src/model/connection/DeploymentConnectionModel.ts +0 -99
@@ -0,0 +1,374 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`Builder (style1) > should build nested elements and relTo 1`] = `
4
+ {
5
+ "deployments": {
6
+ "elements": {},
7
+ "relations": {},
8
+ },
9
+ "elements": {
10
+ "s1": {
11
+ "color": "green",
12
+ "description": null,
13
+ "id": "s1",
14
+ "kind": "system",
15
+ "links": null,
16
+ "shape": "rectangle",
17
+ "style": {
18
+ "opacity": 10,
19
+ },
20
+ "tags": null,
21
+ "technology": null,
22
+ "title": "s1",
23
+ },
24
+ "s1.c1": {
25
+ "color": "primary",
26
+ "description": null,
27
+ "id": "s1.c1",
28
+ "kind": "component",
29
+ "links": null,
30
+ "shape": "browser",
31
+ "style": {},
32
+ "tags": null,
33
+ "technology": null,
34
+ "title": "c1",
35
+ },
36
+ "s2": {
37
+ "color": "green",
38
+ "description": null,
39
+ "id": "s2",
40
+ "kind": "system",
41
+ "links": null,
42
+ "shape": "rectangle",
43
+ "style": {
44
+ "opacity": 10,
45
+ },
46
+ "tags": null,
47
+ "technology": null,
48
+ "title": "s2",
49
+ },
50
+ "s2.c1": {
51
+ "color": "primary",
52
+ "description": null,
53
+ "id": "s2.c1",
54
+ "kind": "component",
55
+ "links": null,
56
+ "shape": "browser",
57
+ "style": {},
58
+ "tags": null,
59
+ "technology": null,
60
+ "title": "Component s2.1",
61
+ },
62
+ "s2.c1.c2": {
63
+ "color": "primary",
64
+ "description": null,
65
+ "id": "s2.c1.c2",
66
+ "kind": "component",
67
+ "links": null,
68
+ "shape": "browser",
69
+ "style": {},
70
+ "tags": null,
71
+ "technology": null,
72
+ "title": "Component s2.1.2",
73
+ },
74
+ "s2.c1.c2.c3": {
75
+ "color": "primary",
76
+ "description": null,
77
+ "id": "s2.c1.c2.c3",
78
+ "kind": "component",
79
+ "links": null,
80
+ "shape": "browser",
81
+ "style": {},
82
+ "tags": null,
83
+ "technology": null,
84
+ "title": "c3",
85
+ },
86
+ },
87
+ "globals": {
88
+ "dynamicPredicates": {},
89
+ "predicates": {},
90
+ "styles": {},
91
+ },
92
+ "relations": {
93
+ "rel1": {
94
+ "id": "rel1",
95
+ "source": "s2.c1.c2.c3",
96
+ "target": "s1.c1",
97
+ "title": "relation from s2.1.2.3 to s1.1",
98
+ },
99
+ "rel2": {
100
+ "id": "rel2",
101
+ "source": "s2.c1",
102
+ "target": "s1.c1",
103
+ "title": "relation from s2.1 to s1.1",
104
+ },
105
+ "rel3": {
106
+ "id": "rel3",
107
+ "source": "s1.c1",
108
+ "target": "s2.c1.c2",
109
+ "title": "relation from s1.1 to s2.1.2",
110
+ },
111
+ },
112
+ "specification": {
113
+ "deployments": {},
114
+ "elements": {
115
+ "component": {
116
+ "style": {
117
+ "shape": "browser",
118
+ },
119
+ },
120
+ "system": {
121
+ "style": {
122
+ "color": "green",
123
+ "opacity": 10,
124
+ },
125
+ },
126
+ },
127
+ "relationships": {},
128
+ "tags": [],
129
+ },
130
+ "views": {},
131
+ }
132
+ `;
133
+
134
+ exports[`Builder (style1) > should build view 1`] = `
135
+ {
136
+ "deployments": {
137
+ "elements": {},
138
+ "relations": {},
139
+ },
140
+ "elements": {
141
+ "c1": {
142
+ "color": "primary",
143
+ "description": null,
144
+ "id": "c1",
145
+ "kind": "component",
146
+ "links": null,
147
+ "shape": "rectangle",
148
+ "style": {},
149
+ "tags": null,
150
+ "technology": null,
151
+ "title": "c1",
152
+ },
153
+ "c2": {
154
+ "color": "primary",
155
+ "description": null,
156
+ "id": "c2",
157
+ "kind": "component",
158
+ "links": null,
159
+ "shape": "rectangle",
160
+ "style": {},
161
+ "tags": null,
162
+ "technology": null,
163
+ "title": "c2",
164
+ },
165
+ "c3": {
166
+ "color": "primary",
167
+ "description": null,
168
+ "id": "c3",
169
+ "kind": "component",
170
+ "links": null,
171
+ "shape": "rectangle",
172
+ "style": {},
173
+ "tags": null,
174
+ "technology": null,
175
+ "title": "c3",
176
+ },
177
+ },
178
+ "globals": {
179
+ "dynamicPredicates": {},
180
+ "predicates": {},
181
+ "styles": {},
182
+ },
183
+ "relations": {},
184
+ "specification": {
185
+ "deployments": {},
186
+ "elements": {
187
+ "component": {},
188
+ },
189
+ "relationships": {},
190
+ "tags": [],
191
+ },
192
+ "views": {
193
+ "1": {
194
+ "__": "element",
195
+ "customColorDefinitions": {},
196
+ "description": null,
197
+ "id": "1",
198
+ "links": null,
199
+ "rules": [
200
+ {
201
+ "include": [
202
+ {
203
+ "wildcard": true,
204
+ },
205
+ ],
206
+ },
207
+ ],
208
+ "tags": null,
209
+ "title": "View 1",
210
+ },
211
+ "2": {
212
+ "__": "element",
213
+ "customColorDefinitions": {},
214
+ "description": null,
215
+ "id": "2",
216
+ "links": null,
217
+ "rules": [
218
+ {
219
+ "include": [
220
+ {
221
+ "wildcard": true,
222
+ },
223
+ ],
224
+ },
225
+ {
226
+ "include": [
227
+ {
228
+ "element": "c2",
229
+ "isChildren": true,
230
+ },
231
+ ],
232
+ },
233
+ ],
234
+ "tags": null,
235
+ "title": "view 2",
236
+ },
237
+ "3": {
238
+ "__": "element",
239
+ "customColorDefinitions": {},
240
+ "description": null,
241
+ "id": "3",
242
+ "links": null,
243
+ "rules": [
244
+ {
245
+ "include": [
246
+ {
247
+ "expanded": "c3",
248
+ },
249
+ ],
250
+ },
251
+ ],
252
+ "tags": null,
253
+ "title": "",
254
+ },
255
+ },
256
+ }
257
+ `;
258
+
259
+ exports[`Builder (style1) > should build viewOf 1`] = `
260
+ {
261
+ "deployments": {
262
+ "elements": {},
263
+ "relations": {},
264
+ },
265
+ "elements": {
266
+ "c1": {
267
+ "color": "primary",
268
+ "description": null,
269
+ "id": "c1",
270
+ "kind": "component",
271
+ "links": null,
272
+ "shape": "rectangle",
273
+ "style": {},
274
+ "tags": null,
275
+ "technology": null,
276
+ "title": "c1",
277
+ },
278
+ "c2": {
279
+ "color": "primary",
280
+ "description": null,
281
+ "id": "c2",
282
+ "kind": "component",
283
+ "links": null,
284
+ "shape": "rectangle",
285
+ "style": {},
286
+ "tags": null,
287
+ "technology": null,
288
+ "title": "c2",
289
+ },
290
+ "c2.c3": {
291
+ "color": "primary",
292
+ "description": null,
293
+ "id": "c2.c3",
294
+ "kind": "component",
295
+ "links": null,
296
+ "shape": "rectangle",
297
+ "style": {},
298
+ "tags": null,
299
+ "technology": null,
300
+ "title": "c3",
301
+ },
302
+ "c2.c3.c4": {
303
+ "color": "primary",
304
+ "description": null,
305
+ "id": "c2.c3.c4",
306
+ "kind": "component",
307
+ "links": null,
308
+ "shape": "rectangle",
309
+ "style": {},
310
+ "tags": null,
311
+ "technology": null,
312
+ "title": "c4",
313
+ },
314
+ },
315
+ "globals": {
316
+ "dynamicPredicates": {},
317
+ "predicates": {},
318
+ "styles": {},
319
+ },
320
+ "relations": {},
321
+ "specification": {
322
+ "deployments": {},
323
+ "elements": {
324
+ "component": {},
325
+ },
326
+ "relationships": {},
327
+ "tags": [],
328
+ },
329
+ "views": {
330
+ "1": {
331
+ "__": "element",
332
+ "customColorDefinitions": {},
333
+ "description": null,
334
+ "id": "1",
335
+ "links": null,
336
+ "rules": [
337
+ {
338
+ "include": [
339
+ {
340
+ "wildcard": true,
341
+ },
342
+ ],
343
+ },
344
+ {
345
+ "include": [
346
+ {
347
+ "inout": {
348
+ "element": "c2.c3",
349
+ "isChildren": true,
350
+ },
351
+ },
352
+ ],
353
+ },
354
+ {
355
+ "exclude": [
356
+ {
357
+ "source": {
358
+ "expanded": "c1",
359
+ },
360
+ "target": {
361
+ "element": "c2.c3",
362
+ "isChildren": true,
363
+ },
364
+ },
365
+ ],
366
+ },
367
+ ],
368
+ "tags": null,
369
+ "title": "View 1",
370
+ "viewOf": "c1",
371
+ },
372
+ },
373
+ }
374
+ `;
@@ -0,0 +1,183 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`Builder (style 2) > should build 1`] = `
4
+ {
5
+ "deployments": {
6
+ "elements": {
7
+ "dev": {
8
+ "color": "primary",
9
+ "description": null,
10
+ "id": "dev",
11
+ "kind": "env",
12
+ "shape": "rectangle",
13
+ "style": {},
14
+ "tags": null,
15
+ "technology": null,
16
+ "title": "dev",
17
+ },
18
+ "dev.local": {
19
+ "color": "primary",
20
+ "description": null,
21
+ "id": "dev.local",
22
+ "kind": "node",
23
+ "shape": "rectangle",
24
+ "style": {},
25
+ "tags": null,
26
+ "technology": null,
27
+ "title": "local",
28
+ },
29
+ "prod": {
30
+ "color": "primary",
31
+ "description": null,
32
+ "id": "prod",
33
+ "kind": "env",
34
+ "shape": "rectangle",
35
+ "style": {},
36
+ "tags": null,
37
+ "technology": null,
38
+ "title": "prod",
39
+ },
40
+ "prod.eu": {
41
+ "color": "primary",
42
+ "description": null,
43
+ "id": "prod.eu",
44
+ "kind": "node",
45
+ "shape": "rectangle",
46
+ "style": {},
47
+ "tags": null,
48
+ "technology": null,
49
+ "title": "eu",
50
+ },
51
+ "prod.eu.ui": {
52
+ "element": "cloud.ui",
53
+ "id": "prod.eu.ui",
54
+ },
55
+ },
56
+ "relations": {},
57
+ },
58
+ "elements": {
59
+ "cloud": {
60
+ "color": "primary",
61
+ "description": null,
62
+ "id": "cloud",
63
+ "kind": "system",
64
+ "links": null,
65
+ "shape": "rectangle",
66
+ "style": {},
67
+ "tags": null,
68
+ "technology": null,
69
+ "title": "cloud",
70
+ },
71
+ "cloud.ui": {
72
+ "color": "primary",
73
+ "description": null,
74
+ "id": "cloud.ui",
75
+ "kind": "component",
76
+ "links": null,
77
+ "shape": "rectangle",
78
+ "style": {},
79
+ "tags": null,
80
+ "technology": null,
81
+ "title": "ui",
82
+ },
83
+ "customer": {
84
+ "color": "primary",
85
+ "description": null,
86
+ "id": "customer",
87
+ "kind": "actor",
88
+ "links": null,
89
+ "shape": "rectangle",
90
+ "style": {},
91
+ "tags": null,
92
+ "technology": null,
93
+ "title": "customer",
94
+ },
95
+ },
96
+ "globals": {
97
+ "dynamicPredicates": {},
98
+ "predicates": {},
99
+ "styles": {},
100
+ },
101
+ "relations": {},
102
+ "specification": {
103
+ "deployments": {
104
+ "env": {},
105
+ "node": {},
106
+ },
107
+ "elements": {
108
+ "actor": {},
109
+ "component": {},
110
+ "system": {},
111
+ },
112
+ "relationships": {},
113
+ "tags": [],
114
+ },
115
+ "views": {
116
+ "cloud": {
117
+ "__": "element",
118
+ "customColorDefinitions": {},
119
+ "description": null,
120
+ "id": "cloud",
121
+ "links": null,
122
+ "rules": [
123
+ {
124
+ "include": [
125
+ {
126
+ "source": {
127
+ "wildcard": true,
128
+ },
129
+ "target": {
130
+ "element": "cloud",
131
+ "isDescendants": true,
132
+ },
133
+ },
134
+ ],
135
+ },
136
+ ],
137
+ "tags": null,
138
+ "title": null,
139
+ "viewOf": "cloud.ui",
140
+ },
141
+ "deployment": {
142
+ "__": "deployment",
143
+ "customColorDefinitions": {},
144
+ "description": null,
145
+ "id": "deployment",
146
+ "links": null,
147
+ "rules": [
148
+ {
149
+ "include": [
150
+ {
151
+ "ref": {
152
+ "deployment": "prod",
153
+ },
154
+ "selector": "descendants",
155
+ },
156
+ ],
157
+ },
158
+ ],
159
+ "tags": null,
160
+ "title": "Deployment",
161
+ },
162
+ "index": {
163
+ "__": "element",
164
+ "customColorDefinitions": {},
165
+ "description": null,
166
+ "id": "index",
167
+ "links": null,
168
+ "rules": [
169
+ {
170
+ "include": [
171
+ {
172
+ "element": "cloud",
173
+ "isChildren": true,
174
+ },
175
+ ],
176
+ },
177
+ ],
178
+ "tags": null,
179
+ "title": "Index",
180
+ },
181
+ },
182
+ }
183
+ `;