Packages

trait ZStream[-R, +E, +A] extends Serializable

A Stream[E, A] represents an effectful stream that can produce values of type A, or potentially fail with a value of type E.

Streams have a very similar API to Scala collections, making them immediately familiar to most developers. Unlike Scala collections, streams can be used on effectful streams of data, such as HTTP connections, files, and so forth.

Streams do not leak resources. This guarantee holds in the presence of early termination (not all of a stream is consumed), failure, or even interruption.

Thanks to only first-order types, appropriate variance annotations, and specialized effect type (ZIO), streams feature extremely good type inference and should almost never require specification of any type parameters.

Self Type
ZStream[R, E, A]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZStream
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def fold[R1 <: R, E1 >: E, A1 >: A, S]: Fold[R1, E1, A1, S]

    Executes an effectful fold over the stream of values.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ++[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1]): ZStream[R1, E1, A1]

    Concatenates the specified stream to this stream.

  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. def collect[B](pf: PartialFunction[A, B]): ZStream[R, E, B]

    Performs a filter and map in a single step.

  8. final def drain: ZStream[R, E, Nothing]

    Converts this stream to a stream that executes its effects but emits no elements.

    Converts this stream to a stream that executes its effects but emits no elements. Useful for sequencing effects using streams:

    (Stream(1, 2, 3).tap(i => ZIO(println(i))) ++
      Stream.lift(ZIO(println("Done!"))).drain ++
      Stream(4, 5, 6).tap(i => ZIO(println(i)))).run(Sink.drain)
  9. final def drop(n: Int): ZStream[R, E, A]

    Drops the specified number of elements from this stream.

  10. def dropWhile(pred: (A) ⇒ Boolean): ZStream[R, E, A]

    Drops all elements of the stream for as long as the specified predicate evaluates to true.

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def filter(pred: (A) ⇒ Boolean): ZStream[R, E, A]

    Filters this stream by the specified predicate, retaining all elements for which the predicate evaluates to true.

  14. final def filterM[R1 <: R, E1 >: E](pred: (A) ⇒ ZIO[R1, E1, Boolean]): ZStream[R1, E1, A]

    Filters this stream by the specified effectful predicate, retaining all elements for which the predicate evaluates to true.

  15. final def filterNot(pred: (A) ⇒ Boolean): ZStream[R, E, A]

    Filters this stream by the specified predicate, removing all elements for which the predicate evaluates to true.

  16. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def flatMap[R1 <: R, E1 >: E, B](f: (A) ⇒ ZStream[R1, E1, B]): ZStream[R1, E1, B]

    Maps each element of this stream to another stream, and returns the concatenation of those streams.

  18. def foldLeft[A1 >: A, S](s: S)(f: (S, A1) ⇒ S): ZIO[R, E, S]
  19. final def foreach[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Unit]): ZIO[R1, E1, Unit]

    Consumes all elements of the stream, passing them to the specified callback.

  20. final def foreachWhile[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Boolean]): ZIO[R1, E1, Unit]

    Consumes elements of the stream, passing them to the specified callback, and terminating consumption when the callback returns false.

  21. def forever: ZStream[R, E, A]

    Repeats this stream forever.

  22. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. def map[B](f: (A) ⇒ B): ZStream[R, E, B]

    Maps over elements of the stream with the specified function.

  26. def mapAccum[S1, B](s1: S1)(f1: (S1, A) ⇒ (S1, B)): ZStream[R, E, B]

    Statefully maps over the elements of this stream to produce new elements.

  27. final def mapAccumM[E1 >: E, S1, B](s1: S1)(f1: (S1, A) ⇒ IO[E1, (S1, B)]): ZStream[R, E1, B]

    Statefully and effectfully maps over the elements of this stream to produce new elements.

  28. def mapConcat[B](f: (A) ⇒ Chunk[B]): ZStream[R, E, B]

    Maps each element to a chunk, and flattens the chunks into the output of this stream.

  29. final def mapM[R1 <: R, E1 >: E, B](f: (A) ⇒ ZIO[R1, E1, B]): ZStream[R1, E1, B]

    Maps over elements of the stream with the specified effectful function.

  30. final def merge[R1 <: R, E1 >: E, A1 >: A](that: ZStream[R1, E1, A1], capacity: Int = 1): ZStream[R1, E1, A1]

    Merges this stream and the specified stream together.

  31. final def mergeEither[R1 <: R, E1 >: E, B](that: ZStream[R1, E1, B], capacity: Int = 1): ZStream[R1, E1, Either[A, B]]

    Merges this stream and the specified stream together to produce a stream of eithers.

  32. final def mergeWith[R1 <: R, E1 >: E, B, C](that: ZStream[R1, E1, B], capacity: Int = 1)(l: (A) ⇒ C, r: (B) ⇒ C): ZStream[R1, E1, C]

    Merges this stream and the specified stream together to a common element type with the specified mapping functions.

  33. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  36. final def peel[R1 <: R, E1 >: E, A1 >: A, B](sink: ZSink[R1, E1, A1, A1, B]): ZManaged[R1, E1, (B, ZStream[R1, E1, A1])]

    Peels off enough material from the stream to construct an R using the provided Sink, and then returns both the R and the remainder of the Stream in a managed resource.

    Peels off enough material from the stream to construct an R using the provided Sink, and then returns both the R and the remainder of the Stream in a managed resource. Like all Managed resources, the provided remainder is valid only within the scope of Managed.

  37. def repeat[R1 <: R](schedule: ZSchedule[R1, Unit, _]): ZStream[R1 with Clock, E, A]

    Repeats the entire stream using the specified schedule.

    Repeats the entire stream using the specified schedule. The stream will execute normally, and then repeat again according to the provided schedule.

  38. def repeatElems[R1 <: R, B](schedule: ZSchedule[R1, A, B]): ZStream[R1 with Clock, E, A]

    Repeats elements of the stream using the provided schedule.

  39. def run[R1 <: R, E1 >: E, A0, A1 >: A, B](sink: ZSink[R1, E1, A0, A1, B]): ZIO[R1, E1, B]

    Runs the sink on the stream to produce either the sink's result or an error.

  40. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  41. final def take(n: Int): ZStream[R, E, A]

    Takes the specified number of elements from this stream.

  42. def takeWhile(pred: (A) ⇒ Boolean): ZStream[R, E, A]

    Takes all elements of the stream for as long as the specified predicate evaluates to true.

  43. final def tap[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, _]): ZStream[R1, E1, A]

    Adds an effect to consumption of every element of the stream.

  44. final def toQueue[E1 >: E, A1 >: A](capacity: Int = 1): ZManaged[R, Nothing, Queue[Take[E1, A1]]]

    Converts the stream to a managed queue.

    Converts the stream to a managed queue. After managed queue is used, the queue will never again produce values and should be discarded.

  45. def toString(): String
    Definition Classes
    AnyRef → Any
  46. final def transduce[R1 <: R, E1 >: E, A1 >: A, C](sink: ZSink[R1, E1, A1, A1, C]): ZStream[R1, E1, C]

    Applies a transducer to the stream, which converts one or more elements of type A into elements of type C.

  47. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  50. final def zip[R1 <: R, E1 >: E, B](that: ZStream[R1, E1, B], lc: Int = 1, rc: Int = 1): ZStream[R1, E1, (A, B)]

    Zips this stream together with the specified stream.

  51. final def zipWith[R1 <: R, E1 >: E, B, C](that: ZStream[R1, E1, B], lc: Int = 1, rc: Int = 1)(f: (Option[A], Option[B]) ⇒ Option[C]): ZStream[R1, E1, C]

    Zips two streams together with a specified function.

  52. def zipWithIndex: ZStream[R, E, (A, Int)]

    Zips this stream together with the index of elements of the stream.

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped