Paul Woitaschek
10/01/2022, 8:58 AM@Composable
private fun <T> suspendingGet(default: T, get: suspend () -> T): T {
var value by remember { mutableStateOf(default) }
LaunchedEffect(Unit) {
value = get()
}
return value
}
Oleksandr Balan
10/01/2022, 9:26 AMproduceState
👍
@Composable
fun <T> produceState(
initialValue: T,
@BuilderInference producer: suspend ProduceStateScope<T>.() -> Unit
): State<T> {
val result = remember { mutableStateOf(initialValue) }
LaunchedEffect(Unit) {
ProduceStateScopeImpl(result, coroutineContext).producer()
}
return result
}