blob: 27b47597cd9276341a2193376914c243f888fbd9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package com.softwaremill.sttp.impl
import com.softwaremill.sttp.testing.ConvertToFuture
import _root_.scalaz.concurrent.Task
import _root_.scalaz.{-\/, \/-}
import scala.concurrent.{Future, Promise}
import scala.util.{Failure, Success}
package object scalaz {
val convertScalazTaskToFuture: 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
}
}
}
|