From 40288a1aaddfc27e141771371d69122ce222a8d0 Mon Sep 17 00:00:00 2001 From: Sam Guymer Date: Thu, 17 May 2018 20:07:04 +1000 Subject: Extract MonadAsyncError implementations Extract MonadAsyncError implementations into their own projects to allow reuse by multiple backends. --- .../sttp/testing/streaming/ConvertToFuture.scala | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 core/src/test/scala/com/softwaremill/sttp/testing/streaming/ConvertToFuture.scala (limited to 'core/src/test/scala/com/softwaremill/sttp/testing/streaming/ConvertToFuture.scala') diff --git a/core/src/test/scala/com/softwaremill/sttp/testing/streaming/ConvertToFuture.scala b/core/src/test/scala/com/softwaremill/sttp/testing/streaming/ConvertToFuture.scala new file mode 100644 index 0000000..9438890 --- /dev/null +++ b/core/src/test/scala/com/softwaremill/sttp/testing/streaming/ConvertToFuture.scala @@ -0,0 +1,26 @@ +package com.softwaremill.sttp.testing.streaming + +import com.softwaremill.sttp.Id +import scala.concurrent.Future +import scala.language.higherKinds +import scala.util.Try + +trait ConvertToFuture[R[_]] { + def toFuture[T](value: R[T]): Future[T] +} + +object ConvertToFuture { + + val id: ConvertToFuture[Id] = new ConvertToFuture[Id] { + override def toFuture[T](value: Id[T]): Future[T] = + Future.successful(value) + } + + val future: ConvertToFuture[Future] = new ConvertToFuture[Future] { + override def toFuture[T](value: Future[T]): Future[T] = value + } + + val scalaTry: ConvertToFuture[Try] = new ConvertToFuture[Try] { + override def toFuture[T](value: Try[T]): Future[T] = Future.fromTry(value) + } +} -- cgit v1.2.3