Packages

trait FutureLift[F[_], Future[_]] extends ~>[[γ$0$]F[Future[γ$0$]], F]

A type class for conversions from scala.concurrent.Future or other Future-like data type (e.g. Java's CompletableFuture).

N.B. to use its syntax, you can import monix.catnap.syntax:

import monix.catnap.syntax._
import scala.concurrent.Future
// Used here only for Future.apply as the ExecutionContext
import monix.execution.Scheduler.Implicits.global
// Can use any data type implementing Async or Concurrent
import cats.effect.IO

val io = IO(Future(1 + 1)).futureLift

IO provides its own IO.fromFuture of course, however FutureLift is generic and works with CancelableFuture as well.

import monix.execution.{CancelableFuture, Scheduler, FutureUtils}
import scala.concurrent.Promise
import scala.concurrent.duration._
import scala.util.Try

def delayed[A](event: => A)(implicit s: Scheduler): CancelableFuture[A] = {
  val p = Promise[A]()
  val c = s.scheduleOnce(1.second) { p.complete(Try(event)) }
  CancelableFuture(p.future, c)
}

// The result will be cancelable:
val sum: IO[Int] = IO(delayed(1 + 1)).futureLift
Source
FutureLift.scala
Linear Supertypes
FunctionK[[γ$0$]F[Future[γ$0$]], F], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FutureLift
  2. FunctionK
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def apply[A](fa: F[Future[A]]): F[A]
    Definition Classes
    FutureLift → FunctionK

Concrete Value Members

  1. def and[H[_]](h: FunctionK[[γ$0$]F[Future[γ$0$]], H]): FunctionK[[γ$0$]F[Future[γ$0$]], [γ$2$]Tuple2K[F, H, γ$2$]]
    Definition Classes
    FunctionK
  2. def andThen[H[_]](f: FunctionK[F, H]): FunctionK[[γ$0$]F[Future[γ$0$]], H]
    Definition Classes
    FunctionK
  3. def compose[E[_]](f: FunctionK[E, [γ$0$]F[Future[γ$0$]]]): FunctionK[E, F]
    Definition Classes
    FunctionK
  4. def narrow[F0[x] <: F[Future[x]]]: FunctionK[F0, F]
    Definition Classes
    FunctionK
  5. def or[H[_]](h: FunctionK[H, F]): FunctionK[[γ$0$]EitherK[[γ$0$]F[Future[γ$0$]], H, γ$0$], F]
    Definition Classes
    FunctionK
  6. def widen[G0[x] >: F[x]]: FunctionK[[γ$0$]F[Future[γ$0$]], G0]
    Definition Classes
    FunctionK