@likec4/core 1.17.1 → 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 (184) 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 +22 -0
  6. package/dist/compute-view/index.d.ts +22 -0
  7. package/dist/compute-view/index.js +78 -0
  8. package/dist/index.d.mts +10 -919
  9. package/dist/index.d.ts +10 -919
  10. package/dist/{index.mjs → index.js} +7 -1688
  11. package/dist/model/index.d.mts +254 -0
  12. package/dist/model/index.d.ts +254 -0
  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.CoLQkcYL.d.cts → core.C05RDLhi.d.ts} +460 -362
  18. package/dist/shared/{core.CoLQkcYL.d.mts → core.CmYMqgha.d.mts} +460 -362
  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/{core.BXTs-8n7.mjs → view.CyZrG8BJ.js} +108 -47
  26. package/dist/types/index.d.mts +71 -1
  27. package/dist/types/index.d.ts +71 -1
  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 +59 -47
  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 +224 -0
  36. package/src/builder/Builder.deploymentModel.ts +385 -0
  37. package/src/builder/Builder.element.ts +19 -19
  38. package/src/builder/Builder.model.ts +67 -42
  39. package/src/builder/Builder.ts +533 -367
  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 +113 -18
  49. package/src/builder/index.ts +10 -4
  50. package/src/colors/index.ts +2 -2
  51. package/src/compute-view/compute-view.ts +83 -0
  52. package/src/compute-view/deployment-view/__test__/TestHelper.ts +236 -0
  53. package/src/compute-view/deployment-view/__test__/fixture.ts +198 -0
  54. package/src/compute-view/deployment-view/_types.ts +37 -0
  55. package/src/compute-view/deployment-view/clean-connections.ts +238 -0
  56. package/src/compute-view/deployment-view/compute.ts +125 -0
  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 +237 -0
  61. package/src/compute-view/deployment-view/predicates/relation-in-out.ts +61 -0
  62. package/src/compute-view/deployment-view/predicates/relation-incoming.ts +95 -0
  63. package/src/compute-view/deployment-view/predicates/relation-outgoing.ts +88 -0
  64. package/src/compute-view/deployment-view/predicates/wildcard.ts +29 -0
  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 +276 -0
  69. package/src/compute-view/dynamic-view/__test__/fixture.ts +58 -0
  70. package/src/compute-view/dynamic-view/compute.ts +324 -0
  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 +458 -0
  73. package/src/compute-view/element-view/__test__/fixture.ts +675 -0
  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 +315 -0
  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 +4 -0
  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/__snapshots__/sortNodes.spec.ts.snap +113 -0
  101. package/src/compute-view/utils/ancestorsOfNode.ts +19 -0
  102. package/src/compute-view/utils/applyCustomElementProperties.ts +66 -0
  103. package/src/compute-view/utils/applyCustomRelationProperties.ts +41 -0
  104. package/src/compute-view/utils/applyViewRuleStyles.ts +53 -0
  105. package/src/compute-view/utils/buildComputedNodes.ts +148 -0
  106. package/src/compute-view/utils/buildElementNotations.ts +63 -0
  107. package/src/compute-view/utils/elementExpressionToPredicate.ts +50 -0
  108. package/src/compute-view/utils/link-nodes-with-edges.ts +54 -0
  109. package/src/compute-view/utils/merge-props-from-relationships.ts +128 -0
  110. package/src/compute-view/utils/relationExpressionToPredicates.ts +55 -0
  111. package/src/compute-view/utils/resolve-extended-views.ts +69 -0
  112. package/src/compute-view/utils/resolve-global-rules.ts +83 -0
  113. package/src/compute-view/utils/topological-sort.ts +256 -0
  114. package/src/compute-view/utils/uniqueTags.test.ts +42 -0
  115. package/src/compute-view/utils/uniqueTags.ts +21 -0
  116. package/src/compute-view/utils/view-hash.ts +27 -0
  117. package/src/compute-view/utils/with-readable-edges.ts +36 -0
  118. package/src/index.ts +22 -12
  119. package/src/model/DeploymentElementModel.ts +599 -0
  120. package/src/model/DeploymentModel.ts +370 -0
  121. package/src/model/ElementModel.ts +221 -0
  122. package/src/model/LikeC4Model.test-d.ts +152 -0
  123. package/src/model/LikeC4Model.ts +336 -457
  124. package/src/model/RelationModel.ts +85 -0
  125. package/src/model/__test__/fixture.ts +149 -338
  126. package/src/model/connection/Connection.ts +72 -0
  127. package/src/model/connection/deployment/DeploymentConnectionModel.ts +178 -0
  128. package/src/model/connection/deployment/find.ts +120 -0
  129. package/src/model/connection/deployment/index.ts +8 -0
  130. package/src/model/connection/index.ts +22 -0
  131. package/src/model/connection/model/ConnectionModel.ts +157 -0
  132. package/src/model/connection/model/find.ts +117 -0
  133. package/src/model/connection/model/index.ts +8 -0
  134. package/src/model/connection/ops.ts +274 -0
  135. package/src/model/guards.ts +9 -0
  136. package/src/model/index.ts +46 -2
  137. package/src/model/types.ts +112 -15
  138. package/src/model/view/EdgeModel.ts +103 -0
  139. package/src/model/view/LikeC4ViewModel.ts +226 -0
  140. package/src/model/view/NodeModel.ts +229 -0
  141. package/src/types/_common.ts +55 -1
  142. package/src/types/deployments.ts +169 -0
  143. package/src/types/element.ts +9 -5
  144. package/src/types/expression-v2.ts +172 -0
  145. package/src/types/expression.ts +17 -11
  146. package/src/types/global.ts +3 -3
  147. package/src/types/index.ts +220 -12
  148. package/src/types/model.ts +75 -12
  149. package/src/types/operators.ts +1 -1
  150. package/src/types/overview-graph.ts +2 -2
  151. package/src/types/relation.ts +18 -14
  152. package/src/types/theme.ts +0 -1
  153. package/src/types/view-notation.ts +2 -2
  154. package/src/types/view.ts +117 -41
  155. package/src/utils/{commonHead.ts → common-head.ts} +2 -0
  156. package/src/utils/const.ts +1 -0
  157. package/src/utils/fqn.ts +203 -56
  158. package/src/utils/getOrCreate.ts +42 -0
  159. package/src/utils/graphlib.ts +10 -0
  160. package/src/utils/index.ts +74 -6
  161. package/src/utils/iterable/_types.ts +5 -0
  162. package/src/utils/iterable/filter.ts +55 -0
  163. package/src/utils/iterable/flat.ts +17 -0
  164. package/src/utils/iterable/index.ts +12 -0
  165. package/src/utils/iterable/map.ts +40 -0
  166. package/src/utils/iterable/reduce.ts +24 -0
  167. package/src/utils/iterable/some.ts +36 -0
  168. package/src/utils/iterable/to.ts +19 -0
  169. package/src/utils/iterable/unique.ts +29 -0
  170. package/src/utils/object-hash.ts +3 -0
  171. package/src/utils/relations.ts +3 -64
  172. package/src/utils/set.ts +78 -0
  173. package/src/utils/string-hash.ts +16 -0
  174. package/dist/index.cjs +0 -5452
  175. package/dist/index.d.cts +0 -1053
  176. package/dist/shared/core.CoLQkcYL.d.ts +0 -734
  177. package/dist/shared/core.DIYZvpVg.cjs +0 -353
  178. package/dist/types/index.cjs +0 -70
  179. package/dist/types/index.d.cts +0 -2
  180. package/dist/types/index.mjs +0 -1
  181. package/src/builder/Builder.test-d.ts +0 -69
  182. package/src/builder/Builder.view.ts +0 -358
  183. package/src/model/LikeC4DiagramModel.ts +0 -338
  184. package/src/model/LikeC4ViewModel.ts +0 -320
@@ -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
+ }