Packages

object Pull extends PullLowPriority

Source
Pull.scala
Linear Supertypes
PullLowPriority, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Pull
  2. PullLowPriority
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. implicit final class IdOps[O] extends AnyVal

    Provides syntax for pure pulls based on cats.Id.

  2. final class PartiallyAppliedFromEither[F[_]] extends AnyRef
  3. trait Timed[F[_], O] extends AnyRef

    An abstraction for writing Pull computations that can timeout while reading from a Stream.

    An abstraction for writing Pull computations that can timeout while reading from a Stream.

    A Pull.Timed is not created or intepreted directly, but by calling Stream.ToPull.timed.

    yourStream.pull.timed(tp => ...).stream

    The argument to timed is a Pull.Timed[F, O] => Pull[F, O2, R] function, which describes the pulling logic and is often recursive, with shape:

    def go(timedPull: Pull.Timed[F, A]): Pull[F, B, Unit] =
      timedPull.uncons.flatMap {
        case Some((Right(chunk), next)) => doSomething >> go(next)
        case Some((Left(_), next)) => doSomethingElse >> go(next)
        case None => Pull.done
      }

    Where doSomething and doSomethingElse are Pull computations such as Pull.output, in addition to Pull.Timed.timeout.

    See below for detailed descriptions of timeout and uncons, and look at the Stream.ToPull.timed scaladoc for an example of usage.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def attemptEval[F[_], R](fr: F[R]): Pull[F, INothing, Either[Throwable, R]]

    Like eval but if the effectful value fails, the exception is returned in a Left instead of failing the pull.

  6. def bracketCase[F[_], O, A, B](acquire: Pull[F, O, A], use: (A) => Pull[F, O, B], release: (A, ExitCase) => Pull[F, O, Unit]): Pull[F, O, B]
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. val done: Pull[Pure, INothing, Unit]

    The completed Pull.

    The completed Pull. Reads and outputs nothing.

  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def eval[F[_], R](fr: F[R]): Pull[F, INothing, R]

    Evaluates the supplied effectful value and returns the result as the resource of the returned pull.

  12. def extendScopeTo[F[_], O](s: Stream[F, O])(implicit F: MonadError[F, Throwable]): Pull[F, INothing, Stream[F, O]]

    Extends the scope of the currently open resources to the specified stream, preventing them from being finalized until after s completes execution, even if the returned pull is converted to a stream, compiled, and evaluated before s is compiled and evaluated.

  13. def fromEither[F[x]]: PartiallyAppliedFromEither[F]

    Lifts an Either[Throwable, A] to an effectful Pull[F, A, Unit].

    Lifts an Either[Throwable, A] to an effectful Pull[F, A, Unit].

    Example:
    1. scala> import cats.effect.SyncIO, scala.util.Try
      scala> Pull.fromEither[SyncIO](Right(42)).stream.compile.toList.unsafeRunSync()
      res0: List[Int] = List(42)
      scala> Try(Pull.fromEither[SyncIO](Left(new RuntimeException)).stream.compile.toList.unsafeRunSync())
      res1: Try[List[INothing]] = Failure(java.lang.RuntimeException)
  14. implicit def functionKInstance[F[_]]: ~>[F, [γ$1$]Pull[F, INothing, γ$1$]]

    FunctionK instance for F ~> Pull[F, INothing, *]

    FunctionK instance for F ~> Pull[F, INothing, *]

    Example:
    1. scala> import cats.Id
      scala> Pull.functionKInstance[Id](42).flatMap(Pull.output1).stream.compile.toList
      res0: cats.Id[List[Int]] = List(42)
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. def loop[F[_], O, R](f: (R) => Pull[F, O, Option[R]]): (R) => Pull[F, O, Option[R]]

    Repeatedly uses the output of the pull as input for the next step of the pull.

    Repeatedly uses the output of the pull as input for the next step of the pull. Halts when a step terminates with None or Pull.raiseError.

  19. implicit def monadErrorInstance[F[_], O]: MonadError[[γ$3$]Pull[F, O, γ$3$], Throwable]
    Definition Classes
    PullLowPriority
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def output[F[x] >: Pure[x], O](os: Chunk[O]): Pull[F, O, Unit]

    Outputs a chunk of values.

  24. def output1[F[x] >: Pure[x], O](o: O): Pull[F, O, Unit]

    Outputs a single value.

  25. def pure[F[x] >: Pure[x], R](r: R): Pull[F, INothing, R]

    Pull that outputs nothing and has result of r.

  26. def raiseError[F[_]](err: Throwable)(implicit arg0: RaiseThrowable[F]): Pull[F, INothing, INothing]

    Reads and outputs nothing, and fails with the given error.

    Reads and outputs nothing, and fails with the given error.

    The F type must be explicitly provided (e.g., via raiseError[IO] or raiseError[Fallible]).

  27. def suspend[F[x] >: Pure[x], O, R](p: => Pull[F, O, R]): Pull[F, O, R]

    Returns a pull that evaluates the supplied by-name each time the pull is used, allowing use of a mutable value in pull computations.

  28. implicit def syncInstance[F[_], O](implicit arg0: Sync[F]): Sync[[γ$0$]Pull[F, O, γ$0$]]

    Sync instance for Pull.

  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from PullLowPriority

Inherited from AnyRef

Inherited from Any

Ungrouped