Arjan van Wieringen
06/04/2022, 9:17 AMclass AppViewModel(val someExternalStateFlow: StateFlow<Something>, val scope: CoroutineScope) {
private var _state = mutableStateOf(someExternalStateFlow.current)
val state: Something by _state
init {
someExternalStateFlow.onEach { _state.value = it }.launchIn(scope)
}
}
Something like this:
fun <T> StateFlow<T>.collectAsState(scope: CoroutineScope): State<T> {
val state = mutableStateOf(this.value)
this.onEach { update ->
state.value = update
}.launchIn(scope)
return state
}
Zach Klippenstein (he/him) [MOD]
06/06/2022, 12:46 AMArjan van Wieringen
06/06/2022, 6:03 AM