From eb78f21eecd38b19f59e4eb6f6dfbe6e255a5fbc Mon Sep 17 00:00:00 2001 From: InsanusMokrassar <ovsyannikov.alexey95@gmail.com> Date: Sun, 26 Dec 2021 21:21:40 +0600 Subject: [PATCH] fix FSMBuilder --- .../inmo/micro_utils/fsm/common/dsl/FSMBuilder.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/dsl/FSMBuilder.kt b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/dsl/FSMBuilder.kt index aa244eed616..d0378c88d0f 100644 --- a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/dsl/FSMBuilder.kt +++ b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/dsl/FSMBuilder.kt @@ -7,12 +7,10 @@ import kotlin.reflect.KClass class FSMBuilder<T : State>( var statesManager: StatesManager<T> = DefaultStatesManager(InMemoryDefaultStatesManagerRepo()), - val fsmBuilder: (states: List<CheckableHandlerHolder<T, T>>, defaultHandler: StatesHandler<T, T>?) -> StatesMachine<T> = { states, defaultHandler -> + val fsmBuilder: (states: List<CheckableHandlerHolder<T, T>>, statesManager: StatesManager<T>) -> StatesMachine<T> = { states, statesManager -> StatesMachine( statesManager, - states.let { list -> - defaultHandler ?.let { list + it.holder { true } } ?: list - } + states ) }, var defaultStateHandler: StatesHandler<T, T>? = StatesHandler { null } @@ -50,7 +48,12 @@ class FSMBuilder<T : State>( add(filter, handler) } - fun build() = fsmBuilder(states.toList(), defaultStateHandler) + fun build() = fsmBuilder( + states.toList().let { list -> + defaultStateHandler ?.let { list + it.holder { true } } ?: list + }, + statesManager + ) } fun <T : State> buildFSM(