Sequencing Operations
Code
- Declarative
- Dynamic
val step1 = WIO.pure[MyState](MyState(1)).autoNamed()
val step2 = WIO.pure[MyState](MyState(2)).autoNamed()
val step3 = WIO.pure[MyState](MyState(3)).autoNamed()
val sequence1 = step1 >>> step2 >>> step3
val sequence2 = step1.andThen(step2).andThen(step3)
val step1 = WIO.pure[MyState](MyState(1)).autoNamed()
val step2 = WIO.pure[MyState](MyState(2)).autoNamed()
val step3 = WIO.pure[MyState](MyState(3)).autoNamed()
val sequence1 = for {
a <- step1
b <- step2
c <- step3
} yield c
val sequence2 = step1.flatMap(_ => step2).flatMap(_ => step3)
BPMN
- Declarative
- Dynamic
Model
- Declarative
- Dynamic
{
"steps" : [
{
"name" : "Step1",
"error" : null,
"_type" : "Pure"
},
{
"name" : "Step2",
"error" : null,
"_type" : "Pure"
},
{
"name" : "Step3",
"error" : null,
"_type" : "Pure"
}
],
"_type" : "Sequence"
}
{
"steps" : [
{
"name" : "Step1",
"error" : null,
"_type" : "Pure"
},
{
"name" : null,
"error" : null,
"_type" : "Dynamic"
}
],
"_type" : "Sequence"
}