All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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