tseisel
map
sealed class Request<T> { object Pending : Request<Nothing>() class Success<T>(val result: T) : Request<T>() class Failure(val error: Throwable) : Request<Nothing>() } val sourceFlow: Flow<Foo> = getFooFlow() sourceFlow.map { Request.Success(it) as Request<Foo> } .onStart { emit(Request.Pending) } .catch { emit(Request.Failure(it) } .onEach { ... } .launchIn(scope)
Stephan Schroeder
sourceFlow.map { Request.Success(it) }
onStart
Request.Pending
Request.Success
A modern programming language that makes developers happier.