blob: 72dbf315d2dc1b9512fb7f327f99877e6311a0a9 (
plain) (
tree)
|
|
package com.softwaremill.sttp.impl
import com.softwaremill.sttp.testing.streaming.ConvertToFuture
import _root_.scalaz.concurrent.Task
import _root_.scalaz.{-\/, \/-}
import scala.concurrent.{Future, Promise}
import scala.util.{Failure, Success}
package object scalaz {
val convertToFuture: ConvertToFuture[Task] = new ConvertToFuture[Task] {
// from https://github.com/Verizon/delorean
override def toFuture[T](value: Task[T]): Future[T] = {
val p = Promise[T]()
value.unsafePerformAsync {
case \/-(a) => p.complete(Success(a)); ()
case -\/(t) => p.complete(Failure(t)); ()
}
p.future
}
}
}
|