Procedure
Combinator
Signature
declare function compile<
I extends Record<string, Parameter<any>>,
O extends Record<string, Parameter<any>>,
A,
>(
self: Procedure<I, O, A>,
): (input: {
[K in string | number | symbol]: I[K] extends Parameter<T> ? T : never;
}) => ProcedureWithValues<I, O, A>;outputParam
Added in v1.0.0
Source
Signature
declare function outputParam<A>(): <N extends string, T extends DataType>(
name: N,
type: T,
options?: any,
) => <I extends Record<string, Parameter<any>>, O extends Record<string, Parameter<any>>>(
self: Procedure<I, O>,
) => Procedure<I, { [K in string | number | symbol]: O & { [K in string]: Parameter<A> }[K] }>;Signature
declare function param<A>(): <N extends string, T extends DataType>(
name: N,
type: T,
options?: any,
) => <I extends Record<string, Parameter<any>>, O extends Record<string, Parameter<any>>>(
self: Procedure<I, O>,
) => Procedure<{ [K in string | number | symbol]: I & { [K in string]: Parameter<A> }[K] }, O>;Signature
declare function withRows<A extends object = Row>(): <
I extends Record<string, Parameter<any>>,
O extends Record<string, Parameter<any>>,
>(
self: Procedure<I, O>,
) => Procedure<I, O, A>;Constructor
Model
Signature
interface Procedure<
I extends Record<string, Parameter.Parameter<any>>,
O extends Record<string, Parameter.Parameter<any>>,
A = never,
> extends Pipeable {
readonly _tag: "Procedure";
readonly [TypeId]: {
readonly _A: Covariant<A>;
};
readonly name: string;
readonly outputParams: O;
readonly params: I;
}ProcedureWithValues interface
Added in v1.0.0
Source
Signature
interface ProcedureWithValues<
I extends Record<string, Parameter.Parameter<any>>,
O extends Record<string, Parameter.Parameter<any>>,
A,
> extends Procedure<I, O, A> {
readonly values: { [K in string | number | symbol]: I[K] extends Parameter<T> ? T : never };
}