
commonMain.s2.dsl.automate.builder.S2NodeBuilder.kt Maven / Gradle / Ivy
package s2.dsl.automate.builder
import s2.dsl.automate.Msg
import s2.dsl.automate.S2State
import s2.dsl.automate.S2Transition
class S2NodeBuilder {
lateinit var state: S2State
val transactions: MutableList = mutableListOf()
inline fun transaction(
exec: S2NodeTransitionBuilder.() -> Unit,
) {
val builder = S2NodeTransitionBuilder()
builder.exec()
S2Transition(
from = state,
to = builder.to ?: state,
role = builder.role,
msg = CMD::class,
).let(transactions::add)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy