@likec4/core 1.18.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) 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.DafVOuVd.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 +419 -0
  30. package/dist/utils/index.d.ts +419 -0
  31. package/dist/utils/index.js +347 -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 +75 -9
  148. package/src/utils/iterable/_types.ts +5 -0
  149. package/src/utils/iterable/filter.ts +55 -0
  150. package/src/utils/iterable/find.ts +36 -0
  151. package/src/utils/iterable/flat.ts +17 -0
  152. package/src/utils/iterable/index.ts +13 -0
  153. package/src/utils/iterable/map.ts +40 -0
  154. package/src/utils/iterable/reduce.ts +24 -0
  155. package/src/utils/iterable/some.ts +36 -0
  156. package/src/utils/iterable/to.ts +19 -0
  157. package/src/utils/iterable/unique.ts +29 -0
  158. package/src/utils/relations.ts +3 -64
  159. package/src/utils/set.ts +11 -9
  160. package/src/utils/string-hash.ts +1 -1
  161. package/dist/compute-view/index.mjs +0 -79
  162. package/dist/model/index.mjs +0 -2
  163. package/dist/shared/core.BBgiAAv1.mjs +0 -144
  164. package/dist/shared/core.BPyJvuMU.mjs +0 -2420
  165. package/dist/shared/core.BQ4AbfvB.mjs +0 -9228
  166. package/dist/shared/core.k12s_keD.mjs +0 -203
  167. package/dist/types/index.mjs +0 -21
  168. package/src/builder/Builder.test-d.ts +0 -124
  169. package/src/builder/Builder.view.ts +0 -543
  170. package/src/compute-view/LikeC4ModelGraph.ts +0 -330
  171. package/src/compute-view/deployment-view/Memory.ts +0 -108
  172. package/src/compute-view/deployment-view/Stage.ts +0 -145
  173. package/src/compute-view/deployment-view/predicates/deployment-ref.ts +0 -146
  174. package/src/compute-view/element-view/predicates.ts +0 -517
  175. package/src/compute-view/utils/sortNodes.ts +0 -101
  176. package/src/model/connection/ConnectionModel.ts +0 -94
  177. package/src/model/connection/DeploymentConnectionModel.ts +0 -99
