Skip to main content

Class: WorkflowProxyFactory

Defined in: src/workflow-proxy/workflow-proxy.factory.ts:53

Factory service for creating typed workflow proxies.

Registered as a global provider by TemporalModule. Inject this service directly, or use createWorkflowProvider() to create a pre-configured provider that resolves to an IWorkflowProxy<T> injection token.

Examples​

Direct factory usage

@Injectable()
class OrderService {
private orderProxy: IWorkflowProxy<typeof orderWorkflow>;

constructor(factory: WorkflowProxyFactory) {
this.orderProxy = factory.createProxy<typeof orderWorkflow>({
workflowType: 'orderWorkflow',
taskQueue: 'orders',
});
}
}

Via injection token (recommended)

// constants.ts
export const ORDER_WORKFLOW = createWorkflowToken('orderWorkflow');

// order.module.ts
@Module({
providers: [
createWorkflowProvider<typeof orderWorkflow>(ORDER_WORKFLOW, {
workflowType: 'orderWorkflow',
taskQueue: 'orders',
}),
],
})
export class OrderModule {}

// order.service.ts
constructor(
@Inject(ORDER_WORKFLOW)
private readonly orderProxy: IWorkflowProxy<typeof orderWorkflow>,
) {}

Constructors​

Constructor​

new WorkflowProxyFactory(clientService): WorkflowProxyFactory

Defined in: src/workflow-proxy/workflow-proxy.factory.ts:54

Parameters​

clientService​

TemporalClientService

Returns​

WorkflowProxyFactory

Methods​

createProxy()​

createProxy<T>(config): IWorkflowProxy<T>

Defined in: src/workflow-proxy/workflow-proxy.factory.ts:62

Create a typed workflow proxy for a given workflow type.

Type Parameters​

T​

T extends Workflow

The workflow function type

Parameters​

config​

WorkflowProxyConfig

Workflow type name and optional task queue override

Returns​

IWorkflowProxy<T>