AIDK API Reference / aidk-kernel / pipe
Function: pipe() ​
Call Signature ​
function pipe<T1>(p1: Procedure<T1>): Procedure<T1>;Defined in: packages/kernel/src/procedure.ts:1334
Pipe multiple procedures together, passing the output of each to the next.
Type Parameters ​
| Type Parameter |
|---|
T1 extends (...args: any[]) => any |
Parameters ​
| Parameter | Type |
|---|---|
p1 | Procedure<T1> |
Returns ​
Procedure<T1>
Example ​
const parse = createProcedure(async (json: string) => JSON.parse(json));
const validate = createProcedure(async (data: unknown) => schema.parse(data));
const transform = createProcedure(async (valid: Valid) => transform(valid));
// Create a pipeline that parses, validates, then transforms
const pipeline = pipe(parse, validate, transform);
const result = await pipeline('{"name": "test"}');Call Signature ​
function pipe<T1, T2>(p1: Procedure<T1>, p2: Procedure<T2>): Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T2>>>;Defined in: packages/kernel/src/procedure.ts:1335
Pipe multiple procedures together, passing the output of each to the next.
Type Parameters ​
| Type Parameter |
|---|
T1 extends (...args: any[]) => any |
T2 extends (arg: ExtractReturn<T1>) => any |
Parameters ​
| Parameter | Type |
|---|---|
p1 | Procedure<T1> |
p2 | Procedure<T2> |
Returns ​
Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T2>>>
Example ​
const parse = createProcedure(async (json: string) => JSON.parse(json));
const validate = createProcedure(async (data: unknown) => schema.parse(data));
const transform = createProcedure(async (valid: Valid) => transform(valid));
// Create a pipeline that parses, validates, then transforms
const pipeline = pipe(parse, validate, transform);
const result = await pipeline('{"name": "test"}');Call Signature ​
function pipe<T1, T2, T3>(
p1: Procedure<T1>,
p2: Procedure<T2>,
p3: Procedure<T3>): Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T3>>>;Defined in: packages/kernel/src/procedure.ts:1342
Pipe multiple procedures together, passing the output of each to the next.
Type Parameters ​
| Type Parameter |
|---|
T1 extends (...args: any[]) => any |
T2 extends (arg: ExtractReturn<T1>) => any |
T3 extends (arg: ExtractReturn<T2>) => any |
Parameters ​
| Parameter | Type |
|---|---|
p1 | Procedure<T1> |
p2 | Procedure<T2> |
p3 | Procedure<T3> |
Returns ​
Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T3>>>
Example ​
const parse = createProcedure(async (json: string) => JSON.parse(json));
const validate = createProcedure(async (data: unknown) => schema.parse(data));
const transform = createProcedure(async (valid: Valid) => transform(valid));
// Create a pipeline that parses, validates, then transforms
const pipeline = pipe(parse, validate, transform);
const result = await pipeline('{"name": "test"}');Call Signature ​
function pipe<T1, T2, T3, T4>(
p1: Procedure<T1>,
p2: Procedure<T2>,
p3: Procedure<T3>,
p4: Procedure<T4>): Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T4>>>;Defined in: packages/kernel/src/procedure.ts:1351
Pipe multiple procedures together, passing the output of each to the next.
Type Parameters ​
| Type Parameter |
|---|
T1 extends (...args: any[]) => any |
T2 extends (arg: ExtractReturn<T1>) => any |
T3 extends (arg: ExtractReturn<T2>) => any |
T4 extends (arg: ExtractReturn<T3>) => any |
Parameters ​
| Parameter | Type |
|---|---|
p1 | Procedure<T1> |
p2 | Procedure<T2> |
p3 | Procedure<T3> |
p4 | Procedure<T4> |
Returns ​
Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T4>>>
Example ​
const parse = createProcedure(async (json: string) => JSON.parse(json));
const validate = createProcedure(async (data: unknown) => schema.parse(data));
const transform = createProcedure(async (valid: Valid) => transform(valid));
// Create a pipeline that parses, validates, then transforms
const pipeline = pipe(parse, validate, transform);
const result = await pipeline('{"name": "test"}');Call Signature ​
function pipe<T1, T2, T3, T4, T5>(
p1: Procedure<T1>,
p2: Procedure<T2>,
p3: Procedure<T3>,
p4: Procedure<T4>,
p5: Procedure<T5>): Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T5>>>;Defined in: packages/kernel/src/procedure.ts:1362
Pipe multiple procedures together, passing the output of each to the next.
Type Parameters ​
| Type Parameter |
|---|
T1 extends (...args: any[]) => any |
T2 extends (arg: ExtractReturn<T1>) => any |
T3 extends (arg: ExtractReturn<T2>) => any |
T4 extends (arg: ExtractReturn<T3>) => any |
T5 extends (arg: ExtractReturn<T4>) => any |
Parameters ​
| Parameter | Type |
|---|---|
p1 | Procedure<T1> |
p2 | Procedure<T2> |
p3 | Procedure<T3> |
p4 | Procedure<T4> |
p5 | Procedure<T5> |
Returns ​
Procedure<(...args: ExtractArgs<T1>) => Promise<ExtractReturn<T5>>>
Example ​
const parse = createProcedure(async (json: string) => JSON.parse(json));
const validate = createProcedure(async (data: unknown) => schema.parse(data));
const transform = createProcedure(async (valid: Valid) => transform(valid));
// Create a pipeline that parses, validates, then transforms
const pipeline = pipe(parse, validate, transform);
const result = await pipeline('{"name": "test"}');