@codeandmoney/jargal 0.0.0-rc.2 → 0.0.0-rc.5
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/actions/context/context.ts +44 -0
- package/actions/context.ts +2 -2
- package/actions/echo.ts +16 -4
- package/actions/jargal-context.ts +21 -0
- package/actions/jargal-templates.ts +64 -0
- package/actions/jargal-write.ts +46 -0
- package/actions/load-templates.ts +83 -13
- package/actions/parallel.ts +1 -1
- package/actions/pipe/pipe.ts +993 -0
- package/actions/pipe.ts +7 -0
- package/actions/render-template.ts +7 -14
- package/actions/run/run.ts +20 -0
- package/actions/validate-answers.ts +1 -1
- package/actions/write/write.ts +69 -0
- package/actions/write.ts +18 -14
- package/bun.lock +68 -0
- package/jargal.ts +139 -0
- package/package.json +3 -2
- package/renderer.ts +4 -4
- package/runner.ts +3 -5
- package/types.ts +11 -14
|
@@ -0,0 +1,993 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
BaseIssue,
|
|
3
|
+
BaseAction,
|
|
4
|
+
Config,
|
|
5
|
+
FirstTupleItem,
|
|
6
|
+
InferInput,
|
|
7
|
+
InferOutput,
|
|
8
|
+
LastTupleItem,
|
|
9
|
+
OutputContext,
|
|
10
|
+
PipeAction,
|
|
11
|
+
PipeItem,
|
|
12
|
+
BaseContext,
|
|
13
|
+
InferOutputContext,
|
|
14
|
+
} from "../../types/index.ts";
|
|
15
|
+
|
|
16
|
+
type AnyRecord = Record<string, any>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Schema with pipe type.
|
|
20
|
+
*/
|
|
21
|
+
export type SchemaWithPipe<
|
|
22
|
+
Pipe extends readonly [any, ...any],
|
|
23
|
+
// extends readonly [BaseAction<BaseContext, unknown, AnyRecord>, ...PipeItem<BaseContext, any, AnyRecord>[]],
|
|
24
|
+
> =
|
|
25
|
+
// Omit<FirstTupleItem<Pipe>, "pipe" | "~standard" | "~run" | "~types"> &
|
|
26
|
+
{
|
|
27
|
+
/**
|
|
28
|
+
* The pipe items.
|
|
29
|
+
*/
|
|
30
|
+
readonly pipe: Pipe;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Parses unknown input values.
|
|
34
|
+
*
|
|
35
|
+
* @param context The input context.
|
|
36
|
+
* @param config The configuration.
|
|
37
|
+
*
|
|
38
|
+
* @returns The output context.
|
|
39
|
+
*
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
readonly "~run": any;
|
|
43
|
+
// readonly "~run": (context: BaseContext, config: Config<BaseIssue<unknown>>) => OutputContext<InferOutput<LastTupleItem<Pipe>>>;
|
|
44
|
+
/**
|
|
45
|
+
* The input, output and issue type.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
// readonly "~types"?: { readonly config: never; readonly output: InferOutput<LastTupleItem<Pipe>> } | undefined;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
54
|
+
*
|
|
55
|
+
* @param schema The root schema.
|
|
56
|
+
* @param item1 The first pipe item.
|
|
57
|
+
*
|
|
58
|
+
* @returns A schema with a pipeline.
|
|
59
|
+
*/
|
|
60
|
+
export function pipe<const Schema extends BaseAction<BaseContext>, const Item1 extends BaseAction<InferOutput<Schema>>>(
|
|
61
|
+
schema: Schema,
|
|
62
|
+
item1: Item1,
|
|
63
|
+
): SchemaWithPipe<readonly [Schema, Item1]>;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
67
|
+
*
|
|
68
|
+
* @param schema The root schema.
|
|
69
|
+
* @param item1 The first pipe item.
|
|
70
|
+
* @param item2 The second pipe item.
|
|
71
|
+
*
|
|
72
|
+
* @returns A schema with a pipeline.
|
|
73
|
+
*/
|
|
74
|
+
export function pipe<
|
|
75
|
+
const Schema extends BaseAction<BaseContext>,
|
|
76
|
+
const Item1 extends BaseAction<InferOutput<Schema>>,
|
|
77
|
+
const Item2 extends BaseAction<InferOutput<Item1>>,
|
|
78
|
+
>(schema: Schema, item1: Item1, item2: Item2): SchemaWithPipe<readonly [Schema, Item1, Item2]>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
82
|
+
*
|
|
83
|
+
* @param schema The root schema.
|
|
84
|
+
* @param item1 The first pipe item.
|
|
85
|
+
* @param item2 The second pipe item.
|
|
86
|
+
* @param item3 The third pipe item.
|
|
87
|
+
*
|
|
88
|
+
* @returns A schema with a pipeline.
|
|
89
|
+
*/
|
|
90
|
+
export function pipe<
|
|
91
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
92
|
+
const Item1 extends PipeItem<Context, InferOutput<Schema>, AnyRecord>,
|
|
93
|
+
const Item2 extends PipeItem<Context, InferOutput<Item1>, AnyRecord>,
|
|
94
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
95
|
+
>(
|
|
96
|
+
schema: Schema,
|
|
97
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
98
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
99
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
100
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3]>;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
104
|
+
*
|
|
105
|
+
* @param schema The root schema.
|
|
106
|
+
* @param item1 The first pipe item.
|
|
107
|
+
* @param item2 The second pipe item.
|
|
108
|
+
* @param item3 The third pipe item.
|
|
109
|
+
* @param item4 The fourth pipe item.
|
|
110
|
+
*
|
|
111
|
+
* @returns A schema with a pipeline.
|
|
112
|
+
*/
|
|
113
|
+
export function pipe<
|
|
114
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
115
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
116
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
117
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
118
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
119
|
+
>(
|
|
120
|
+
schema: Schema,
|
|
121
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
122
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
123
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
124
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
125
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4]>;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
129
|
+
*
|
|
130
|
+
* @param schema The root schema.
|
|
131
|
+
* @param item1 The first pipe item.
|
|
132
|
+
* @param item2 The second pipe item.
|
|
133
|
+
* @param item3 The third pipe item.
|
|
134
|
+
* @param item4 The fourth pipe item.
|
|
135
|
+
* @param item5 The fifth pipe item.
|
|
136
|
+
*
|
|
137
|
+
* @returns A schema with a pipeline.
|
|
138
|
+
*/
|
|
139
|
+
export function pipe<
|
|
140
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
141
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
142
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
143
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
144
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
145
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
146
|
+
>(
|
|
147
|
+
schema: Schema,
|
|
148
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
149
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
150
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
151
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
152
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
153
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5]>;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
157
|
+
*
|
|
158
|
+
* @param schema The root schema.
|
|
159
|
+
* @param item1 The first pipe item.
|
|
160
|
+
* @param item2 The second pipe item.
|
|
161
|
+
* @param item3 The third pipe item.
|
|
162
|
+
* @param item4 The fourth pipe item.
|
|
163
|
+
* @param item5 The fifth pipe item.
|
|
164
|
+
* @param item6 The sixth pipe item.
|
|
165
|
+
*
|
|
166
|
+
* @returns A schema with a pipeline.
|
|
167
|
+
*/
|
|
168
|
+
export function pipe<
|
|
169
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
170
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
171
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
172
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
173
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
174
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
175
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
176
|
+
>(
|
|
177
|
+
schema: Schema,
|
|
178
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
179
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
180
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
181
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
182
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
183
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
184
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6]>;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
188
|
+
*
|
|
189
|
+
* @param schema The root schema.
|
|
190
|
+
* @param item1 The first pipe item.
|
|
191
|
+
* @param item2 The second pipe item.
|
|
192
|
+
* @param item3 The third pipe item.
|
|
193
|
+
* @param item4 The fourth pipe item.
|
|
194
|
+
* @param item5 The fifth pipe item.
|
|
195
|
+
* @param item6 The sixth pipe item.
|
|
196
|
+
* @param item7 The seventh pipe item.
|
|
197
|
+
*
|
|
198
|
+
* @returns A schema with a pipeline.
|
|
199
|
+
*/
|
|
200
|
+
export function pipe<
|
|
201
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
202
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
203
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
204
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
205
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
206
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
207
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
208
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
209
|
+
>(
|
|
210
|
+
schema: Schema,
|
|
211
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
212
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
213
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
214
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
215
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
216
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
217
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
218
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7]>;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
222
|
+
*
|
|
223
|
+
* @param schema The root schema.
|
|
224
|
+
* @param item1 The first pipe item.
|
|
225
|
+
* @param item2 The second pipe item.
|
|
226
|
+
* @param item3 The third pipe item.
|
|
227
|
+
* @param item4 The fourth pipe item.
|
|
228
|
+
* @param item5 The fifth pipe item.
|
|
229
|
+
* @param item6 The sixth pipe item.
|
|
230
|
+
* @param item7 The seventh pipe item.
|
|
231
|
+
* @param item8 The eighth pipe item.
|
|
232
|
+
*
|
|
233
|
+
* @returns A schema with a pipeline.
|
|
234
|
+
*/
|
|
235
|
+
export function pipe<
|
|
236
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
237
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
238
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
239
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
240
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
241
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
242
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
243
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
244
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
245
|
+
>(
|
|
246
|
+
schema: Schema,
|
|
247
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
248
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
249
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
250
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
251
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
252
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
253
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
254
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
255
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8]>;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
259
|
+
*
|
|
260
|
+
* @param schema The root schema.
|
|
261
|
+
* @param item1 The first pipe item.
|
|
262
|
+
* @param item2 The second pipe item.
|
|
263
|
+
* @param item3 The third pipe item.
|
|
264
|
+
* @param item4 The fourth pipe item.
|
|
265
|
+
* @param item5 The fifth pipe item.
|
|
266
|
+
* @param item6 The sixth pipe item.
|
|
267
|
+
* @param item7 The seventh pipe item.
|
|
268
|
+
* @param item8 The eighth pipe item.
|
|
269
|
+
* @param item9 The ninth pipe item.
|
|
270
|
+
*
|
|
271
|
+
* @returns A schema with a pipeline.
|
|
272
|
+
*/
|
|
273
|
+
export function pipe<
|
|
274
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
275
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
276
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
277
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
278
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
279
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
280
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
281
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
282
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
283
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
284
|
+
>(
|
|
285
|
+
schema: Schema,
|
|
286
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
287
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
288
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
289
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
290
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
291
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
292
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
293
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
294
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
295
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9]>;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
299
|
+
*
|
|
300
|
+
* @param schema The root schema.
|
|
301
|
+
* @param item1 The first pipe item.
|
|
302
|
+
* @param item2 The second pipe item.
|
|
303
|
+
* @param item3 The third pipe item.
|
|
304
|
+
* @param item4 The fourth pipe item.
|
|
305
|
+
* @param item5 The fifth pipe item.
|
|
306
|
+
* @param item6 The sixth pipe item.
|
|
307
|
+
* @param item7 The seventh pipe item.
|
|
308
|
+
* @param item8 The eighth pipe item.
|
|
309
|
+
* @param item9 The ninth pipe item.
|
|
310
|
+
* @param item10 The tenth pipe item.
|
|
311
|
+
*
|
|
312
|
+
* @returns A schema with a pipeline.
|
|
313
|
+
*/
|
|
314
|
+
export function pipe<
|
|
315
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
316
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
317
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
318
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
319
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
320
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
321
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
322
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
323
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
324
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
325
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
326
|
+
>(
|
|
327
|
+
schema: Schema,
|
|
328
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
329
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
330
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
331
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
332
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
333
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
334
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
335
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
336
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
337
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
338
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10]>;
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
342
|
+
*
|
|
343
|
+
* @param schema The root schema.
|
|
344
|
+
* @param item1 The first pipe item.
|
|
345
|
+
* @param item2 The second pipe item.
|
|
346
|
+
* @param item3 The third pipe item.
|
|
347
|
+
* @param item4 The fourth pipe item.
|
|
348
|
+
* @param item5 The fifth pipe item.
|
|
349
|
+
* @param item6 The sixth pipe item.
|
|
350
|
+
* @param item7 The seventh pipe item.
|
|
351
|
+
* @param item8 The eighth pipe item.
|
|
352
|
+
* @param item9 The ninth pipe item.
|
|
353
|
+
* @param item10 The tenth pipe item.
|
|
354
|
+
* @param item11 The eleventh pipe item.
|
|
355
|
+
*
|
|
356
|
+
* @returns A schema with a pipeline.
|
|
357
|
+
*/
|
|
358
|
+
export function pipe<
|
|
359
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
360
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
361
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
362
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
363
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
364
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
365
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
366
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
367
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
368
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
369
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
370
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
371
|
+
>(
|
|
372
|
+
schema: Schema,
|
|
373
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
374
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
375
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
376
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
377
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
378
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
379
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
380
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
381
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
382
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
383
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
384
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11]>;
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
388
|
+
*
|
|
389
|
+
* @param schema The root schema.
|
|
390
|
+
* @param item1 The first pipe item.
|
|
391
|
+
* @param item2 The second pipe item.
|
|
392
|
+
* @param item3 The third pipe item.
|
|
393
|
+
* @param item4 The fourth pipe item.
|
|
394
|
+
* @param item5 The fifth pipe item.
|
|
395
|
+
* @param item6 The sixth pipe item.
|
|
396
|
+
* @param item7 The seventh pipe item.
|
|
397
|
+
* @param item8 The eighth pipe item.
|
|
398
|
+
* @param item9 The ninth pipe item.
|
|
399
|
+
* @param item10 The tenth pipe item.
|
|
400
|
+
* @param item11 The eleventh pipe item.
|
|
401
|
+
* @param item12 The twelfth pipe item.
|
|
402
|
+
*
|
|
403
|
+
* @returns A schema with a pipeline.
|
|
404
|
+
*/
|
|
405
|
+
export function pipe<
|
|
406
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
407
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
408
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
409
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
410
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
411
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
412
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
413
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
414
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
415
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
416
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
417
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
418
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
419
|
+
>(
|
|
420
|
+
schema: Schema,
|
|
421
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
422
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
423
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
424
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
425
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
426
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
427
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
428
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
429
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
430
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
431
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
432
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
433
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12]>;
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
437
|
+
*
|
|
438
|
+
* @param schema The root schema.
|
|
439
|
+
* @param item1 The first pipe item.
|
|
440
|
+
* @param item2 The second pipe item.
|
|
441
|
+
* @param item3 The third pipe item.
|
|
442
|
+
* @param item4 The fourth pipe item.
|
|
443
|
+
* @param item5 The fifth pipe item.
|
|
444
|
+
* @param item6 The sixth pipe item.
|
|
445
|
+
* @param item7 The seventh pipe item.
|
|
446
|
+
* @param item8 The eighth pipe item.
|
|
447
|
+
* @param item9 The ninth pipe item.
|
|
448
|
+
* @param item10 The tenth pipe item.
|
|
449
|
+
* @param item11 The eleventh pipe item.
|
|
450
|
+
* @param item12 The twelfth pipe item.
|
|
451
|
+
* @param item13 The thirteenth pipe item.
|
|
452
|
+
*
|
|
453
|
+
* @returns A schema with a pipeline.
|
|
454
|
+
*/
|
|
455
|
+
export function pipe<
|
|
456
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
457
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
458
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
459
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
460
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
461
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
462
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
463
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
464
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
465
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
466
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
467
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
468
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
469
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
470
|
+
>(
|
|
471
|
+
schema: Schema,
|
|
472
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
473
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
474
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
475
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
476
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
477
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
478
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
479
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
480
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
481
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
482
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
483
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
484
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
485
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13]>;
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
489
|
+
*
|
|
490
|
+
* @param schema The root schema.
|
|
491
|
+
* @param item1 The first pipe item.
|
|
492
|
+
* @param item2 The second pipe item.
|
|
493
|
+
* @param item3 The third pipe item.
|
|
494
|
+
* @param item4 The fourth pipe item.
|
|
495
|
+
* @param item5 The fifth pipe item.
|
|
496
|
+
* @param item6 The sixth pipe item.
|
|
497
|
+
* @param item7 The seventh pipe item.
|
|
498
|
+
* @param item8 The eighth pipe item.
|
|
499
|
+
* @param item9 The ninth pipe item.
|
|
500
|
+
* @param item10 The tenth pipe item.
|
|
501
|
+
* @param item11 The eleventh pipe item.
|
|
502
|
+
* @param item12 The twelfth pipe item.
|
|
503
|
+
* @param item13 The thirteenth pipe item.
|
|
504
|
+
* @param item14 The fourteenth pipe item.
|
|
505
|
+
*
|
|
506
|
+
* @returns A schema with a pipeline.
|
|
507
|
+
*/
|
|
508
|
+
export function pipe<
|
|
509
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
510
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
511
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
512
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
513
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
514
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
515
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
516
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
517
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
518
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
519
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
520
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
521
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
522
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
523
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
524
|
+
>(
|
|
525
|
+
schema: Schema,
|
|
526
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
527
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
528
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
529
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
530
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
531
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
532
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
533
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
534
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
535
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
536
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
537
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
538
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
539
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
540
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13, Item14]>;
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
544
|
+
*
|
|
545
|
+
* @param schema The root schema.
|
|
546
|
+
* @param item1 The first pipe item.
|
|
547
|
+
* @param item2 The second pipe item.
|
|
548
|
+
* @param item3 The third pipe item.
|
|
549
|
+
* @param item4 The fourth pipe item.
|
|
550
|
+
* @param item5 The fifth pipe item.
|
|
551
|
+
* @param item6 The sixth pipe item.
|
|
552
|
+
* @param item7 The seventh pipe item.
|
|
553
|
+
* @param item8 The eighth pipe item.
|
|
554
|
+
* @param item9 The ninth pipe item.
|
|
555
|
+
* @param item10 The tenth pipe item.
|
|
556
|
+
* @param item11 The eleventh pipe item.
|
|
557
|
+
* @param item12 The twelfth pipe item.
|
|
558
|
+
* @param item13 The thirteenth pipe item.
|
|
559
|
+
* @param item14 The fourteenth pipe item.
|
|
560
|
+
* @param item15 The fifteenth pipe item.
|
|
561
|
+
*
|
|
562
|
+
* @returns A schema with a pipeline.
|
|
563
|
+
*/
|
|
564
|
+
export function pipe<
|
|
565
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
566
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
567
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
568
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
569
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
570
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
571
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
572
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
573
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
574
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
575
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
576
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
577
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
578
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
579
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
580
|
+
const Item15 extends PipeItem<InferOutput<Item14>, AnyRecord>,
|
|
581
|
+
>(
|
|
582
|
+
schema: Schema,
|
|
583
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
584
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
585
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
586
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
587
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
588
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
589
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
590
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
591
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
592
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
593
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
594
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
595
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
596
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
597
|
+
item15: Item15 | PipeAction<InferOutput<Item14>, InferOutput<Item15>>,
|
|
598
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13, Item14, Item15]>;
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
602
|
+
*
|
|
603
|
+
* @param schema The root schema.
|
|
604
|
+
* @param item1 The first pipe item.
|
|
605
|
+
* @param item2 The second pipe item.
|
|
606
|
+
* @param item3 The third pipe item.
|
|
607
|
+
* @param item4 The fourth pipe item.
|
|
608
|
+
* @param item5 The fifth pipe item.
|
|
609
|
+
* @param item6 The sixth pipe item.
|
|
610
|
+
* @param item7 The seventh pipe item.
|
|
611
|
+
* @param item8 The eighth pipe item.
|
|
612
|
+
* @param item9 The ninth pipe item.
|
|
613
|
+
* @param item10 The tenth pipe item.
|
|
614
|
+
* @param item11 The eleventh pipe item.
|
|
615
|
+
* @param item12 The twelfth pipe item.
|
|
616
|
+
* @param item13 The thirteenth pipe item.
|
|
617
|
+
* @param item14 The fourteenth pipe item.
|
|
618
|
+
* @param item15 The fifteenth pipe item.
|
|
619
|
+
* @param item16 The sixteenth pipe item.
|
|
620
|
+
*
|
|
621
|
+
* @returns A schema with a pipeline.
|
|
622
|
+
*/
|
|
623
|
+
export function pipe<
|
|
624
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
625
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
626
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
627
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
628
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
629
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
630
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
631
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
632
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
633
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
634
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
635
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
636
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
637
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
638
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
639
|
+
const Item15 extends PipeItem<InferOutput<Item14>, AnyRecord>,
|
|
640
|
+
const Item16 extends PipeItem<InferOutput<Item15>, AnyRecord>,
|
|
641
|
+
>(
|
|
642
|
+
schema: Schema,
|
|
643
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
644
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
645
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
646
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
647
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
648
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
649
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
650
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
651
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
652
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
653
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
654
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
655
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
656
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
657
|
+
item15: Item15 | PipeAction<InferOutput<Item14>, InferOutput<Item15>>,
|
|
658
|
+
item16: Item16 | PipeAction<InferOutput<Item15>, InferOutput<Item16>>,
|
|
659
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13, Item14, Item15, Item16]>;
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
663
|
+
*
|
|
664
|
+
* @param schema The root schema.
|
|
665
|
+
* @param item1 The first pipe item.
|
|
666
|
+
* @param item2 The second pipe item.
|
|
667
|
+
* @param item3 The third pipe item.
|
|
668
|
+
* @param item4 The fourth pipe item.
|
|
669
|
+
* @param item5 The fifth pipe item.
|
|
670
|
+
* @param item6 The sixth pipe item.
|
|
671
|
+
* @param item7 The seventh pipe item.
|
|
672
|
+
* @param item8 The eighth pipe item.
|
|
673
|
+
* @param item9 The ninth pipe item.
|
|
674
|
+
* @param item10 The tenth pipe item.
|
|
675
|
+
* @param item11 The eleventh pipe item.
|
|
676
|
+
* @param item12 The twelfth pipe item.
|
|
677
|
+
* @param item13 The thirteenth pipe item.
|
|
678
|
+
* @param item14 The fourteenth pipe item.
|
|
679
|
+
* @param item15 The fifteenth pipe item.
|
|
680
|
+
* @param item16 The sixteenth pipe item.
|
|
681
|
+
*
|
|
682
|
+
* @returns A schema with a pipeline.
|
|
683
|
+
*/
|
|
684
|
+
export function pipe<
|
|
685
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
686
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
687
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
688
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
689
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
690
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
691
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
692
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
693
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
694
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
695
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
696
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
697
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
698
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
699
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
700
|
+
const Item15 extends PipeItem<InferOutput<Item14>, AnyRecord>,
|
|
701
|
+
const Item16 extends PipeItem<InferOutput<Item15>, AnyRecord>,
|
|
702
|
+
>(
|
|
703
|
+
schema: Schema,
|
|
704
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
705
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
706
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
707
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
708
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
709
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
710
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
711
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
712
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
713
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
714
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
715
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
716
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
717
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
718
|
+
item15: Item15 | PipeAction<InferOutput<Item14>, InferOutput<Item15>>,
|
|
719
|
+
item16: Item16 | PipeAction<InferOutput<Item15>, InferOutput<Item16>>,
|
|
720
|
+
): SchemaWithPipe<readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13, Item14, Item15, Item16]>;
|
|
721
|
+
|
|
722
|
+
/**
|
|
723
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
724
|
+
*
|
|
725
|
+
* @param schema The root schema.
|
|
726
|
+
* @param item1 The first pipe item.
|
|
727
|
+
* @param item2 The second pipe item.
|
|
728
|
+
* @param item3 The third pipe item.
|
|
729
|
+
* @param item4 The fourth pipe item.
|
|
730
|
+
* @param item5 The fifth pipe item.
|
|
731
|
+
* @param item6 The sixth pipe item.
|
|
732
|
+
* @param item7 The seventh pipe item.
|
|
733
|
+
* @param item8 The eighth pipe item.
|
|
734
|
+
* @param item9 The ninth pipe item.
|
|
735
|
+
* @param item10 The tenth pipe item.
|
|
736
|
+
* @param item11 The eleventh pipe item.
|
|
737
|
+
* @param item12 The twelfth pipe item.
|
|
738
|
+
* @param item13 The thirteenth pipe item.
|
|
739
|
+
* @param item14 The fourteenth pipe item.
|
|
740
|
+
* @param item15 The fifteenth pipe item.
|
|
741
|
+
* @param item16 The sixteenth pipe item.
|
|
742
|
+
* @param item17 The seventeenth pipe item.
|
|
743
|
+
*
|
|
744
|
+
* @returns A schema with a pipeline.
|
|
745
|
+
*/
|
|
746
|
+
export function pipe<
|
|
747
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
748
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
749
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
750
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
751
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
752
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
753
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
754
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
755
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
756
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
757
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
758
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
759
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
760
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
761
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
762
|
+
const Item15 extends PipeItem<InferOutput<Item14>, AnyRecord>,
|
|
763
|
+
const Item16 extends PipeItem<InferOutput<Item15>, AnyRecord>,
|
|
764
|
+
const Item17 extends PipeItem<InferOutput<Item16>, AnyRecord>,
|
|
765
|
+
>(
|
|
766
|
+
schema: Schema,
|
|
767
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
768
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
769
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
770
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
771
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
772
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
773
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
774
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
775
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
776
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
777
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
778
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
779
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
780
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
781
|
+
item15: Item15 | PipeAction<InferOutput<Item14>, InferOutput<Item15>>,
|
|
782
|
+
item16: Item16 | PipeAction<InferOutput<Item15>, InferOutput<Item16>>,
|
|
783
|
+
item17: Item17 | PipeAction<InferOutput<Item16>, InferOutput<Item17>>,
|
|
784
|
+
): SchemaWithPipe<
|
|
785
|
+
readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13, Item14, Item15, Item16, Item17]
|
|
786
|
+
>;
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
790
|
+
*
|
|
791
|
+
* @param schema The root schema.
|
|
792
|
+
* @param item1 The first pipe item.
|
|
793
|
+
* @param item2 The second pipe item.
|
|
794
|
+
* @param item3 The third pipe item.
|
|
795
|
+
* @param item4 The fourth pipe item.
|
|
796
|
+
* @param item5 The fifth pipe item.
|
|
797
|
+
* @param item6 The sixth pipe item.
|
|
798
|
+
* @param item7 The seventh pipe item.
|
|
799
|
+
* @param item8 The eighth pipe item.
|
|
800
|
+
* @param item9 The ninth pipe item.
|
|
801
|
+
* @param item10 The tenth pipe item.
|
|
802
|
+
* @param item11 The eleventh pipe item.
|
|
803
|
+
* @param item12 The twelfth pipe item.
|
|
804
|
+
* @param item13 The thirteenth pipe item.
|
|
805
|
+
* @param item14 The fourteenth pipe item.
|
|
806
|
+
* @param item15 The fifteenth pipe item.
|
|
807
|
+
* @param item16 The sixteenth pipe item.
|
|
808
|
+
* @param item17 The seventeenth pipe item.
|
|
809
|
+
* @param item18 The eighteenth pipe item.
|
|
810
|
+
*
|
|
811
|
+
* @returns A schema with a pipeline.
|
|
812
|
+
*/
|
|
813
|
+
export function pipe<
|
|
814
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
815
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
816
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
817
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
818
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
819
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
820
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
821
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
822
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
823
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
824
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
825
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
826
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
827
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
828
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
829
|
+
const Item15 extends PipeItem<InferOutput<Item14>, AnyRecord>,
|
|
830
|
+
const Item16 extends PipeItem<InferOutput<Item15>, AnyRecord>,
|
|
831
|
+
const Item17 extends PipeItem<InferOutput<Item16>, AnyRecord>,
|
|
832
|
+
const Item18 extends PipeItem<InferOutput<Item17>, AnyRecord>,
|
|
833
|
+
>(
|
|
834
|
+
schema: Schema,
|
|
835
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
836
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
837
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
838
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
839
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
840
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
841
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
842
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
843
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
844
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
845
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
846
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
847
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
848
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
849
|
+
item15: Item15 | PipeAction<InferOutput<Item14>, InferOutput<Item15>>,
|
|
850
|
+
item16: Item16 | PipeAction<InferOutput<Item15>, InferOutput<Item16>>,
|
|
851
|
+
item17: Item17 | PipeAction<InferOutput<Item16>, InferOutput<Item17>>,
|
|
852
|
+
item18: Item18 | PipeAction<InferOutput<Item17>, InferOutput<Item18>>,
|
|
853
|
+
): SchemaWithPipe<
|
|
854
|
+
readonly [Schema, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item11, Item12, Item13, Item14, Item15, Item16, Item17, Item18]
|
|
855
|
+
>;
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
859
|
+
*
|
|
860
|
+
* @param schema The root schema.
|
|
861
|
+
* @param item1 The first pipe item.
|
|
862
|
+
* @param item2 The second pipe item.
|
|
863
|
+
* @param item3 The third pipe item.
|
|
864
|
+
* @param item4 The fourth pipe item.
|
|
865
|
+
* @param item5 The fifth pipe item.
|
|
866
|
+
* @param item6 The sixth pipe item.
|
|
867
|
+
* @param item7 The seventh pipe item.
|
|
868
|
+
* @param item8 The eighth pipe item.
|
|
869
|
+
* @param item9 The ninth pipe item.
|
|
870
|
+
* @param item10 The tenth pipe item.
|
|
871
|
+
* @param item11 The eleventh pipe item.
|
|
872
|
+
* @param item12 The twelfth pipe item.
|
|
873
|
+
* @param item13 The thirteenth pipe item.
|
|
874
|
+
* @param item14 The fourteenth pipe item.
|
|
875
|
+
* @param item15 The fifteenth pipe item.
|
|
876
|
+
* @param item16 The sixteenth pipe item.
|
|
877
|
+
* @param item17 The seventeenth pipe item.
|
|
878
|
+
* @param item18 The eighteenth pipe item.
|
|
879
|
+
* @param item19 The nineteenth pipe item.
|
|
880
|
+
*
|
|
881
|
+
* @returns A schema with a pipeline.
|
|
882
|
+
*/
|
|
883
|
+
export function pipe<
|
|
884
|
+
const Schema extends BaseAction<unknown, AnyRecord>,
|
|
885
|
+
const Item1 extends PipeItem<InferOutput<Schema>, AnyRecord>,
|
|
886
|
+
const Item2 extends PipeItem<InferOutput<Item1>, AnyRecord>,
|
|
887
|
+
const Item3 extends PipeItem<InferOutput<Item2>, AnyRecord>,
|
|
888
|
+
const Item4 extends PipeItem<InferOutput<Item3>, AnyRecord>,
|
|
889
|
+
const Item5 extends PipeItem<InferOutput<Item4>, AnyRecord>,
|
|
890
|
+
const Item6 extends PipeItem<InferOutput<Item5>, AnyRecord>,
|
|
891
|
+
const Item7 extends PipeItem<InferOutput<Item6>, AnyRecord>,
|
|
892
|
+
const Item8 extends PipeItem<InferOutput<Item7>, AnyRecord>,
|
|
893
|
+
const Item9 extends PipeItem<InferOutput<Item8>, AnyRecord>,
|
|
894
|
+
const Item10 extends PipeItem<InferOutput<Item9>, AnyRecord>,
|
|
895
|
+
const Item11 extends PipeItem<InferOutput<Item10>, AnyRecord>,
|
|
896
|
+
const Item12 extends PipeItem<InferOutput<Item11>, AnyRecord>,
|
|
897
|
+
const Item13 extends PipeItem<InferOutput<Item12>, AnyRecord>,
|
|
898
|
+
const Item14 extends PipeItem<InferOutput<Item13>, AnyRecord>,
|
|
899
|
+
const Item15 extends PipeItem<InferOutput<Item14>, AnyRecord>,
|
|
900
|
+
const Item16 extends PipeItem<InferOutput<Item15>, AnyRecord>,
|
|
901
|
+
const Item17 extends PipeItem<InferOutput<Item16>, AnyRecord>,
|
|
902
|
+
const Item18 extends PipeItem<InferOutput<Item17>, AnyRecord>,
|
|
903
|
+
const Item19 extends PipeItem<InferOutput<Item18>, AnyRecord>,
|
|
904
|
+
>(
|
|
905
|
+
schema: Schema,
|
|
906
|
+
item1: Item1 | PipeAction<InferOutput<Schema>, InferOutput<Item1>>,
|
|
907
|
+
item2: Item2 | PipeAction<InferOutput<Item1>, InferOutput<Item2>>,
|
|
908
|
+
item3: Item3 | PipeAction<InferOutput<Item2>, InferOutput<Item3>>,
|
|
909
|
+
item4: Item4 | PipeAction<InferOutput<Item3>, InferOutput<Item4>>,
|
|
910
|
+
item5: Item5 | PipeAction<InferOutput<Item4>, InferOutput<Item5>>,
|
|
911
|
+
item6: Item6 | PipeAction<InferOutput<Item5>, InferOutput<Item6>>,
|
|
912
|
+
item7: Item7 | PipeAction<InferOutput<Item6>, InferOutput<Item7>>,
|
|
913
|
+
item8: Item8 | PipeAction<InferOutput<Item7>, InferOutput<Item8>>,
|
|
914
|
+
item9: Item9 | PipeAction<InferOutput<Item8>, InferOutput<Item9>>,
|
|
915
|
+
item10: Item10 | PipeAction<InferOutput<Item9>, InferOutput<Item10>>,
|
|
916
|
+
item11: Item11 | PipeAction<InferOutput<Item10>, InferOutput<Item11>>,
|
|
917
|
+
item12: Item12 | PipeAction<InferOutput<Item11>, InferOutput<Item12>>,
|
|
918
|
+
item13: Item13 | PipeAction<InferOutput<Item12>, InferOutput<Item13>>,
|
|
919
|
+
item14: Item14 | PipeAction<InferOutput<Item13>, InferOutput<Item14>>,
|
|
920
|
+
item15: Item15 | PipeAction<InferOutput<Item14>, InferOutput<Item15>>,
|
|
921
|
+
item16: Item16 | PipeAction<InferOutput<Item15>, InferOutput<Item16>>,
|
|
922
|
+
item17: Item17 | PipeAction<InferOutput<Item16>, InferOutput<Item17>>,
|
|
923
|
+
item18: Item18 | PipeAction<InferOutput<Item17>, InferOutput<Item18>>,
|
|
924
|
+
item19: Item19 | PipeAction<InferOutput<Item18>, InferOutput<Item19>>,
|
|
925
|
+
): SchemaWithPipe<
|
|
926
|
+
readonly [
|
|
927
|
+
Schema,
|
|
928
|
+
Item1,
|
|
929
|
+
Item2,
|
|
930
|
+
Item3,
|
|
931
|
+
Item4,
|
|
932
|
+
Item5,
|
|
933
|
+
Item6,
|
|
934
|
+
Item7,
|
|
935
|
+
Item8,
|
|
936
|
+
Item9,
|
|
937
|
+
Item10,
|
|
938
|
+
Item11,
|
|
939
|
+
Item12,
|
|
940
|
+
Item13,
|
|
941
|
+
Item14,
|
|
942
|
+
Item15,
|
|
943
|
+
Item16,
|
|
944
|
+
Item17,
|
|
945
|
+
Item18,
|
|
946
|
+
Item19,
|
|
947
|
+
]
|
|
948
|
+
>;
|
|
949
|
+
|
|
950
|
+
/**
|
|
951
|
+
* Adds a pipeline to a schema, that can validate and transform its input.
|
|
952
|
+
*
|
|
953
|
+
* @param schema The root schema.
|
|
954
|
+
* @param items The pipe items.
|
|
955
|
+
*
|
|
956
|
+
* @returns A schema with a pipeline.
|
|
957
|
+
*/
|
|
958
|
+
export function pipe<const Schema extends BaseAction<unknown, AnyRecord>, const Items extends readonly PipeItem<InferOutput<Schema>, InferOutput<Schema>>[]>(
|
|
959
|
+
schema: Schema,
|
|
960
|
+
...items: Items
|
|
961
|
+
): SchemaWithPipe<readonly [Schema, ...Items]>;
|
|
962
|
+
|
|
963
|
+
export function pipe<const Schema extends BaseAction<unknown, AnyRecord>, const Items extends readonly PipeItem<unknown, AnyRecord>[]>(
|
|
964
|
+
...pipe: [Schema, ...Items]
|
|
965
|
+
): SchemaWithPipe<readonly [Schema, ...Items]> {
|
|
966
|
+
return {
|
|
967
|
+
...pipe[0],
|
|
968
|
+
pipe,
|
|
969
|
+
"~run"(context, config) {
|
|
970
|
+
// Execute pipeline items in sequence
|
|
971
|
+
for (const item of pipe) {
|
|
972
|
+
// Exclude metadata items from execution
|
|
973
|
+
if (item.kind !== "metadata") {
|
|
974
|
+
// Mark context as untyped and break pipe if there are issues and pipe
|
|
975
|
+
// item is schema or transformation
|
|
976
|
+
if (context.issues && (item.kind === "action" || item.kind === "transformation")) {
|
|
977
|
+
context.typed = false;
|
|
978
|
+
break;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
// Continue pipe execution if there is no reason to abort early
|
|
982
|
+
if (!context.issues || (!config.abortEarly && !config.abortPipeEarly)) {
|
|
983
|
+
// @ts-expect-error
|
|
984
|
+
context = item["~run"](context, config);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
// Return output context
|
|
990
|
+
return context as unknown as OutputContext<unknown>;
|
|
991
|
+
},
|
|
992
|
+
};
|
|
993
|
+
}
|