@node-ts/bus-workflow
Version:
A workflow engine for orchestrating logic flows in distributed applications.
26 lines (21 loc) • 846 B
text/typescript
// tslint:disable:max-classes-per-file
import { Workflow, WorkflowData } from '../workflow'
import { injectable } from 'inversify'
import { TestCommand } from './test-command'
import { StartedBy } from '../workflow/decorators'
export class TestWorkflowStartedByCompletesData extends WorkflowData {
$name = 'node-ts/bus/workflow/test-workflow-started-by-completes'
property1: string
}
/**
* A test case where the workflow is completed in the StartedBy handler
*/
()
export class TestWorkflowStartedByCompletes extends Workflow<TestWorkflowStartedByCompletesData> {
<TestCommand, TestWorkflowStartedByCompletesData, 'handleTestCommand'>(TestCommand)
handleTestCommand (command: TestCommand): Partial<TestWorkflowStartedByCompletesData> {
return this.complete({
property1: command.property1
})
}
}