diff options
Diffstat (limited to 'cask/src/cask/internal/Util.scala')
-rw-r--r-- | cask/src/cask/internal/Util.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cask/src/cask/internal/Util.scala b/cask/src/cask/internal/Util.scala index 3f7ab61..87e2a15 100644 --- a/cask/src/cask/internal/Util.scala +++ b/cask/src/cask/internal/Util.scala @@ -7,9 +7,14 @@ import scala.collection.mutable import java.io.OutputStream import scala.annotation.switch +import scala.concurrent.{ExecutionContext, Future, Promise} object Util { - + def firstFutureOf[T](futures: Seq[Future[T]])(implicit ec: ExecutionContext) = { + val p = Promise[T] + futures.foreach(_.foreach(p.trySuccess)) + p.future + } /** * Convert a string to a C&P-able literal. Basically * copied verbatim from the uPickle source code. |