diff --git a/src/main/scala/outwatchapp/util/IOUtils.scala b/src/main/scala/outwatchapp/util/IOUtils.scala new file mode 100644 index 0000000..351ed40 --- /dev/null +++ b/src/main/scala/outwatchapp/util/IOUtils.scala @@ -0,0 +1,21 @@ +package outwatchapp.util + +import cats.arrow.FunctionK +import monix.bio.IO + +object IOUtils { + def toIO[T](task: monix.eval.Task[T]) = + IO.deferAction(implicit s => IO.from(task)) + + def toTask[T](bio: monix.bio.IO[Throwable, T]) = + monix.eval.Task.deferAction(implicit s => bio.to[monix.eval.Task]) + + val ioTaskMapk = + new FunctionK[monix.eval.Task, monix.bio.Task] { + + override def apply[A]( + fa: monix.eval.Task[A] + ): monix.bio.Task[A] = toIO(fa) + + } +}