I currently have the following code:
val writer: PrintWriter = ???
val linesObservable: Observable[String] = ???
val future: CancelableFuture[Unit] = linesObservable.foreach(writer.write)
writer.close()
My goal is to get rid of all side effects in the above snippet.
From a functional perspective, writer
should act as resource / bracket for future
.
Because I am using Monix version 3.0.0-RC2
, there is new bracket
methods available for Observable
and Task
(maybe even more classes), which could be what I'm looking for - but I don't quite see how yet.