@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.
- package/LICENSE +1 -1
- package/dist/builder/index.d.mts +502 -0
- package/dist/builder/index.d.ts +502 -0
- package/dist/builder/index.js +871 -0
- package/dist/compute-view/index.d.mts +9 -78
- package/dist/compute-view/index.d.ts +9 -78
- package/dist/compute-view/index.js +78 -0
- package/dist/index.d.mts +9 -730
- package/dist/index.d.ts +9 -730
- package/dist/{index.mjs → index.js} +7 -784
- package/dist/model/index.d.mts +218 -606
- package/dist/model/index.d.ts +218 -606
- package/dist/model/index.js +1 -0
- package/dist/shared/chunk-RAAYCPUM.M-JWF7SS.js +21 -0
- package/dist/shared/core.BIfgabEw.d.ts +719 -0
- package/dist/shared/core.BZ9Msq7w.d.mts +719 -0
- package/dist/shared/{core.DMYY7C8s.d.mts → core.C05RDLhi.d.ts} +179 -230
- package/dist/shared/{core.DMYY7C8s.d.ts → core.CmYMqgha.d.mts} +179 -230
- package/dist/shared/core.D6-fWbM3.d.ts +127 -0
- package/dist/shared/core.D74xkKkG.d.mts +148 -0
- package/dist/shared/core.D74xkKkG.d.ts +148 -0
- package/dist/shared/core.sLaWHBjR.d.mts +127 -0
- package/dist/shared/index.-BdzdI2C.js +7443 -0
- package/dist/shared/object_hash.CE_oF3I3.js +1222 -0
- package/dist/shared/view.CyZrG8BJ.js +354 -0
- package/dist/types/index.d.mts +4 -2
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.js +20 -0
- package/dist/utils/index.d.mts +404 -0
- package/dist/utils/index.d.ts +404 -0
- package/dist/utils/index.js +330 -0
- package/package.json +47 -33
- package/src/builder/Builder-style1.test-d.ts +190 -0
- package/src/builder/Builder-style2.test-d.ts +175 -0
- package/src/builder/Builder.deployment.ts +25 -20
- package/src/builder/Builder.deploymentModel.ts +80 -55
- package/src/builder/Builder.element.ts +2 -0
- package/src/builder/Builder.model.ts +57 -43
- package/src/builder/Builder.ts +412 -431
- package/src/builder/Builder.view-common.ts +234 -0
- package/src/builder/Builder.view-deployment.ts +135 -0
- package/src/builder/Builder.view-element.ts +189 -0
- package/src/builder/Builder.views.ts +109 -33
- package/src/builder/Builder.with.ts +475 -0
- package/src/builder/__snapshots__/Builder-style1.spec.ts.snap +374 -0
- package/src/builder/__snapshots__/Builder-style2.spec.ts.snap +183 -0
- package/src/builder/__snapshots__/Builder.spec.ts.snap +374 -0
- package/src/builder/_types.ts +28 -5
- package/src/builder/index.ts +10 -4
- package/src/colors/index.ts +2 -2
- package/src/compute-view/compute-view.ts +45 -54
- package/src/compute-view/deployment-view/__test__/TestHelper.ts +236 -0
- package/src/compute-view/deployment-view/__test__/fixture.ts +50 -62
- package/src/compute-view/deployment-view/_types.ts +26 -18
- package/src/compute-view/deployment-view/clean-connections.ts +173 -164
- package/src/compute-view/deployment-view/compute.ts +51 -37
- package/src/compute-view/deployment-view/memory/index.ts +9 -0
- package/src/compute-view/deployment-view/memory/memory.ts +97 -0
- package/src/compute-view/deployment-view/predicates/elements.ts +144 -0
- package/src/compute-view/deployment-view/predicates/relation-direct.ts +183 -76
- package/src/compute-view/deployment-view/predicates/relation-in-out.ts +38 -20
- package/src/compute-view/deployment-view/predicates/relation-incoming.ts +72 -23
- package/src/compute-view/deployment-view/predicates/relation-outgoing.ts +61 -22
- package/src/compute-view/deployment-view/predicates/wildcard.ts +15 -15
- package/src/compute-view/deployment-view/stages/stage-exclude.ts +5 -0
- package/src/compute-view/deployment-view/stages/stage-final.ts +245 -0
- package/src/compute-view/deployment-view/stages/stage-include.ts +95 -0
- package/src/compute-view/deployment-view/utils.ts +95 -31
- package/src/compute-view/dynamic-view/__test__/fixture.ts +4 -4
- package/src/compute-view/dynamic-view/compute.ts +59 -45
- package/src/compute-view/element-view/__test__/TestHelper.ts +258 -0
- package/src/compute-view/element-view/__test__/__snapshots__/legacy.spec.ts.snap +64 -62
- package/src/compute-view/element-view/__test__/fixture.ts +147 -117
- package/src/compute-view/element-view/_types.ts +48 -0
- package/src/compute-view/element-view/clean-connections.ts +113 -0
- package/src/compute-view/element-view/compute.ts +264 -683
- package/src/compute-view/element-view/memory/NodeGroup.ts +31 -0
- package/src/compute-view/element-view/memory/index.ts +10 -0
- package/src/compute-view/element-view/memory/memory.ts +177 -0
- package/src/compute-view/element-view/memory/stage-exclude.ts +59 -0
- package/src/compute-view/element-view/memory/stage-final.ts +129 -0
- package/src/compute-view/element-view/memory/stage-include.ts +128 -0
- package/src/compute-view/element-view/predicates/_utils.ts +86 -0
- package/src/compute-view/element-view/predicates/element-expand.ts +33 -0
- package/src/compute-view/element-view/predicates/element-kind-tag.ts +26 -0
- package/src/compute-view/element-view/predicates/element-ref.ts +37 -0
- package/src/compute-view/element-view/predicates/relation-direct.ts +309 -0
- package/src/compute-view/element-view/predicates/relation-in-out.ts +66 -0
- package/src/compute-view/element-view/predicates/relation-in.ts +118 -0
- package/src/compute-view/element-view/predicates/relation-out.ts +116 -0
- package/src/compute-view/element-view/predicates/wildcard.ts +88 -0
- package/src/compute-view/element-view/utils.ts +59 -0
- package/src/compute-view/index.ts +3 -4
- package/src/compute-view/memory/AbstractMemory.ts +45 -0
- package/src/compute-view/memory/AbstractStageExclude.ts +216 -0
- package/src/compute-view/memory/AbstractStageInclude.ts +200 -0
- package/src/compute-view/memory/_types.ts +147 -0
- package/src/compute-view/memory/index.ts +5 -0
- package/src/compute-view/memory/ops.ts +43 -0
- package/src/compute-view/utils/buildComputedNodes.ts +4 -4
- package/src/compute-view/utils/elementExpressionToPredicate.ts +1 -3
- package/src/compute-view/utils/link-nodes-with-edges.ts +3 -7
- package/src/compute-view/utils/{derive-edge-props-from-relationships.ts → merge-props-from-relationships.ts} +54 -23
- package/src/compute-view/utils/relationExpressionToPredicates.ts +2 -2
- package/src/compute-view/utils/resolve-extended-views.ts +44 -40
- package/src/compute-view/utils/resolve-global-rules.ts +6 -6
- package/src/compute-view/utils/topological-sort.ts +167 -71
- package/src/compute-view/utils/with-readable-edges.ts +14 -9
- package/src/index.ts +22 -16
- package/src/model/DeploymentElementModel.ts +150 -85
- package/src/model/DeploymentModel.ts +27 -21
- package/src/model/ElementModel.ts +51 -25
- package/src/model/LikeC4Model.test-d.ts +4 -3
- package/src/model/LikeC4Model.ts +98 -42
- package/src/model/RelationModel.ts +5 -4
- package/src/model/__test__/fixture.ts +5 -9
- package/src/model/connection/Connection.ts +72 -0
- package/src/model/connection/deployment/DeploymentConnectionModel.ts +178 -0
- package/src/model/connection/{deployment.ts → deployment/find.ts} +14 -18
- package/src/model/connection/deployment/index.ts +8 -0
- package/src/model/connection/index.ts +22 -0
- package/src/model/connection/model/ConnectionModel.ts +157 -0
- package/src/model/connection/{model.ts → model/find.ts} +43 -49
- package/src/model/connection/model/index.ts +8 -0
- package/src/model/connection/ops.ts +274 -0
- package/src/model/guards.ts +9 -0
- package/src/model/index.ts +45 -3
- package/src/model/types.ts +35 -18
- package/src/model/view/EdgeModel.ts +6 -6
- package/src/model/view/LikeC4ViewModel.ts +14 -8
- package/src/model/view/NodeModel.ts +6 -5
- package/src/types/_common.ts +53 -1
- package/src/types/deployments.ts +88 -156
- package/src/types/element.ts +2 -2
- package/src/types/expression-v2.ts +172 -0
- package/src/types/expression.ts +9 -5
- package/src/types/global.ts +3 -3
- package/src/types/index.ts +220 -13
- package/src/types/model.ts +28 -24
- package/src/types/operators.ts +1 -1
- package/src/types/relation.ts +14 -10
- package/src/types/theme.ts +0 -1
- package/src/types/view.ts +20 -18
- package/src/utils/const.ts +1 -0
- package/src/utils/fqn.ts +140 -49
- package/src/utils/getOrCreate.ts +1 -1
- package/src/utils/index.ts +74 -9
- package/src/utils/iterable/_types.ts +5 -0
- package/src/utils/iterable/filter.ts +55 -0
- package/src/utils/iterable/flat.ts +17 -0
- package/src/utils/iterable/index.ts +12 -0
- package/src/utils/iterable/map.ts +40 -0
- package/src/utils/iterable/reduce.ts +24 -0
- package/src/utils/iterable/some.ts +36 -0
- package/src/utils/iterable/to.ts +19 -0
- package/src/utils/iterable/unique.ts +29 -0
- package/src/utils/relations.ts +3 -64
- package/src/utils/set.ts +11 -9
- package/src/utils/string-hash.ts +1 -1
- package/dist/compute-view/index.mjs +0 -79
- package/dist/model/index.mjs +0 -2
- package/dist/shared/core.BBgiAAv1.mjs +0 -144
- package/dist/shared/core.BPyJvuMU.mjs +0 -2420
- package/dist/shared/core.BQ4AbfvB.mjs +0 -9228
- package/dist/shared/core.k12s_keD.mjs +0 -203
- package/dist/types/index.mjs +0 -21
- package/src/builder/Builder.test-d.ts +0 -124
- package/src/builder/Builder.view.ts +0 -543
- package/src/compute-view/LikeC4ModelGraph.ts +0 -330
- package/src/compute-view/deployment-view/Memory.ts +0 -108
- package/src/compute-view/deployment-view/Stage.ts +0 -145
- package/src/compute-view/deployment-view/predicates/deployment-ref.ts +0 -146
- package/src/compute-view/element-view/predicates.ts +0 -517
- package/src/compute-view/utils/sortNodes.ts +0 -101
- package/src/model/connection/ConnectionModel.ts +0 -94
- package/src/model/connection/DeploymentConnectionModel.ts +0 -99
|
@@ -1,46 +1,58 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Simplify, Writable } from 'type-fest'
|
|
2
|
+
import type { DeploymentView, ElementView, LikeC4View } from '../types'
|
|
2
3
|
import type { AnyTypes } from './_types'
|
|
3
4
|
import type { Builder } from './Builder'
|
|
5
|
+
import type { $autoLayout, $exclude, $include, $rules, $style } from './Builder.view-common'
|
|
6
|
+
import { $deploymentExpr, type AddDeploymentViewHelper, type DeploymentViewBuilder } from './Builder.view-deployment'
|
|
7
|
+
import {
|
|
8
|
+
$expr,
|
|
9
|
+
type AddViewHelper,
|
|
10
|
+
type AddViewOfHelper,
|
|
11
|
+
type ElementViewBuilder,
|
|
12
|
+
type TypedAddViewOfHelper,
|
|
13
|
+
} from './Builder.view-element'
|
|
4
14
|
|
|
5
|
-
export interface ViewsBuilder<T extends AnyTypes> {
|
|
6
|
-
|
|
15
|
+
export interface ViewsBuilder<T extends AnyTypes> extends Builder<T> {
|
|
16
|
+
__addView(view: LikeC4View): Builder<T>
|
|
7
17
|
}
|
|
8
18
|
|
|
19
|
+
export function views<A extends AnyTypes>(): (input: Builder<A>) => Builder<A>
|
|
20
|
+
|
|
9
21
|
export function views<
|
|
10
22
|
A extends AnyTypes,
|
|
11
|
-
B extends AnyTypes
|
|
23
|
+
B extends AnyTypes,
|
|
12
24
|
>(
|
|
13
|
-
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B
|
|
25
|
+
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
14
26
|
): (input: Builder<A>) => Builder<B>
|
|
15
27
|
export function views<
|
|
16
28
|
A extends AnyTypes,
|
|
17
29
|
B extends AnyTypes,
|
|
18
|
-
C extends AnyTypes
|
|
30
|
+
C extends AnyTypes,
|
|
19
31
|
>(
|
|
20
32
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
21
|
-
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C
|
|
33
|
+
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
22
34
|
): (input: Builder<A>) => Builder<C>
|
|
23
35
|
export function views<
|
|
24
36
|
A extends AnyTypes,
|
|
25
37
|
B extends AnyTypes,
|
|
26
38
|
C extends AnyTypes,
|
|
27
|
-
D extends AnyTypes
|
|
39
|
+
D extends AnyTypes,
|
|
28
40
|
>(
|
|
29
41
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
30
42
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
31
|
-
op3: (input: ViewsBuilder<C>) => ViewsBuilder<D
|
|
43
|
+
op3: (input: ViewsBuilder<C>) => ViewsBuilder<D>,
|
|
32
44
|
): (input: Builder<A>) => Builder<D>
|
|
33
45
|
export function views<
|
|
34
46
|
A extends AnyTypes,
|
|
35
47
|
B extends AnyTypes,
|
|
36
48
|
C extends AnyTypes,
|
|
37
49
|
D extends AnyTypes,
|
|
38
|
-
E extends AnyTypes
|
|
50
|
+
E extends AnyTypes,
|
|
39
51
|
>(
|
|
40
52
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
41
53
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
42
54
|
op3: (input: ViewsBuilder<C>) => ViewsBuilder<D>,
|
|
43
|
-
op4: (input: ViewsBuilder<D>) => ViewsBuilder<E
|
|
55
|
+
op4: (input: ViewsBuilder<D>) => ViewsBuilder<E>,
|
|
44
56
|
): (input: Builder<A>) => Builder<E>
|
|
45
57
|
export function views<
|
|
46
58
|
A extends AnyTypes,
|
|
@@ -48,13 +60,13 @@ export function views<
|
|
|
48
60
|
C extends AnyTypes,
|
|
49
61
|
D extends AnyTypes,
|
|
50
62
|
E extends AnyTypes,
|
|
51
|
-
F extends AnyTypes
|
|
63
|
+
F extends AnyTypes,
|
|
52
64
|
>(
|
|
53
65
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
54
66
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
55
67
|
op3: (input: ViewsBuilder<C>) => ViewsBuilder<D>,
|
|
56
68
|
op4: (input: ViewsBuilder<D>) => ViewsBuilder<E>,
|
|
57
|
-
op5: (input: ViewsBuilder<E>) => ViewsBuilder<F
|
|
69
|
+
op5: (input: ViewsBuilder<E>) => ViewsBuilder<F>,
|
|
58
70
|
): (input: Builder<A>) => Builder<F>
|
|
59
71
|
export function views<
|
|
60
72
|
A extends AnyTypes,
|
|
@@ -63,14 +75,14 @@ export function views<
|
|
|
63
75
|
D extends AnyTypes,
|
|
64
76
|
E extends AnyTypes,
|
|
65
77
|
F extends AnyTypes,
|
|
66
|
-
G extends AnyTypes
|
|
78
|
+
G extends AnyTypes,
|
|
67
79
|
>(
|
|
68
80
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
69
81
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
70
82
|
op3: (input: ViewsBuilder<C>) => ViewsBuilder<D>,
|
|
71
83
|
op4: (input: ViewsBuilder<D>) => ViewsBuilder<E>,
|
|
72
84
|
op5: (input: ViewsBuilder<E>) => ViewsBuilder<F>,
|
|
73
|
-
op6: (input: ViewsBuilder<F>) => ViewsBuilder<G
|
|
85
|
+
op6: (input: ViewsBuilder<F>) => ViewsBuilder<G>,
|
|
74
86
|
): (input: Builder<A>) => Builder<G>
|
|
75
87
|
export function views<
|
|
76
88
|
A extends AnyTypes,
|
|
@@ -80,7 +92,7 @@ export function views<
|
|
|
80
92
|
E extends AnyTypes,
|
|
81
93
|
F extends AnyTypes,
|
|
82
94
|
G extends AnyTypes,
|
|
83
|
-
H extends AnyTypes
|
|
95
|
+
H extends AnyTypes,
|
|
84
96
|
>(
|
|
85
97
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
86
98
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -88,7 +100,7 @@ export function views<
|
|
|
88
100
|
op4: (input: ViewsBuilder<D>) => ViewsBuilder<E>,
|
|
89
101
|
op5: (input: ViewsBuilder<E>) => ViewsBuilder<F>,
|
|
90
102
|
op6: (input: ViewsBuilder<F>) => ViewsBuilder<G>,
|
|
91
|
-
op7: (input: ViewsBuilder<G>) => ViewsBuilder<H
|
|
103
|
+
op7: (input: ViewsBuilder<G>) => ViewsBuilder<H>,
|
|
92
104
|
): (input: Builder<A>) => Builder<H>
|
|
93
105
|
export function views<
|
|
94
106
|
A extends AnyTypes,
|
|
@@ -99,7 +111,7 @@ export function views<
|
|
|
99
111
|
F extends AnyTypes,
|
|
100
112
|
G extends AnyTypes,
|
|
101
113
|
H extends AnyTypes,
|
|
102
|
-
I extends AnyTypes
|
|
114
|
+
I extends AnyTypes,
|
|
103
115
|
>(
|
|
104
116
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
105
117
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -108,7 +120,7 @@ export function views<
|
|
|
108
120
|
op5: (input: ViewsBuilder<E>) => ViewsBuilder<F>,
|
|
109
121
|
op6: (input: ViewsBuilder<F>) => ViewsBuilder<G>,
|
|
110
122
|
op7: (input: ViewsBuilder<G>) => ViewsBuilder<H>,
|
|
111
|
-
op8: (input: ViewsBuilder<H>) => ViewsBuilder<I
|
|
123
|
+
op8: (input: ViewsBuilder<H>) => ViewsBuilder<I>,
|
|
112
124
|
): (input: Builder<A>) => Builder<I>
|
|
113
125
|
export function views<
|
|
114
126
|
A extends AnyTypes,
|
|
@@ -120,7 +132,7 @@ export function views<
|
|
|
120
132
|
G extends AnyTypes,
|
|
121
133
|
H extends AnyTypes,
|
|
122
134
|
I extends AnyTypes,
|
|
123
|
-
J extends AnyTypes
|
|
135
|
+
J extends AnyTypes,
|
|
124
136
|
>(
|
|
125
137
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
126
138
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -130,7 +142,7 @@ export function views<
|
|
|
130
142
|
op6: (input: ViewsBuilder<F>) => ViewsBuilder<G>,
|
|
131
143
|
op7: (input: ViewsBuilder<G>) => ViewsBuilder<H>,
|
|
132
144
|
op8: (input: ViewsBuilder<H>) => ViewsBuilder<I>,
|
|
133
|
-
op9: (input: ViewsBuilder<I>) => ViewsBuilder<J
|
|
145
|
+
op9: (input: ViewsBuilder<I>) => ViewsBuilder<J>,
|
|
134
146
|
): (input: Builder<A>) => Builder<J>
|
|
135
147
|
export function views<
|
|
136
148
|
A extends AnyTypes,
|
|
@@ -143,7 +155,7 @@ export function views<
|
|
|
143
155
|
H extends AnyTypes,
|
|
144
156
|
I extends AnyTypes,
|
|
145
157
|
J extends AnyTypes,
|
|
146
|
-
K extends AnyTypes
|
|
158
|
+
K extends AnyTypes,
|
|
147
159
|
>(
|
|
148
160
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
149
161
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -154,7 +166,7 @@ export function views<
|
|
|
154
166
|
op7: (input: ViewsBuilder<G>) => ViewsBuilder<H>,
|
|
155
167
|
op8: (input: ViewsBuilder<H>) => ViewsBuilder<I>,
|
|
156
168
|
op9: (input: ViewsBuilder<I>) => ViewsBuilder<J>,
|
|
157
|
-
op10: (input: ViewsBuilder<J>) => ViewsBuilder<K
|
|
169
|
+
op10: (input: ViewsBuilder<J>) => ViewsBuilder<K>,
|
|
158
170
|
): (input: Builder<A>) => Builder<K>
|
|
159
171
|
export function views<
|
|
160
172
|
A extends AnyTypes,
|
|
@@ -168,7 +180,7 @@ export function views<
|
|
|
168
180
|
I extends AnyTypes,
|
|
169
181
|
J extends AnyTypes,
|
|
170
182
|
K extends AnyTypes,
|
|
171
|
-
L extends AnyTypes
|
|
183
|
+
L extends AnyTypes,
|
|
172
184
|
>(
|
|
173
185
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
174
186
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -180,7 +192,7 @@ export function views<
|
|
|
180
192
|
op8: (input: ViewsBuilder<H>) => ViewsBuilder<I>,
|
|
181
193
|
op9: (input: ViewsBuilder<I>) => ViewsBuilder<J>,
|
|
182
194
|
op10: (input: ViewsBuilder<J>) => ViewsBuilder<K>,
|
|
183
|
-
op11: (input: ViewsBuilder<K>) => ViewsBuilder<L
|
|
195
|
+
op11: (input: ViewsBuilder<K>) => ViewsBuilder<L>,
|
|
184
196
|
): (input: Builder<A>) => Builder<L>
|
|
185
197
|
export function views<
|
|
186
198
|
A extends AnyTypes,
|
|
@@ -195,7 +207,7 @@ export function views<
|
|
|
195
207
|
J extends AnyTypes,
|
|
196
208
|
K extends AnyTypes,
|
|
197
209
|
L extends AnyTypes,
|
|
198
|
-
M extends AnyTypes
|
|
210
|
+
M extends AnyTypes,
|
|
199
211
|
>(
|
|
200
212
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
201
213
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -208,7 +220,7 @@ export function views<
|
|
|
208
220
|
op9: (input: ViewsBuilder<I>) => ViewsBuilder<J>,
|
|
209
221
|
op10: (input: ViewsBuilder<J>) => ViewsBuilder<K>,
|
|
210
222
|
op11: (input: ViewsBuilder<K>) => ViewsBuilder<L>,
|
|
211
|
-
op12: (input: ViewsBuilder<L>) => ViewsBuilder<M
|
|
223
|
+
op12: (input: ViewsBuilder<L>) => ViewsBuilder<M>,
|
|
212
224
|
): (input: Builder<A>) => Builder<M>
|
|
213
225
|
export function views<
|
|
214
226
|
A extends AnyTypes,
|
|
@@ -224,7 +236,7 @@ export function views<
|
|
|
224
236
|
K extends AnyTypes,
|
|
225
237
|
L extends AnyTypes,
|
|
226
238
|
M extends AnyTypes,
|
|
227
|
-
N extends AnyTypes
|
|
239
|
+
N extends AnyTypes,
|
|
228
240
|
>(
|
|
229
241
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
230
242
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -238,7 +250,7 @@ export function views<
|
|
|
238
250
|
op10: (input: ViewsBuilder<J>) => ViewsBuilder<K>,
|
|
239
251
|
op11: (input: ViewsBuilder<K>) => ViewsBuilder<L>,
|
|
240
252
|
op12: (input: ViewsBuilder<L>) => ViewsBuilder<M>,
|
|
241
|
-
op13: (input: ViewsBuilder<M>) => ViewsBuilder<N
|
|
253
|
+
op13: (input: ViewsBuilder<M>) => ViewsBuilder<N>,
|
|
242
254
|
): (input: Builder<A>) => Builder<N>
|
|
243
255
|
export function views<
|
|
244
256
|
A extends AnyTypes,
|
|
@@ -255,7 +267,7 @@ export function views<
|
|
|
255
267
|
L extends AnyTypes,
|
|
256
268
|
M extends AnyTypes,
|
|
257
269
|
N extends AnyTypes,
|
|
258
|
-
O extends AnyTypes
|
|
270
|
+
O extends AnyTypes,
|
|
259
271
|
>(
|
|
260
272
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
261
273
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -270,7 +282,7 @@ export function views<
|
|
|
270
282
|
op11: (input: ViewsBuilder<K>) => ViewsBuilder<L>,
|
|
271
283
|
op12: (input: ViewsBuilder<L>) => ViewsBuilder<M>,
|
|
272
284
|
op13: (input: ViewsBuilder<M>) => ViewsBuilder<N>,
|
|
273
|
-
op14: (input: ViewsBuilder<N>) => ViewsBuilder<O
|
|
285
|
+
op14: (input: ViewsBuilder<N>) => ViewsBuilder<O>,
|
|
274
286
|
): (input: Builder<A>) => Builder<O>
|
|
275
287
|
export function views<
|
|
276
288
|
A extends AnyTypes,
|
|
@@ -288,7 +300,7 @@ export function views<
|
|
|
288
300
|
M extends AnyTypes,
|
|
289
301
|
N extends AnyTypes,
|
|
290
302
|
O extends AnyTypes,
|
|
291
|
-
P extends AnyTypes
|
|
303
|
+
P extends AnyTypes,
|
|
292
304
|
>(
|
|
293
305
|
op1: (input: ViewsBuilder<A>) => ViewsBuilder<B>,
|
|
294
306
|
op2: (input: ViewsBuilder<B>) => ViewsBuilder<C>,
|
|
@@ -304,7 +316,7 @@ export function views<
|
|
|
304
316
|
op12: (input: ViewsBuilder<L>) => ViewsBuilder<M>,
|
|
305
317
|
op13: (input: ViewsBuilder<M>) => ViewsBuilder<N>,
|
|
306
318
|
op14: (input: ViewsBuilder<N>) => ViewsBuilder<O>,
|
|
307
|
-
op15: (input: ViewsBuilder<O>) => ViewsBuilder<P
|
|
319
|
+
op15: (input: ViewsBuilder<O>) => ViewsBuilder<P>,
|
|
308
320
|
): (input: Builder<A>) => Builder<P>
|
|
309
321
|
|
|
310
322
|
export function views(...ops: any[]) {
|
|
@@ -316,3 +328,67 @@ export function views(...ops: any[]) {
|
|
|
316
328
|
return builder
|
|
317
329
|
}
|
|
318
330
|
}
|
|
331
|
+
export type ViewsHelpers = {
|
|
332
|
+
views: typeof views
|
|
333
|
+
view: AddViewHelper
|
|
334
|
+
viewOf: AddViewOfHelper
|
|
335
|
+
deploymentView: AddDeploymentViewHelper
|
|
336
|
+
$include: typeof $include
|
|
337
|
+
$exclude: typeof $exclude
|
|
338
|
+
$style: typeof $style
|
|
339
|
+
$rules: typeof $rules
|
|
340
|
+
$autoLayout: typeof $autoLayout
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
export type ViewsBuilderFunction<A extends AnyTypes, B extends AnyTypes> = (
|
|
344
|
+
helpers: Simplify<
|
|
345
|
+
ViewsHelpers['views'] & Omit<ViewsHelpers, 'viewOf'> & {
|
|
346
|
+
viewOf: TypedAddViewOfHelper<A>
|
|
347
|
+
_: ViewsHelpers['views']
|
|
348
|
+
}
|
|
349
|
+
>,
|
|
350
|
+
add: ViewsHelpers['views'],
|
|
351
|
+
) =>
|
|
352
|
+
| ((builder: ViewsBuilder<A>) => ViewsBuilder<B>)
|
|
353
|
+
| ((builder: Builder<A>) => Builder<B>)
|
|
354
|
+
|
|
355
|
+
export function mkViewBuilder(view: Writable<DeploymentView>): DeploymentViewBuilder<AnyTypes>
|
|
356
|
+
export function mkViewBuilder(view: Writable<ElementView>): ElementViewBuilder<AnyTypes>
|
|
357
|
+
export function mkViewBuilder(
|
|
358
|
+
view: Writable<ElementView | DeploymentView>,
|
|
359
|
+
): DeploymentViewBuilder<AnyTypes> | ElementViewBuilder<AnyTypes> {
|
|
360
|
+
const viewBuilder = {
|
|
361
|
+
$expr: view.__ === 'deployment' ? $deploymentExpr : $expr,
|
|
362
|
+
autoLayout(autoLayout: unknown) {
|
|
363
|
+
view.rules.push({
|
|
364
|
+
direction: autoLayout,
|
|
365
|
+
} as any)
|
|
366
|
+
return viewBuilder
|
|
367
|
+
},
|
|
368
|
+
exclude(expr: unknown) {
|
|
369
|
+
view.rules.push({
|
|
370
|
+
exclude: [expr],
|
|
371
|
+
} as any)
|
|
372
|
+
return viewBuilder
|
|
373
|
+
},
|
|
374
|
+
include(expr: unknown) {
|
|
375
|
+
view.rules.push({
|
|
376
|
+
include: [expr],
|
|
377
|
+
} as any)
|
|
378
|
+
return viewBuilder
|
|
379
|
+
},
|
|
380
|
+
style(rule: any) {
|
|
381
|
+
view.rules.push(rule)
|
|
382
|
+
return viewBuilder
|
|
383
|
+
},
|
|
384
|
+
// title(title: string) {
|
|
385
|
+
// view.title = title
|
|
386
|
+
// return viewBuilder
|
|
387
|
+
// },
|
|
388
|
+
// description(description: string) {
|
|
389
|
+
// view.description = description
|
|
390
|
+
// return viewBuilder
|
|
391
|
+
// }
|
|
392
|
+
}
|
|
393
|
+
return viewBuilder as any
|
|
394
|
+
}
|