@temporalio/common
Version:
Common library for code that's used across the Client, Worker, and/or Workflow
28 lines (27 loc) • 875 B
TypeScript
import { Workflow, WorkflowResultType, SignalDefinition } from './interfaces';
/**
* Base WorkflowHandle interface, extended in workflow and client libs.
*
* Transforms a workflow interface `T` into a client interface.
*/
export interface BaseWorkflowHandle<T extends Workflow> {
/**
* Promise that resolves when Workflow execution completes
*/
result(): Promise<WorkflowResultType<T>>;
/**
* Signal a running Workflow.
*
* @param def a signal definition as returned from {@link defineSignal}
*
* @example
* ```ts
* await handle.signal(incrementSignal, 3);
* ```
*/
signal<Args extends any[] = [], Name extends string = string>(def: SignalDefinition<Args, Name> | string, ...args: Args): Promise<void>;
/**
* The workflowId of the current Workflow
*/
readonly workflowId: string;
}