Vaibhav Jaiswal
Arkadii Ivanov
fun <T : Any> Value<T>.toStateFlow(): StateFlow<T> = ValueStateFlow(this) private class ValueStateFlow<out T : Any>(private val source: Value<T>) : StateFlow<T> { override val value: T get() = source.value override val replayCache: List<T> get() = listOf(source.value) override suspend fun collect(collector: FlowCollector<T>): Nothing { val flow = MutableStateFlow(source.value) val disposable = source.observe { flow.value = it } try { flow.collect(collector) } finally { disposable.cancel() } } }
Djuro
A modern programming language that makes developers happier.