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 };}