Skip to content

WorkflowProxy

4 exports Added in v1.0.0 Source

Constructors

Derives an HttpApiGroup from a list of workflows.

Signature

declare function toHttpApiGroup<Name extends string, Workflows extends readonly [Any, Any]>(
  name: Name,
  workflows: Workflows,
): HttpApiGroup<Name, ConvertHttpApi<Workflows[number]>>;

toRpcGroup

Added in v1.0.0 Source

Derives an RpcGroup from a list of workflows.

Signature

declare function toRpcGroup<Workflows extends readonly [Any, Any], Prefix extends string = "">(
  workflows: Workflows,
  options?: {
    readonly prefix?: Prefix;
  },
): RpcGroup<ConvertRpcs<Workflows[number], Prefix>>;

Other

ConvertHttpApi type

Added in v1.0.0 Source

Signature

type ConvertHttpApi<Workflows extends Workflow.Any> =
  Workflows extends Workflow.Workflow<infer _Name, infer _Payload, infer _Success, infer _Error>
    ?
        | HttpApiEndpoint.HttpApiEndpoint<
            _Name,
            "POST",
            never,
            never,
            _Payload["Type"],
            never,
            _Success["Type"],
            _Error["Type"],
            _Payload["Context"] | _Success["Context"],
            _Error["Context"]
          >
        | HttpApiEndpoint.HttpApiEndpoint<
            `${_Name}Discard`,
            "POST",
            never,
            never,
            _Payload["Type"],
            never,
            void,
            never,
            _Payload["Context"]
          >
        | HttpApiEndpoint.HttpApiEndpoint<
            `${_Name}Resume`,
            "POST",
            never,
            never,
            typeof ResumePayload.Type,
            never,
            void,
            never,
            typeof ResumePayload.Context
          >
    : never;

ConvertRpcs type

Added in v1.0.0 Source

Signature

type ConvertRpcs<Workflows extends Workflow.Any, Prefix extends string> =
  Workflows extends Workflow.Workflow<infer _Name, infer _Payload, infer _Success, infer _Error>
    ?
        | Rpc.Rpc<`${Prefix}${_Name}`, _Payload, _Success, _Error>
        | Rpc.Rpc<`${Prefix}${_Name}Discard`, _Payload>
        | Rpc.Rpc<`${Prefix}${_Name}Resume`, typeof ResumePayload>
    : never;