Documentation / @agentick/kernel / compose
Function: compose()
Call Signature
compose<
T1>(p1):Procedure<T1>
Defined in: kernel/src/procedure.ts:1743
Compose multiple procedures into a single procedure (right-to-left execution). This is the functional programming convention: compose(a, b, c)(x) = a(b(c(x)))
For left-to-right execution, use pipe() instead.
Type Parameters
T1
T1 extends (...args) => any
Parameters
p1
Procedure<T1>
Returns
Procedure<T1>
Example
const format = createProcedure((s: string) => s.toUpperCase());
const validate = createProcedure((s: string) => s.trim());
const parse = createProcedure((input: string) => input);
// compose executes right-to-left: parse -> validate -> format
const pipeline = compose(format, validate, parse);
const result = await pipeline(' hello '); // "HELLO"Call Signature
compose<
T1,T2>(p1,p2):Procedure<(...args) =>Promise<ExtractReturn<T1>>>
Defined in: kernel/src/procedure.ts:1744
Compose multiple procedures into a single procedure (right-to-left execution). This is the functional programming convention: compose(a, b, c)(x) = a(b(c(x)))
For left-to-right execution, use pipe() instead.
Type Parameters
T1
T1 extends (arg) => any
T2
T2 extends (...args) => any
Parameters
p1
Procedure<T1>
p2
Procedure<T2>
Returns
Procedure<(...args) => Promise<ExtractReturn<T1>>>
Example
const format = createProcedure((s: string) => s.toUpperCase());
const validate = createProcedure((s: string) => s.trim());
const parse = createProcedure((input: string) => input);
// compose executes right-to-left: parse -> validate -> format
const pipeline = compose(format, validate, parse);
const result = await pipeline(' hello '); // "HELLO"Call Signature
compose<
T1,T2,T3>(p1,p2,p3):Procedure<(...args) =>Promise<ExtractReturn<T1>>>
Defined in: kernel/src/procedure.ts:1751
Compose multiple procedures into a single procedure (right-to-left execution). This is the functional programming convention: compose(a, b, c)(x) = a(b(c(x)))
For left-to-right execution, use pipe() instead.
Type Parameters
T1
T1 extends (arg) => any
T2
T2 extends (arg) => any
T3
T3 extends (...args) => any
Parameters
p1
Procedure<T1>
p2
Procedure<T2>
p3
Procedure<T3>
Returns
Procedure<(...args) => Promise<ExtractReturn<T1>>>
Example
const format = createProcedure((s: string) => s.toUpperCase());
const validate = createProcedure((s: string) => s.trim());
const parse = createProcedure((input: string) => input);
// compose executes right-to-left: parse -> validate -> format
const pipeline = compose(format, validate, parse);
const result = await pipeline(' hello '); // "HELLO"Call Signature
compose<
T1,T2,T3,T4>(p1,p2,p3,p4):Procedure<(...args) =>Promise<ExtractReturn<T1>>>
Defined in: kernel/src/procedure.ts:1760
Compose multiple procedures into a single procedure (right-to-left execution). This is the functional programming convention: compose(a, b, c)(x) = a(b(c(x)))
For left-to-right execution, use pipe() instead.
Type Parameters
T1
T1 extends (arg) => any
T2
T2 extends (arg) => any
T3
T3 extends (arg) => any
T4
T4 extends (...args) => any
Parameters
p1
Procedure<T1>
p2
Procedure<T2>
p3
Procedure<T3>
p4
Procedure<T4>
Returns
Procedure<(...args) => Promise<ExtractReturn<T1>>>
Example
const format = createProcedure((s: string) => s.toUpperCase());
const validate = createProcedure((s: string) => s.trim());
const parse = createProcedure((input: string) => input);
// compose executes right-to-left: parse -> validate -> format
const pipeline = compose(format, validate, parse);
const result = await pipeline(' hello '); // "HELLO"Call Signature
compose<
T1,T2,T3,T4,T5>(p1,p2,p3,p4,p5):Procedure<(...args) =>Promise<ExtractReturn<T1>>>
Defined in: kernel/src/procedure.ts:1771
Compose multiple procedures into a single procedure (right-to-left execution). This is the functional programming convention: compose(a, b, c)(x) = a(b(c(x)))
For left-to-right execution, use pipe() instead.
Type Parameters
T1
T1 extends (arg) => any
T2
T2 extends (arg) => any
T3
T3 extends (arg) => any
T4
T4 extends (arg) => any
T5
T5 extends (...args) => any
Parameters
p1
Procedure<T1>
p2
Procedure<T2>
p3
Procedure<T3>
p4
Procedure<T4>
p5
Procedure<T5>
Returns
Procedure<(...args) => Promise<ExtractReturn<T1>>>
Example
const format = createProcedure((s: string) => s.toUpperCase());
const validate = createProcedure((s: string) => s.trim());
const parse = createProcedure((input: string) => input);
// compose executes right-to-left: parse -> validate -> format
const pipeline = compose(format, validate, parse);
const result = await pipeline(' hello '); // "HELLO"