liminal
06/22/2022, 4:35 AMNick Allen
06/22/2022, 8:33 AMval eventResults = MutableSharedFlow<Result<Int>>(extraBufferCapacity = Int.MAX_VALUE)
val events = eventResults.map { it.getOrThrow() }
startCollecting(events)
eventResults.tryEmit(Result.success(5))
eventResults.tryEmit(Result.failure(Exception("Blah")))
or you could merge in a separate error flow
val items = MutableSharedFlow<Int>(extraBufferCapacity = Int.MAX_VALUE)
val error = CompletableDeferred<Int>()
val events = merge(items, error::await.asFlow())
startCollecting(events)
items.tryEmit(5)
error.completeExceptionally(Exception("Blah"))
liminal
06/22/2022, 10:57 AM