package dev.inmo.micro_utils.coroutines.compose import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow fun Flow.toMutableState( initial: T, scope: CoroutineScope ): MutableState { val state = mutableStateOf(initial) subscribeSafelyWithoutExceptions(scope) { state.value = it } return state } @Suppress("NOTHING_TO_INLINE") inline fun StateFlow.toMutableState( scope: CoroutineScope ): MutableState = toMutableState(value, scope)