@@ -0,0 +1,475 @@
1
+ import type { AnyTypes } from './_types'
2
+ import type { Builder } from './Builder'
3
+
4
+ export interface BuilderMethods<T extends AnyTypes> {
5
+ with<A extends AnyTypes>(): Builder<A>
6
+
7
+ with<
8
+ A extends AnyTypes
9
+ >(
10
+ op1: (input: Builder<T>) => Builder<A>
11
+ ): Builder<A>
12
+
13
+ with<
14
+ A extends AnyTypes,
15
+ B extends AnyTypes
16
+ >(
17
+ op1: (input: Builder<T>) => Builder<A>,
18
+ op2: (input: Builder<A>) => Builder<B>
19
+ ): Builder<B>
20
+
21
+ with<
22
+ A extends AnyTypes,
23
+ B extends AnyTypes,
24
+ C extends AnyTypes
25
+ >(
26
+ op1: (input: Builder<T>) => Builder<A>,
27
+ op2: (input: Builder<A>) => Builder<B>,
28
+ op3: (input: Builder<B>) => Builder<C>
29
+ ): Builder<C>
30
+
31
+ with<
32
+ A extends AnyTypes,
33
+ B extends AnyTypes,
34
+ C extends AnyTypes,
35
+ D extends AnyTypes
36
+ >(
37
+ op1: (input: Builder<T>) => Builder<A>,
38
+ op2: (input: Builder<A>) => Builder<B>,
39
+ op3: (input: Builder<B>) => Builder<C>,
40
+ op4: (input: Builder<C>) => Builder<D>
41
+ ): Builder<D>
42
+
43
+ with<
44
+ A extends AnyTypes,
45
+ B extends AnyTypes,
46
+ C extends AnyTypes,
47
+ D extends AnyTypes,
48
+ E extends AnyTypes
49
+ >(
50
+ op1: (input: Builder<T>) => Builder<A>,
51
+ op2: (input: Builder<A>) => Builder<B>,
52
+ op3: (input: Builder<B>) => Builder<C>,
53
+ op4: (input: Builder<C>) => Builder<D>,
54
+ op5: (input: Builder<D>) => Builder<E>
55
+ ): Builder<E>
56
+
57
+ with<
58
+ A extends AnyTypes,
59
+ B extends AnyTypes,
60
+ C extends AnyTypes,
61
+ D extends AnyTypes,
62
+ E extends AnyTypes,
63
+ F extends AnyTypes
64
+ >(
65
+ op1: (input: Builder<T>) => Builder<A>,
66
+ op2: (input: Builder<A>) => Builder<B>,
67
+ op3: (input: Builder<B>) => Builder<C>,
68
+ op4: (input: Builder<C>) => Builder<D>,
69
+ op5: (input: Builder<D>) => Builder<E>,
70
+ op6: (input: Builder<E>) => Builder<F>
71
+ ): Builder<F>
72
+
73
+ with<
74
+ A extends AnyTypes,
75
+ B extends AnyTypes,
76
+ C extends AnyTypes,
77
+ D extends AnyTypes,
78
+ E extends AnyTypes,
79
+ F extends AnyTypes,
80
+ G extends AnyTypes
81
+ >(
82
+ op1: (input: Builder<T>) => Builder<A>,
83
+ op2: (input: Builder<A>) => Builder<B>,
84
+ op3: (input: Builder<B>) => Builder<C>,
85
+ op4: (input: Builder<C>) => Builder<D>,
86
+ op5: (input: Builder<D>) => Builder<E>,
87
+ op6: (input: Builder<E>) => Builder<F>,
88
+ op7: (input: Builder<F>) => Builder<G>
89
+ ): Builder<G>
90
+
91
+ with<
92
+ A extends AnyTypes,
93
+ B extends AnyTypes,
94
+ C extends AnyTypes,
95
+ D extends AnyTypes,
96
+ E extends AnyTypes,
97
+ F extends AnyTypes,
98
+ G extends AnyTypes,
99
+ H extends AnyTypes
100
+ >(
101
+ op1: (input: Builder<T>) => Builder<A>,
102
+ op2: (input: Builder<A>) => Builder<B>,
103
+ op3: (input: Builder<B>) => Builder<C>,
104
+ op4: (input: Builder<C>) => Builder<D>,
105
+ op5: (input: Builder<D>) => Builder<E>,
106
+ op6: (input: Builder<E>) => Builder<F>,
107
+ op7: (input: Builder<F>) => Builder<G>,
108
+ op8: (input: Builder<G>) => Builder<H>
109
+ ): Builder<H>
110
+
111
+ with<
112
+ A extends AnyTypes,
113
+ B extends AnyTypes,
114
+ C extends AnyTypes,
115
+ D extends AnyTypes,
116
+ E extends AnyTypes,
117
+ F extends AnyTypes,
118
+ G extends AnyTypes,
119
+ H extends AnyTypes,
120
+ I extends AnyTypes
121
+ >(
122
+ op1: (input: Builder<T>) => Builder<A>,
123
+ op2: (input: Builder<A>) => Builder<B>,
124
+ op3: (input: Builder<B>) => Builder<C>,
125
+ op4: (input: Builder<C>) => Builder<D>,
126
+ op5: (input: Builder<D>) => Builder<E>,
127
+ op6: (input: Builder<E>) => Builder<F>,
128
+ op7: (input: Builder<F>) => Builder<G>,
129
+ op8: (input: Builder<G>) => Builder<H>,
130
+ op9: (input: Builder<H>) => Builder<I>
131
+ ): Builder<I>
132
+
133
+ with<
134
+ A extends AnyTypes,
135
+ B extends AnyTypes,
136
+ C extends AnyTypes,
137
+ D extends AnyTypes,
138
+ E extends AnyTypes,
139
+ F extends AnyTypes,
140
+ G extends AnyTypes,
141
+ H extends AnyTypes,
142
+ I extends AnyTypes,
143
+ J extends AnyTypes
144
+ >(
145
+ op1: (input: Builder<T>) => Builder<A>,
146
+ op2: (input: Builder<A>) => Builder<B>,
147
+ op3: (input: Builder<B>) => Builder<C>,
148
+ op4: (input: Builder<C>) => Builder<D>,
149
+ op5: (input: Builder<D>) => Builder<E>,
150
+ op6: (input: Builder<E>) => Builder<F>,
151
+ op7: (input: Builder<F>) => Builder<G>,
152
+ op8: (input: Builder<G>) => Builder<H>,
153
+ op9: (input: Builder<H>) => Builder<I>,
154
+ op10: (input: Builder<I>) => Builder<J>
155
+ ): Builder<J>
156
+
157
+ // /**
158
+ // * Add model to the builder
159
+ // */
160
+ // model<
161
+ // A extends AnyTypes
162
+ // >(
163
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>
164
+ // ): Builder<A>
165
+
166
+ // model<
167
+ // A extends AnyTypes,
168
+ // B extends AnyTypes
169
+ // >(
170
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
171
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>
172
+ // ): Builder<B>
173
+ // model<
174
+ // A extends AnyTypes,
175
+ // B extends AnyTypes,
176
+ // C extends AnyTypes
177
+ // >(
178
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
179
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
180
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>
181
+ // ): Builder<C>
182
+
183
+ // model<
184
+ // A extends AnyTypes,
185
+ // B extends AnyTypes,
186
+ // C extends AnyTypes,
187
+ // D extends AnyTypes
188
+ // >(
189
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
190
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
191
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
192
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>
193
+ // ): Builder<D>
194
+
195
+ // model<
196
+ // A extends AnyTypes,
197
+ // B extends AnyTypes,
198
+ // C extends AnyTypes,
199
+ // D extends AnyTypes,
200
+ // E extends AnyTypes
201
+ // >(
202
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
203
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
204
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
205
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
206
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>
207
+ // ): Builder<E>
208
+
209
+ // model<
210
+ // A extends AnyTypes,
211
+ // B extends AnyTypes,
212
+ // C extends AnyTypes,
213
+ // D extends AnyTypes,
214
+ // E extends AnyTypes,
215
+ // F extends AnyTypes
216
+ // >(
217
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
218
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
219
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
220
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
221
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
222
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>
223
+ // ): Builder<F>
224
+
225
+ // model<
226
+ // A extends AnyTypes,
227
+ // B extends AnyTypes,
228
+ // C extends AnyTypes,
229
+ // D extends AnyTypes,
230
+ // E extends AnyTypes,
231
+ // F extends AnyTypes,
232
+ // G extends AnyTypes
233
+ // >(
234
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
235
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
236
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
237
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
238
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
239
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
240
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>
241
+ // ): Builder<G>
242
+
243
+ // model<
244
+ // A extends AnyTypes,
245
+ // B extends AnyTypes,
246
+ // C extends AnyTypes,
247
+ // D extends AnyTypes,
248
+ // E extends AnyTypes,
249
+ // F extends AnyTypes,
250
+ // G extends AnyTypes,
251
+ // H extends AnyTypes
252
+ // >(
253
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
254
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
255
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
256
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
257
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
258
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
259
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
260
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>
261
+ // ): Builder<H>
262
+
263
+ // model<
264
+ // A extends AnyTypes,
265
+ // B extends AnyTypes,
266
+ // C extends AnyTypes,
267
+ // D extends AnyTypes,
268
+ // E extends AnyTypes,
269
+ // F extends AnyTypes,
270
+ // G extends AnyTypes,
271
+ // H extends AnyTypes,
272
+ // I extends AnyTypes
273
+ // >(
274
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
275
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
276
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
277
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
278
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
279
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
280
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
281
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
282
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>
283
+ // ): Builder<I>
284
+
285
+ // model<
286
+ // A extends AnyTypes,
287
+ // B extends AnyTypes,
288
+ // C extends AnyTypes,
289
+ // D extends AnyTypes,
290
+ // E extends AnyTypes,
291
+ // F extends AnyTypes,
292
+ // G extends AnyTypes,
293
+ // H extends AnyTypes,
294
+ // I extends AnyTypes,
295
+ // J extends AnyTypes
296
+ // >(
297
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
298
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
299
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
300
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
301
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
302
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
303
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
304
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
305
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>,
306
+ // op10: (input: ModelBuilder<I>) => ModelBuilder<J>
307
+ // ): Builder<J>
308
+
309
+ // model<
310
+ // A extends AnyTypes,
311
+ // B extends AnyTypes,
312
+ // C extends AnyTypes,
313
+ // D extends AnyTypes,
314
+ // E extends AnyTypes,
315
+ // F extends AnyTypes,
316
+ // G extends AnyTypes,
317
+ // H extends AnyTypes,
318
+ // I extends AnyTypes,
319
+ // J extends AnyTypes,
320
+ // K extends AnyTypes
321
+ // >(
322
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
323
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
324
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
325
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
326
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
327
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
328
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
329
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
330
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>,
331
+ // op10: (input: ModelBuilder<I>) => ModelBuilder<J>,
332
+ // op11: (input: ModelBuilder<J>) => ModelBuilder<K>
333
+ // ): Builder<K>
334
+
335
+ // model<
336
+ // A extends AnyTypes,
337
+ // B extends AnyTypes,
338
+ // C extends AnyTypes,
339
+ // D extends AnyTypes,
340
+ // E extends AnyTypes,
341
+ // F extends AnyTypes,
342
+ // G extends AnyTypes,
343
+ // H extends AnyTypes,
344
+ // I extends AnyTypes,
345
+ // J extends AnyTypes,
346
+ // K extends AnyTypes,
347
+ // L extends AnyTypes
348
+ // >(
349
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
350
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
351
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
352
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
353
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
354
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
355
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
356
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
357
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>,
358
+ // op10: (input: ModelBuilder<I>) => ModelBuilder<J>,
359
+ // op11: (input: ModelBuilder<J>) => ModelBuilder<K>,
360
+ // op12: (input: ModelBuilder<K>) => ModelBuilder<L>
361
+ // ): Builder<L>
362
+
363
+ // model<
364
+ // A extends AnyTypes,
365
+ // B extends AnyTypes,
366
+ // C extends AnyTypes,
367
+ // D extends AnyTypes,
368
+ // E extends AnyTypes,
369
+ // F extends AnyTypes,
370
+ // G extends AnyTypes,
371
+ // H extends AnyTypes,
372
+ // I extends AnyTypes,
373
+ // J extends AnyTypes,
374
+ // K extends AnyTypes,
375
+ // L extends AnyTypes,
376
+ // M extends AnyTypes
377
+ // >(
378
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
379
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
380
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
381
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
382
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
383
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
384
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
385
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
386
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>,
387
+ // op10: (input: ModelBuilder<I>) => ModelBuilder<J>,
388
+ // op11: (input: ModelBuilder<J>) => ModelBuilder<K>,
389
+ // op12: (input: ModelBuilder<K>) => ModelBuilder<L>,
390
+ // op13: (input: ModelBuilder<L>) => ModelBuilder<M>
391
+ // ): Builder<M>
392
+
393
+ // model<
394
+ // A extends AnyTypes,
395
+ // B extends AnyTypes,
396
+ // C extends AnyTypes,
397
+ // D extends AnyTypes,
398
+ // E extends AnyTypes,
399
+ // F extends AnyTypes,
400
+ // G extends AnyTypes,
401
+ // H extends AnyTypes,
402
+ // I extends AnyTypes,
403
+ // J extends AnyTypes,
404
+ // K extends AnyTypes,
405
+ // L extends AnyTypes,
406
+ // M extends AnyTypes,
407
+ // N extends AnyTypes
408
+ // >(
409
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
410
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
411
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
412
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
413
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
414
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
415
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
416
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
417
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>,
418
+ // op10: (input: ModelBuilder<I>) => ModelBuilder<J>,
419
+ // op11: (input: ModelBuilder<J>) => ModelBuilder<K>,
420
+ // op12: (input: ModelBuilder<K>) => ModelBuilder<L>,
421
+ // op13: (input: ModelBuilder<L>) => ModelBuilder<M>,
422
+ // op14: (input: ModelBuilder<M>) => ModelBuilder<N>
423
+ // ): Builder<N>
424
+
425
+ // model<
426
+ // A extends AnyTypes,
427
+ // B extends AnyTypes,
428
+ // C extends AnyTypes,
429
+ // D extends AnyTypes,
430
+ // E extends AnyTypes,
431
+ // F extends AnyTypes,
432
+ // G extends AnyTypes,
433
+ // H extends AnyTypes,
434
+ // I extends AnyTypes,
435
+ // J extends AnyTypes,
436
+ // K extends AnyTypes,
437
+ // L extends AnyTypes,
438
+ // M extends AnyTypes,
439
+ // N extends AnyTypes,
440
+ // O extends AnyTypes
441
+ // >(
442
+ // op1: (input: ModelBuilder<T>) => ModelBuilder<A>,
443
+ // op2: (input: ModelBuilder<A>) => ModelBuilder<B>,
444
+ // op3: (input: ModelBuilder<B>) => ModelBuilder<C>,
445
+ // op4: (input: ModelBuilder<C>) => ModelBuilder<D>,
446
+ // op5: (input: ModelBuilder<D>) => ModelBuilder<E>,
447
+ // op6: (input: ModelBuilder<E>) => ModelBuilder<F>,
448
+ // op7: (input: ModelBuilder<F>) => ModelBuilder<G>,
449
+ // op8: (input: ModelBuilder<G>) => ModelBuilder<H>,
450
+ // op9: (input: ModelBuilder<H>) => ModelBuilder<I>,
451
+ // op10: (input: ModelBuilder<I>) => ModelBuilder<J>,
452
+ // op11: (input: ModelBuilder<J>) => ModelBuilder<K>,
453
+ // op12: (input: ModelBuilder<K>) => ModelBuilder<L>,
454
+ // op13: (input: ModelBuilder<L>) => ModelBuilder<M>,
455
+ // op14: (input: ModelBuilder<M>) => ModelBuilder<N>,
456
+ // op15: (input: ModelBuilder<N>) => ModelBuilder<O>
457
+ // ): Builder<O>
458
+
459
+ // /**
460
+ // * Add deployment model to the builder
461
+ // */
462
+ // deployment<
463
+ // A extends AnyTypes
464
+ // >(
465
+ // op1: (input: DeploymentModelBuilder<T>) => DeploymentModelBuilder<A>
466
+ // ): Builder<A>
467
+
468
+ // deployment<
469
+ // A extends AnyTypes,
470
+ // B extends AnyTypes
471
+ // >(
472
+ // op1: (input: DeploymentModelBuilder<T>) => DeploymentModelBuilder<A>,
473
+ // op2: (input: DeploymentModelBuilder<A>) => DeploymentModelBuilder<B>
474
+ // ): Builder<B>
475
+ }