on Enter Start State Machine
fun <SubStateMachineState : Any> onEnterStartStateMachine(stateMachine: StateMachine<SubStateMachineState, A>, stateMapper: (State<InputState>, SubStateMachineState) -> ChangedState<S> = { _, subState ->
@Suppress("UNCHECKED_CAST")
OverrideState(subState as S)
})
fun <SubStateMachineState : Any> onEnterStartStateMachine(stateMachineFactory: (InputState) -> StateMachine<SubStateMachineState, A>, stateMapper: (State<InputState>, SubStateMachineState) -> ChangedState<S> = { _, subState ->
@Suppress("UNCHECKED_CAST")
OverrideState(subState as S)
})
fun <SubStateMachineState : Any, SubStateMachineAction : Any> onEnterStartStateMachine(stateMachine: StateMachine<SubStateMachineState, SubStateMachineAction>, actionMapper: (A) -> SubStateMachineAction?, stateMapper: (State<InputState>, SubStateMachineState) -> ChangedState<S> = { _, subState ->
@Suppress("UNCHECKED_CAST")
OverrideState(subState as S)
})
fun <SubStateMachineState : Any, SubStateMachineAction : Any> onEnterStartStateMachine(stateMachineFactory: (InputState) -> StateMachine<SubStateMachineState, SubStateMachineAction>, actionMapper: (A) -> SubStateMachineAction?, stateMapper: (State<InputState>, SubStateMachineState) -> ChangedState<S> = { _, subState ->
@Suppress("UNCHECKED_CAST")
OverrideState(subState as S)
})