Skip to content
Effect Days 2026 Get your ticket

Procedure

10 exports Added in v1.0.0 Source

Combinator

compile

Added in v1.0.0 Source

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

param

Added in v1.0.0 Source

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>

withRows

Added in v1.0.0 Source

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

make

Added in v1.0.0 Source

Signature

declare function make(name: string): Procedure<{}, {}>

Model

Procedure interface

Added in v1.0.0 Source

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

Other

Procedure

Added in v1.0.0 Source

Type Id

TypeId

Added in v1.0.0 Source

Signature

declare const TypeId: unique symbol

TypeId type

Added in v1.0.0 Source

Signature

type TypeId = typeof TypeId