The workflow function type (e.g. typeof orderWorkflow)
Injection token created with createWorkflowToken
Workflow type name and optional task queue override
// constants.ts
export const ORDER_WORKFLOW = createWorkflowToken('orderWorkflow');
// order.module.ts
@Module({
providers: [
createWorkflowProvider<typeof orderWorkflow>(ORDER_WORKFLOW, {
workflowType: 'orderWorkflow',
taskQueue: 'orders',
}),
],
exports: [ORDER_WORKFLOW],
})
export class OrderModule {}
// order.service.ts
constructor(
@Inject(ORDER_WORKFLOW)
private readonly orderProxy: IWorkflowProxy<typeof orderWorkflow>,
) {}
Create a NestJS
FactoryProviderthat resolves to a typedIWorkflowProxy<T>.Add the returned provider to your feature module's
providersarray and export the token so other modules can inject the proxy.Requires
TemporalModuleto be imported (globally or in the same module) so thatWorkflowProxyFactoryis available for injection.