Class/Object

zio.stream

ZStream

Related Docs: object ZStream | package stream

Permalink

final class ZStream[-R, +E, +A] extends AnyRef

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

Value Members

  1. def !(implicit ev1: <:<[E, Throwable], ev2: CanFail[E], trace: Trace): ZStream[R, Nothing, A]

    Permalink

    A symbolic alias for orDie.

  2. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  4. def &>[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Symbolic alias for ZStream#zipRight.

  5. def *>[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Symbolic alias for ZStream#crossRight.

  6. def ++[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Symbolic alias for ZStream#concat.

  7. def <&[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Symbolic alias for ZStream#zipLeft.

  8. def <&>[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit zippable: Zippable[A, A2], trace: Trace): ZStream[R1, E1, Out]

    Permalink

    Symbolic alias for ZStream#zip.

  9. def <*[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Symbolic alias for ZStream#crossLeft.

  10. def <*>[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit zippable: Zippable[A, A2], trace: Trace): ZStream[R1, E1, Out]

    Permalink

    Symbolic alias for ZStream#cross.

  11. def <>[R1 <: R, E2, A1 >: A](that: ⇒ ZStream[R1, E2, A1])(implicit ev: CanFail[E], trace: Trace): ZStream[R1, E2, A1]

    Permalink

    Symbolic alias for ZStream#orElse.

  12. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def >>>[R1 <: R, E1 >: E, A2 >: A, Z](sink: ⇒ ZSink[R1, E1, A2, Any, Z])(implicit trace: Trace): ZIO[R1, E1, Z]

    Permalink

    Symbolic alias for zio.stream.ZStream!.run[R1<:R,E1>:E,B]*.

  14. def >>>[R1 <: R, E1 >: E, B](pipeline: ⇒ ZPipeline[R1, E1, A, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Symbolic alias for ZStream#via.

  15. def @@[LowerR <: UpperR, UpperR <: R, LowerE >: E, UpperE >: LowerE, LowerA >: A, UpperA >: LowerA](aspect: ⇒ ZStreamAspect[LowerR, UpperR, LowerE, UpperE, LowerA, UpperA])(implicit trace: Trace): ZStream[UpperR, LowerE, LowerA]

    Permalink

    Returns a new ZStream that applies the specified aspect to this ZStream.

    Returns a new ZStream that applies the specified aspect to this ZStream. Aspects are "transformers" that modify the behavior of their input in some well-defined way (for example, adding a timeout).

  16. def absolve[R1 <: R, E1, A1](implicit ev: <:<[ZStream[R, E, A], ZStream[R1, E1, Either[E1, A1]]], trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Returns a stream that submerges the error case of an Either into the ZStream.

  17. def aggregateAsync[R1 <: R, E1 >: E, A1 >: A, B](sink: ⇒ ZSink[R1, E1, A1, A1, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Aggregates elements of this stream using the provided sink for as long as the downstream operators on the stream are busy.

    Aggregates elements of this stream using the provided sink for as long as the downstream operators on the stream are busy.

    This operator divides the stream into two asynchronous "islands". Operators upstream of this operator run on one fiber, while downstream operators run on another. Whenever the downstream fiber is busy processing elements, the upstream fiber will feed elements into the sink until it signals completion.

    Any sink can be used here, but see ZSink.foldWeightedZIO and ZSink.foldUntilZIO for sinks that cover the common usecases.

  18. def aggregateAsyncWithin[R1 <: R, E1 >: E, A1 >: A, B](sink: ⇒ ZSink[R1, E1, A1, A1, B], schedule: ⇒ Schedule[R1, Option[B], Any])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Like aggregateAsyncWithinEither, but only returns the Right results.

    Like aggregateAsyncWithinEither, but only returns the Right results.

    sink

    used for the aggregation

    schedule

    signalling for when to stop the aggregation

    returns

    ZStream[R1, E2, B]

  19. def aggregateAsyncWithinEither[R1 <: R, E1 >: E, A1 >: A, B, C](sink: ⇒ ZSink[R1, E1, A1, A1, B], schedule: ⇒ Schedule[R1, Option[B], C])(implicit trace: Trace): ZStream[R1, E1, Either[C, B]]

    Permalink

    Aggregates elements using the provided sink until it completes, or until the delay signalled by the schedule has passed.

    Aggregates elements using the provided sink until it completes, or until the delay signalled by the schedule has passed.

    This operator divides the stream into two asynchronous islands. Operators upstream of this operator run on one fiber, while downstream operators run on another. Elements will be aggregated by the sink until the downstream fiber pulls the aggregated value, or until the schedule's delay has passed.

    Aggregated elements will be fed into the schedule to determine the delays between pulls.

    sink

    used for the aggregation

    schedule

    signalling for when to stop the aggregation

    returns

    ZStream[R1, E2, Either[C, B]]

  20. def as[A2](A2: ⇒ A2)(implicit trace: Trace): ZStream[R, E, A2]

    Permalink

    Maps the success values of this stream to the specified constant value.

  21. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  22. def broadcast(n: ⇒ Int, maximumLag: ⇒ Int)(implicit trace: Trace): ZIO[R with Scope, Nothing, Chunk[ZStream[Any, E, A]]]

    Permalink

    Fan out the stream, producing a list of streams that have the same elements as this stream.

    Fan out the stream, producing a list of streams that have the same elements as this stream. The driver stream will only ever advance the maximumLag chunks before the slowest downstream stream.

  23. def broadcastDynamic(maximumLag: ⇒ Int)(implicit trace: Trace): ZIO[R with Scope, Nothing, ZStream[Any, E, A]]

    Permalink

    Fan out the stream, producing a dynamic number of streams that have the same elements as this stream.

    Fan out the stream, producing a dynamic number of streams that have the same elements as this stream. The driver stream will only ever advance the maximumLag chunks before the slowest downstream stream.

  24. def broadcastedQueues(n: ⇒ Int, maximumLag: ⇒ Int)(implicit trace: Trace): ZIO[R with Scope, Nothing, Chunk[Dequeue[Take[E, A]]]]

    Permalink

    Converts the stream to a scoped list of queues.

    Converts the stream to a scoped list of queues. Every value will be replicated to every queue with the slowest queue being allowed to buffer maximumLag chunks before the driver is back pressured.

    Queues can unsubscribe from upstream by shutting down.

  25. def broadcastedQueuesDynamic(maximumLag: ⇒ Int)(implicit trace: Trace): ZIO[R with Scope, Nothing, ZIO[Scope, Nothing, Dequeue[Take[E, A]]]]

    Permalink

    Converts the stream to a scoped dynamic amount of queues.

    Converts the stream to a scoped dynamic amount of queues. Every chunk will be replicated to every queue with the slowest queue being allowed to buffer maximumLag chunks before the driver is back pressured.

    Queues can unsubscribe from upstream by shutting down.

  26. def buffer(capacity: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity elements in a queue.

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity elements in a queue.

    Note

    Prefer capacities that are powers of 2 for better performance.

    ,

    This combinator destroys the chunking structure. It's recommended to use rechunk afterwards.

  27. def bufferChunks(capacity: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity chunks in a queue.

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity chunks in a queue.

    Note

    Prefer capacities that are powers of 2 for better performance.

  28. def bufferChunksDropping(capacity: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity chunks in a dropping queue.

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity chunks in a dropping queue.

    Note

    Prefer capacities that are powers of 2 for better performance.

  29. def bufferChunksSliding(capacity: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity chunks in a sliding queue.

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity chunks in a sliding queue.

    Note

    Prefer capacities that are powers of 2 for better performance.

  30. def bufferDropping(capacity: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity elements in a dropping queue.

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity elements in a dropping queue.

    Note

    Prefer capacities that are powers of 2 for better performance.

    ,

    This combinator destroys the chunking structure. It's recommended to use rechunk afterwards.

  31. def bufferSliding(capacity: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity elements in a sliding queue.

    Allows a faster producer to progress independently of a slower consumer by buffering up to capacity elements in a sliding queue.

    Note

    Prefer capacities that are powers of 2 for better performance.

    ,

    This combinator destroys the chunking structure. It's recommended to use rechunk afterwards.

  32. def bufferUnbounded(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Allows a faster producer to progress independently of a slower consumer by buffering chunks into an unbounded queue.

  33. def catchAll[R1 <: R, E2, A1 >: A](f: (E) ⇒ ZStream[R1, E2, A1])(implicit ev: CanFail[E], trace: Trace): ZStream[R1, E2, A1]

    Permalink

    Switches over to the stream produced by the provided function in case this one fails with a typed error.

  34. def catchAllCause[R1 <: R, E2, A1 >: A](f: (Cause[E]) ⇒ ZStream[R1, E2, A1])(implicit trace: Trace): ZStream[R1, E2, A1]

    Permalink

    Switches over to the stream produced by the provided function in case this one fails.

    Switches over to the stream produced by the provided function in case this one fails. Allows recovery from all causes of failure, including interruption if the stream is uninterruptible.

  35. def catchSome[R1 <: R, E1 >: E, A1 >: A](pf: PartialFunction[E, ZStream[R1, E1, A1]])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Switches over to the stream produced by the provided function in case this one fails with some typed error.

  36. def catchSomeCause[R1 <: R, E1 >: E, A1 >: A](pf: PartialFunction[Cause[E], ZStream[R1, E1, A1]])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Switches over to the stream produced by the provided function in case this one fails with some errors.

    Switches over to the stream produced by the provided function in case this one fails with some errors. Allows recovery from all causes of failure, including interruption if the stream is uninterruptible.

  37. def changes(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Returns a new stream that only emits elements that are not equal to the previous element emitted, using natural equality to determine whether two elements are equal.

  38. def changesWith(f: (A, A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Returns a new stream that only emits elements that are not equal to the previous element emitted, using the specified function to determine whether two elements are equal.

  39. def changesWithZIO[R1 <: R, E1 >: E](f: (A, A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Returns a new stream that only emits elements that are not equal to the previous element emitted, using the specified effectual function to determine whether two elements are equal.

  40. val channel: ZChannel[R, Any, Any, Any, E, Chunk[A], Any]

    Permalink
  41. def chunks(implicit trace: Trace): ZStream[R, E, Chunk[A]]

    Permalink

    Exposes the underlying chunks of the stream as a stream of chunks of elements.

  42. def chunksWith[R1, E1, A1](f: (ZStream[R, E, Chunk[A]]) ⇒ ZStream[R1, E1, Chunk[A1]])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Performs the specified stream transformation with the chunk structure of the stream exposed.

  43. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. def collect[B](f: PartialFunction[A, B])(implicit trace: Trace): ZStream[R, E, B]

    Permalink

    Performs a filter and map in a single step.

  45. def collectLeft[L1, A1](implicit ev: <:<[A, Either[L1, A1]], trace: Trace): ZStream[R, E, L1]

    Permalink

    Filters any Right values.

  46. def collectRight[L1, A1](implicit ev: <:<[A, Either[L1, A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Filters any Left values.

  47. def collectSome[A1](implicit ev: <:<[A, Option[A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Filters any 'None' values.

  48. def collectSuccess[L1, A1](implicit ev: <:<[A, Exit[L1, A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Filters any Exit.Failure values.

  49. def collectWhile[A1](pf: PartialFunction[A, A1])(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

    Transforms all elements of the stream for as long as the specified partial function is defined.

  50. def collectWhileLeft[L1, A1](implicit ev: <:<[A, Either[L1, A1]], trace: Trace): ZStream[R, E, L1]

    Permalink

    Terminates the stream when encountering the first Right.

  51. def collectWhileRight[L1, A1](implicit ev: <:<[A, Either[L1, A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Terminates the stream when encountering the first Left.

  52. def collectWhileSome[A1](implicit ev: <:<[A, Option[A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Terminates the stream when encountering the first None.

  53. def collectWhileSuccess[L1, A1](implicit ev: <:<[A, Exit[L1, A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Terminates the stream when encountering the first Exit.Failure.

  54. def collectWhileZIO[R1 <: R, E1 >: E, A1](pf: PartialFunction[A, ZIO[R1, E1, A1]])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Effectfully transforms all elements of the stream for as long as the specified partial function is defined.

  55. def collectZIO[R1 <: R, E1 >: E, A1](pf: PartialFunction[A, ZIO[R1, E1, A1]])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Performs an effectful filter and map in a single step.

  56. def combine[R1 <: R, E1 >: E, S, A2, A3](that: ⇒ ZStream[R1, E1, A2])(s: ⇒ S)(f: (S, ZIO[R, Option[E], A], ZIO[R1, Option[E1], A2]) ⇒ ZIO[R1, Nothing, Exit[Option[E1], (A3, S)]])(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Combines the elements from this stream and the specified stream by repeatedly applying the function f to extract an element using both sides and conceptually "offer" it to the destination stream.

    Combines the elements from this stream and the specified stream by repeatedly applying the function f to extract an element using both sides and conceptually "offer" it to the destination stream. f can maintain some internal state to control the combining process, with the initial state being specified by s.

    Where possible, prefer ZStream#combineChunks for a more efficient implementation.

  57. def combineChunks[R1 <: R, E1 >: E, S, A2, A3](that: ⇒ ZStream[R1, E1, A2])(s: ⇒ S)(f: (S, ZIO[R, Option[E], Chunk[A]], ZIO[R1, Option[E1], Chunk[A2]]) ⇒ ZIO[R1, Nothing, Exit[Option[E1], (Chunk[A3], S)]])(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Combines the chunks from this stream and the specified stream by repeatedly applying the function f to extract a chunk using both sides and conceptually "offer" it to the destination stream.

    Combines the chunks from this stream and the specified stream by repeatedly applying the function f to extract a chunk using both sides and conceptually "offer" it to the destination stream. f can maintain some internal state to control the combining process, with the initial state being specified by s.

  58. def concat[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Concatenates the specified stream with this stream, resulting in a stream that emits the elements from this stream and then the elements from the specified stream.

  59. def cross[R1 <: R, E1 >: E, B](that: ⇒ ZStream[R1, E1, B])(implicit zippable: Zippable[A, B], trace: Trace): ZStream[R1, E1, Out]

    Permalink

    Composes this stream with the specified stream to create a cartesian product of elements.

    Composes this stream with the specified stream to create a cartesian product of elements. The that stream would be run multiple times, for every element in the this stream.

    See also ZStream#zip and ZStream#<&> for the more common point-wise variant.

  60. def crossLeft[R1 <: R, E1 >: E, B](that: ⇒ ZStream[R1, E1, B])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Composes this stream with the specified stream to create a cartesian product of elements, but keeps only elements from this stream.

    Composes this stream with the specified stream to create a cartesian product of elements, but keeps only elements from this stream. The that stream would be run multiple times, for every element in the this stream.

    See also ZStream#zip and ZStream#<&> for the more common point-wise variant.

  61. def crossRight[R1 <: R, E1 >: E, B](that: ⇒ ZStream[R1, E1, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Composes this stream with the specified stream to create a cartesian product of elements, but keeps only elements from the other stream.

    Composes this stream with the specified stream to create a cartesian product of elements, but keeps only elements from the other stream. The that stream would be run multiple times, for every element in the this stream.

    See also ZStream#zip and ZStream#<&> for the more common point-wise variant.

  62. def crossWith[R1 <: R, E1 >: E, A2, C](that: ⇒ ZStream[R1, E1, A2])(f: (A, A2) ⇒ C)(implicit trace: Trace): ZStream[R1, E1, C]

    Permalink

    Composes this stream with the specified stream to create a cartesian product of elements with a specified function.

    Composes this stream with the specified stream to create a cartesian product of elements with a specified function. The that stream would be run multiple times, for every element in the this stream.

    See also ZStream#zip and ZStream#<&> for the more common point-wise variant.

  63. def debounce(d: ⇒ zio.Duration)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Delays the emission of values by holding new values for a set duration.

    Delays the emission of values by holding new values for a set duration. If no new values arrive during that time the value is emitted, however if a new value is received during the holding period the previous value is discarded and the process is repeated with the new value.

    This operator is useful if you have a stream of "bursty" events which eventually settle down and you only need the final event of the burst.

    Example:
    1. A search engine may only want to initiate a search after a user has paused typing so as to not prematurely recommend results.

  64. def debug(label: String)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Taps the stream, printing the result of calling .toString on the emitted values.

    Taps the stream, printing the result of calling .toString on the emitted values. Prefixes the output with the given label.

  65. def debug(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Taps the stream, printing the result of calling .toString on the emitted values.

  66. def distributedWith[E1 >: E](n: ⇒ Int, maximumLag: ⇒ Int, decide: (A) ⇒ UIO[(Int) ⇒ Boolean])(implicit trace: Trace): ZIO[R with Scope, Nothing, List[Dequeue[Exit[Option[E1], A]]]]

    Permalink

    More powerful version of ZStream#broadcast.

    More powerful version of ZStream#broadcast. Allows to provide a function that determines what queues should receive which elements. The decide function will receive the indices of the queues in the resulting list.

  67. def distributedWithDynamic(maximumLag: ⇒ Int, decide: (A) ⇒ UIO[(UniqueKey) ⇒ Boolean], done: (Exit[Option[E], Nothing]) ⇒ UIO[Any] = (_: Any) => ZIO.unit)(implicit trace: Trace): ZIO[R with Scope, Nothing, UIO[(UniqueKey, Dequeue[Exit[Option[E], A]])]]

    Permalink

    More powerful version of ZStream#distributedWith.

    More powerful version of ZStream#distributedWith. This returns a function that will produce new queues and corresponding indices. You can also provide a function that will be executed after the final events are enqueued in all queues. Shutdown of the queues is handled by the driver. Downstream users can also shutdown queues manually. In this case the driver will continue but no longer backpressure on them.

  68. def drain(implicit trace: Trace): ZStream[R, E, Nothing]

    Permalink

    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.fromZIO(ZIO(println("Done!"))).drain ++
      Stream(4, 5, 6).tap(i => ZIO(println(i)))).run(Sink.drain)
  69. def drainFork[R1 <: R, E1 >: E](other: ⇒ ZStream[R1, E1, Any])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Drains the provided stream in the background for as long as this stream is running.

    Drains the provided stream in the background for as long as this stream is running. If this stream ends before other, other will be interrupted. If other fails, this stream will fail with that error.

  70. def drop(n: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Drops the specified number of elements from this stream.

  71. def dropRight(n: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Drops the last specified number of elements from this stream.

    Drops the last specified number of elements from this stream.

    Note

    This combinator keeps n elements in memory. Be careful with big numbers.

  72. def dropUntil(pred: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Drops all elements of the stream until the specified predicate evaluates to true.

  73. def dropWhile(f: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

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

  74. def dropWhileZIO[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Drops all elements of the stream for as long as the specified predicate produces an effect that evalutates to true

    Drops all elements of the stream for as long as the specified predicate produces an effect that evalutates to true

    See also

    dropWhile

  75. def either(implicit ev: CanFail[E], trace: Trace): ZStream[R, Nothing, Either[E, A]]

    Permalink

    Returns a stream whose failures and successes have been lifted into an Either.

    Returns a stream whose failures and successes have been lifted into an Either. The resulting stream cannot fail, because the failures have been exposed as part of the Either success case.

    Note

    the stream will end as soon as the first error occurs.

  76. def ensuring[R1 <: R](fin: ⇒ ZIO[R1, Nothing, Any])(implicit trace: Trace): ZStream[R1, E, A]

    Permalink

    Executes the provided finalizer after this stream's finalizers run.

  77. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  78. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  79. def filter(f: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Filters the elements emitted by this stream using the provided function.

  80. def filterNot(pred: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

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

  81. def filterZIO[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Effectfully filters the elements emitted by this stream.

  82. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  83. def find(f: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Finds the first element emitted by this stream that satisfies the provided predicate.

  84. def findZIO[R1 <: R, E1 >: E, S](f: (A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Finds the first element emitted by this stream that satisfies the provided effectful predicate.

  85. def flatMap[R1 <: R, E1 >: E, B](f: (A) ⇒ ZStream[R1, E1, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Returns a stream made of the concatenation in strict order of all the streams produced by passing each element of this stream to f0

  86. def flatMapPar[R1 <: R, E1 >: E, B](n: ⇒ Int, bufferSize: ⇒ Int = 16)(f: (A) ⇒ ZStream[R1, E1, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Maps each element of this stream to another stream and returns the non-deterministic merge of those streams, executing up to n inner streams concurrently.

    Maps each element of this stream to another stream and returns the non-deterministic merge of those streams, executing up to n inner streams concurrently. Up to bufferSize elements of the produced streams may be buffered in memory by this operator.

  87. def flatMapParSwitch[R1 <: R, E1 >: E, B](n: ⇒ Int, bufferSize: ⇒ Int = 16)(f: (A) ⇒ ZStream[R1, E1, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Maps each element of this stream to another stream and returns the non-deterministic merge of those streams, executing up to n inner streams concurrently.

    Maps each element of this stream to another stream and returns the non-deterministic merge of those streams, executing up to n inner streams concurrently. When a new stream is created from an element of the source stream, the oldest executing stream is cancelled. Up to bufferSize elements of the produced streams may be buffered in memory by this operator.

  88. def flatten[R1 <: R, E1 >: E, A1](implicit ev: <:<[A, ZStream[R1, E1, A1]], trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Flattens this stream-of-streams into a stream made of the concatenation in strict order of all the streams.

  89. def flattenChunks[A1](implicit ev: <:<[A, Chunk[A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Submerges the chunks carried by this stream into the stream's structure, while still preserving them.

  90. def flattenExit[E1 >: E, A1](implicit ev: <:<[A, Exit[E1, A1]], trace: Trace): ZStream[R, E1, A1]

    Permalink

    Flattens Exit values.

    Flattens Exit values. Exit.Failure values translate to stream failures while Exit.Success values translate to stream elements.

  91. def flattenExitOption[E1 >: E, A1](implicit ev: <:<[A, Exit[Option[E1], A1]], trace: Trace): ZStream[R, E1, A1]

    Permalink

    Unwraps Exit values that also signify end-of-stream by failing with None.

    Unwraps Exit values that also signify end-of-stream by failing with None.

    For Exit[E, A] values that do not signal end-of-stream, prefer:

    stream.mapZIO(ZIO.done(_))
  92. def flattenIterables[A1](implicit ev: <:<[A, Iterable[A1]], trace: Trace): ZStream[R, E, A1]

    Permalink

    Submerges the iterables carried by this stream into the stream's structure, while still preserving them.

  93. def flattenPar[R1 <: R, E1 >: E, A1](n: ⇒ Int, outputBuffer: ⇒ Int = 16)(implicit ev: <:<[A, ZStream[R1, E1, A1]], trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Flattens a stream of streams into a stream by executing a non-deterministic concurrent merge.

    Flattens a stream of streams into a stream by executing a non-deterministic concurrent merge. Up to n streams may be consumed in parallel and up to outputBuffer elements may be buffered by this operator.

  94. def flattenParUnbounded[R1 <: R, E1 >: E, A1](outputBuffer: ⇒ Int = 16)(implicit ev: <:<[A, ZStream[R1, E1, A1]], trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Like flattenPar, but executes all streams concurrently.

  95. def flattenTake[E1 >: E, A1](implicit ev: <:<[A, Take[E1, A1]], trace: Trace): ZStream[R, E1, A1]

    Permalink

    Unwraps Exit values and flatten chunks that also signify end-of-stream by failing with None.

  96. def flattenZIO[R1 <: R, E1 >: E, A1](implicit ev: <:<[A, ZIO[R1, E1, A1]], trace: Trace): ZStream[R1, E1, A1]

    Permalink
  97. def foreach[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Any])(implicit trace: Trace): ZIO[R1, E1, Unit]

    Permalink

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

  98. def forever(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Repeats this stream forever.

  99. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  100. def groupAdjacentBy[K](f: (A) ⇒ K)(implicit trace: Trace): ZStream[R, E, (K, NonEmptyChunk[A])]

    Permalink

    Creates a pipeline that groups on adjacent keys, calculated by function f.

  101. def groupBy[R1 <: R, E1 >: E, K, V](f: (A) ⇒ ZIO[R1, E1, (K, V)], buffer: ⇒ Int = 16): GroupBy[R1, E1, K, V]

    Permalink

    More powerful version of ZStream.groupByKey

  102. def groupByKey[K](f: (A) ⇒ K, buffer: ⇒ Int = 16): GroupBy[R, E, K, A]

    Permalink

    Partition a stream using a function and process each stream individually.

    Partition a stream using a function and process each stream individually. This returns a data structure that can be used to further filter down which groups shall be processed.

    After calling apply on the GroupBy object, the remaining groups will be processed in parallel and the resulting streams merged in a nondeterministic fashion.

    Up to buffer elements may be buffered in any group stream before the producer is backpressured. Take care to consume from all streams in order to prevent deadlocks.

    Example: Collect the first 2 words for every starting letter from a stream of words.

    ZStream.fromIterable(List("hello", "world", "hi", "holla"))
      .groupByKey(_.head) { case (k, s) => s.take(2).map((k, _)) }
      .runCollect
      .map(_ == List(('h', "hello"), ('h', "hi"), ('w', "world"))
  103. def grouped(chunkSize: ⇒ Int)(implicit trace: Trace): ZStream[R, E, Chunk[A]]

    Permalink

    Partitions the stream with specified chunkSize

    Partitions the stream with specified chunkSize

    chunkSize

    size of the chunk

  104. def groupedWithin(chunkSize: ⇒ Int, within: ⇒ zio.Duration)(implicit trace: Trace): ZStream[R, E, Chunk[A]]

    Permalink

    Partitions the stream with the specified chunkSize or until the specified duration has passed, whichever is satisfied first.

  105. def haltAfter(duration: ⇒ zio.Duration)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Specialized version of haltWhen which halts the evaluation of this stream after the given duration.

    Specialized version of haltWhen which halts the evaluation of this stream after the given duration.

    An element in the process of being pulled will not be interrupted when the given duration completes. See interruptAfter for this behavior.

  106. def haltWhen[E1 >: E](p: Promise[E1, _])(implicit trace: Trace): ZStream[R, E1, A]

    Permalink

    Halts the evaluation of this stream when the provided promise resolves.

    Halts the evaluation of this stream when the provided promise resolves.

    If the promise completes with a failure, the stream will emit that failure.

  107. def haltWhen[R1 <: R, E1 >: E](io: ZIO[R1, E1, Any])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Halts the evaluation of this stream when the provided IO completes.

    Halts the evaluation of this stream when the provided IO completes. The given IO will be forked as part of the returned stream, and its success will be discarded.

    An element in the process of being pulled will not be interrupted when the IO completes. See interruptWhen for this behavior.

    If the IO completes with a failure, the stream will emit that failure.

  108. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  109. def interleave[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Interleaves this stream and the specified stream deterministically by alternating pulling values from this stream and the specified stream.

    Interleaves this stream and the specified stream deterministically by alternating pulling values from this stream and the specified stream. When one stream is exhausted all remaining values in the other stream will be pulled.

  110. def interleaveWith[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(b: ⇒ ZStream[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Combines this stream and the specified stream deterministically using the stream of boolean values b to control which stream to pull from next.

    Combines this stream and the specified stream deterministically using the stream of boolean values b to control which stream to pull from next. true indicates to pull from this stream and false indicates to pull from the specified stream. Only consumes as many elements as requested by b. If either this stream or the specified stream are exhausted further requests for values from that stream will be ignored.

  111. def interruptAfter(duration: ⇒ zio.Duration)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Specialized version of interruptWhen which interrupts the evaluation of this stream after the given duration.

  112. def interruptWhen[E1 >: E](p: Promise[E1, _])(implicit trace: Trace): ZStream[R, E1, A]

    Permalink

    Interrupts the evaluation of this stream when the provided promise resolves.

    Interrupts the evaluation of this stream when the provided promise resolves. This combinator will also interrupt any in-progress element being pulled from upstream.

    If the promise completes with a failure, the stream will emit that failure.

  113. def interruptWhen[R1 <: R, E1 >: E](io: ZIO[R1, E1, Any])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Interrupts the evaluation of this stream when the provided IO completes.

    Interrupts the evaluation of this stream when the provided IO completes. The given IO will be forked as part of this stream, and its success will be discarded. This combinator will also interrupt any in-progress element being pulled from upstream.

    If the IO completes with a failure before the stream completes, the returned stream will emit that failure.

  114. def intersperse[A1 >: A](start: ⇒ A1, middle: ⇒ A1, end: ⇒ A1)(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

    Intersperse and also add a prefix and a suffix

  115. def intersperse[A1 >: A](middle: ⇒ A1)(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

    Intersperse stream with provided element similar to List.mkString.

    Intersperse stream with provided element similar to List.mkString.

  116. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  117. def map[B](f: (A) ⇒ B)(implicit trace: Trace): ZStream[R, E, B]

    Permalink

    Transforms the elements of this stream using the supplied function.

  118. def mapAccum[S, A1](s: ⇒ S)(f: (S, A) ⇒ (S, A1))(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

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

  119. def mapAccumZIO[R1 <: R, E1 >: E, S, A1](s: ⇒ S)(f: (S, A) ⇒ ZIO[R1, E1, (S, A1)])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

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

  120. def mapBoth[E1, A1](f: (E) ⇒ E1, g: (A) ⇒ A1)(implicit ev: CanFail[E], trace: Trace): ZStream[R, E1, A1]

    Permalink

    Returns a stream whose failure and success channels have been mapped by the specified pair of functions, f and g.

  121. def mapChunks[A2](f: (Chunk[A]) ⇒ Chunk[A2])(implicit trace: Trace): ZStream[R, E, A2]

    Permalink

    Transforms the chunks emitted by this stream.

  122. def mapChunksZIO[R1 <: R, E1 >: E, A2](f: (Chunk[A]) ⇒ ZIO[R1, E1, Chunk[A2]])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Effectfully transforms the chunks emitted by this stream.

  123. def mapConcat[A2](f: (A) ⇒ Iterable[A2])(implicit trace: Trace): ZStream[R, E, A2]

    Permalink

    Maps each element to an iterable, and flattens the iterables into the output of this stream.

  124. def mapConcatChunk[A2](f: (A) ⇒ Chunk[A2])(implicit trace: Trace): ZStream[R, E, A2]

    Permalink

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

  125. def mapConcatChunkZIO[R1 <: R, E1 >: E, A2](f: (A) ⇒ ZIO[R1, E1, Chunk[A2]])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

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

  126. def mapConcatZIO[R1 <: R, E1 >: E, A2](f: (A) ⇒ ZIO[R1, E1, Iterable[A2]])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Effectfully maps each element to an iterable, and flattens the iterables into the output of this stream.

  127. def mapError[E2](f: (E) ⇒ E2)(implicit trace: Trace): ZStream[R, E2, A]

    Permalink

    Transforms the errors emitted by this stream using f.

  128. def mapErrorCause[E2](f: (Cause[E]) ⇒ Cause[E2])(implicit trace: Trace): ZStream[R, E2, A]

    Permalink

    Transforms the full causes of failures emitted by this stream.

  129. def mapZIO[R1 <: R, E1 >: E, A1](f: (A) ⇒ ZIO[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

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

  130. def mapZIOPar[R1 <: R, E1 >: E, A2](n: ⇒ Int)(f: (A) ⇒ ZIO[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Maps over elements of the stream with the specified effectful function, executing up to n invocations of f concurrently.

    Maps over elements of the stream with the specified effectful function, executing up to n invocations of f concurrently. Transformed elements will be emitted in the original order.

    Note

    This combinator destroys the chunking structure. It's recommended to use rechunk afterwards.

  131. def mapZIOParByKey[R1 <: R, E1 >: E, A2, K](keyBy: (A) ⇒ K, buffer: ⇒ Int = 16)(f: (A) ⇒ ZIO[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Maps over elements of the stream with the specified effectful function, partitioned by p executing invocations of f concurrently.

    Maps over elements of the stream with the specified effectful function, partitioned by p executing invocations of f concurrently. The number of concurrent invocations of f is determined by the number of different outputs of type K. Up to buffer elements may be buffered per partition. Transformed elements may be reordered but the order within a partition is maintained.

  132. def mapZIOParUnordered[R1 <: R, E1 >: E, A2](n: ⇒ Int)(f: (A) ⇒ ZIO[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Maps over elements of the stream with the specified effectful function, executing up to n invocations of f concurrently.

    Maps over elements of the stream with the specified effectful function, executing up to n invocations of f concurrently. The element order is not enforced by this combinator, and elements may be reordered.

  133. def merge[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1], strategy: ⇒ HaltStrategy = HaltStrategy.Both)(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Merges this stream and the specified stream together.

    Merges this stream and the specified stream together.

    New produced stream will terminate when both specified stream terminate if no termination strategy is specified.

  134. def mergeEither[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, Either[A, A2]]

    Permalink

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

  135. def mergeHaltEither[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Merges this stream and the specified stream together.

    Merges this stream and the specified stream together. New produced stream will terminate when either stream terminates.

  136. def mergeHaltLeft[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Merges this stream and the specified stream together.

    Merges this stream and the specified stream together. New produced stream will terminate when this stream terminates.

  137. def mergeHaltRight[R1 <: R, E1 >: E, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Merges this stream and the specified stream together.

    Merges this stream and the specified stream together. New produced stream will terminate when the specified stream terminates.

  138. def mergeLeft[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2], strategy: HaltStrategy = HaltStrategy.Both)(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Merges this stream and the specified stream together, discarding the values from the right stream.

  139. def mergeRight[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2], strategy: HaltStrategy = HaltStrategy.Both)(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Merges this stream and the specified stream together, discarding the values from the left stream.

  140. def mergeWith[R1 <: R, E1 >: E, A2, A3](that: ⇒ ZStream[R1, E1, A2], strategy: ⇒ HaltStrategy = HaltStrategy.Both)(l: (A) ⇒ A3, r: (A2) ⇒ A3)(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

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

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

    New produced stream will terminate when both specified stream terminate if no termination strategy is specified.

  141. def mkString(before: ⇒ String, middle: ⇒ String, after: ⇒ String)(implicit trace: Trace): ZIO[R, E, String]

    Permalink

    Returns a combined string resulting from concatenating each of the values from the stream beginning with before interspersed with middle and ending with after.

  142. def mkString(implicit trace: Trace): ZIO[R, E, String]

    Permalink

    Returns a combined string resulting from concatenating each of the values from the stream

  143. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  144. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  145. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  146. def onError[R1 <: R](cleanup: (Cause[E]) ⇒ URIO[R1, Any])(implicit trace: Trace): ZStream[R1, E, A]

    Permalink

    Runs the specified effect if this stream fails, providing the error to the effect if it exists.

    Runs the specified effect if this stream fails, providing the error to the effect if it exists.

    Note: Unlike ZIO.onError, there is no guarantee that the provided effect will not be interrupted.

  147. def onExecutor(executor: ⇒ Executor)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Locks the execution of this stream to the specified executor.

    Locks the execution of this stream to the specified executor. Any streams that are composed after this one will automatically be shifted back to the previous executor.

  148. def orDie(implicit ev1: IsSubtypeOfError[E, Throwable], ev2: CanFail[E], trace: Trace): ZStream[R, Nothing, A]

    Permalink

    Translates any failure into a stream termination, making the stream infallible and all failures unchecked.

  149. def orDieWith(f: (E) ⇒ Throwable)(implicit ev: CanFail[E], trace: Trace): ZStream[R, Nothing, A]

    Permalink

    Keeps none of the errors, and terminates the stream with them, using the specified function to convert the E into a Throwable.

  150. def orElse[R1 <: R, E1, A1 >: A](that: ⇒ ZStream[R1, E1, A1])(implicit ev: CanFail[E], trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Switches to the provided stream in case this one fails with a typed error.

    Switches to the provided stream in case this one fails with a typed error.

    See also ZStream#catchAll.

  151. def orElseEither[R1 <: R, E2, A2](that: ⇒ ZStream[R1, E2, A2])(implicit ev: CanFail[E], trace: Trace): ZStream[R1, E2, Either[A, A2]]

    Permalink

    Switches to the provided stream in case this one fails with a typed error.

    Switches to the provided stream in case this one fails with a typed error.

    See also ZStream#catchAll.

  152. def orElseFail[E1](e1: ⇒ E1)(implicit ev: CanFail[E], trace: Trace): ZStream[R, E1, A]

    Permalink

    Fails with given error in case this one fails with a typed error.

    Fails with given error in case this one fails with a typed error.

    See also ZStream#catchAll.

  153. def orElseIfEmpty[R1 <: R, E1 >: E, A1 >: A](stream: ZStream[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Switches to the provided stream in case this one is empty.

  154. def orElseIfEmpty[A1 >: A](chunk: Chunk[A1])(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

    Produces the specified chunk if this stream is empty.

  155. def orElseIfEmpty[A1 >: A](a: A1)(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

    Produces the specified element if this stream is empty.

  156. def orElseOptional[R1 <: R, E1, A1 >: A](that: ⇒ ZStream[R1, Option[E1], A1])(implicit ev: <:<[E, Option[E1]], trace: Trace): ZStream[R1, Option[E1], A1]

    Permalink

    Switches to the provided stream in case this one fails with the None value.

    Switches to the provided stream in case this one fails with the None value.

    See also ZStream#catchAll.

  157. def orElseSucceed[A1 >: A](A1: ⇒ A1)(implicit ev: CanFail[E], trace: Trace): ZStream[R, Nothing, A1]

    Permalink

    Succeeds with the specified value if this one fails with a typed error.

  158. def partition(p: (A) ⇒ Boolean, buffer: ⇒ Int = 16)(implicit trace: Trace): ZIO[R with Scope, E, (ZStream[Any, E, A], ZStream[Any, E, A])]

    Permalink

    Partition a stream using a predicate.

    Partition a stream using a predicate. The first stream will contain all element evaluated to true and the second one will contain all element evaluated to false. The faster stream may advance by up to buffer elements further than the slower one.

  159. def partitionEither[R1 <: R, E1 >: E, A2, A3](p: (A) ⇒ ZIO[R1, E1, Either[A2, A3]], buffer: ⇒ Int = 16)(implicit trace: Trace): ZIO[R1 with Scope, E1, (ZStream[Any, E1, A2], ZStream[Any, E1, A3])]

    Permalink

    Split a stream by a predicate.

    Split a stream by a predicate. The faster stream may advance by up to buffer elements further than the slower one.

  160. def peel[R1 <: R, E1 >: E, A1 >: A, Z](sink: ⇒ ZSink[R1, E1, A1, A1, Z])(implicit trace: Trace): ZIO[R1 with Scope, E1, (Z, ZStream[Any, E, A1])]

    Permalink

    Peels off enough material from the stream to construct a Z using the provided ZSink and then returns both the Z and the rest of the ZStream in a scope.

    Peels off enough material from the stream to construct a Z using the provided ZSink and then returns both the Z and the rest of the ZStream in a scope. Like all scoped values, the provided stream is valid only within the scope.

  161. def pipeThrough[R1 <: R, E1 >: E, L, Z](sink: ⇒ ZSink[R1, E1, A, L, Z])(implicit trace: Trace): ZStream[R1, E1, L]

    Permalink

    Pipes all of the values from this stream through the provided sink.

    Pipes all of the values from this stream through the provided sink.

    See also

    transduce

  162. def pipeThroughChannel[R1 <: R, E2, A2](channel: ⇒ ZChannel[R1, E, Chunk[A], Any, E2, Chunk[A2], Any])(implicit trace: Trace): ZStream[R1, E2, A2]

    Permalink

    Pipes all the values from this stream through the provided channel

  163. def pipeThroughChannelOrFail[R1 <: R, E1 >: E, A2](channel: ZChannel[R1, Nothing, Chunk[A], Any, E1, Chunk[A2], Any])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Pipes all values from this stream through the provided channel, passing through any error emitted by this stream unchanged.

  164. def provideEnvironment(r: ⇒ ZEnvironment[R])(implicit trace: Trace): ZStream[Any, E, A]

    Permalink

    Provides the stream with its required environment, which eliminates its dependency on R.

  165. def provideLayer[E1 >: E, R0](layer: ⇒ ZLayer[R0, E1, R])(implicit trace: Trace): ZStream[R0, E1, A]

    Permalink

    Provides a layer to the stream, which translates it to another level.

  166. def provideSomeEnvironment[R0](env: (ZEnvironment[R0]) ⇒ ZEnvironment[R])(implicit trace: Trace): ZStream[R0, E, A]

    Permalink

    Transforms the environment being provided to the stream with the specified function.

  167. def provideSomeLayer[R0]: ProvideSomeLayer[R0, R, E, A]

    Permalink

    Splits the environment into two parts, providing one part using the specified layer and leaving the remainder R0.

    Splits the environment into two parts, providing one part using the specified layer and leaving the remainder R0.

    val loggingLayer: ZLayer[Any, Nothing, Logging] = ???
    
    val stream: ZStream[Logging with Database, Nothing, Unit] = ???
    
    val stream2 = stream.provideSomeLayer[Database](loggingLayer)
  168. def rechunk(n: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Re-chunks the elements of the stream into chunks of n elements each.

    Re-chunks the elements of the stream into chunks of n elements each. The last chunk might contain less than n elements

  169. def refineOrDie[E1](pf: PartialFunction[E, E1])(implicit ev1: <:<[E, Throwable], ev2: CanFail[E], trace: Trace): ZStream[R, E1, A]

    Permalink

    Keeps some of the errors, and terminates the fiber with the rest

  170. def refineOrDieWith[E1](pf: PartialFunction[E, E1])(f: (E) ⇒ Throwable)(implicit ev: CanFail[E], trace: Trace): ZStream[R, E1, A]

    Permalink

    Keeps some of the errors, and terminates the fiber with the rest, using the specified function to convert the E into a Throwable.

  171. def repeat[R1 <: R, B](schedule: ⇒ Schedule[R1, Any, B])(implicit trace: Trace): ZStream[R1, E, A]

    Permalink

    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.

  172. def repeatEither[R1 <: R, B](schedule: ⇒ Schedule[R1, Any, B])(implicit trace: Trace): ZStream[R1, E, Either[B, A]]

    Permalink

    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. The schedule output will be emitted at the end of each repetition.

  173. def repeatElements[R1 <: R](schedule: ⇒ Schedule[R1, A, Any])(implicit trace: Trace): ZStream[R1, E, A]

    Permalink

    Repeats each element of the stream using the provided schedule.

    Repeats each element of the stream using the provided schedule. Repetitions are done in addition to the first execution, which means using Schedule.recurs(1) actually results in the original effect, plus an additional recurrence, for a total of two repetitions of each value in the stream.

  174. def repeatElementsEither[R1 <: R, E1 >: E, B](schedule: ⇒ Schedule[R1, A, B])(implicit trace: Trace): ZStream[R1, E1, Either[B, A]]

    Permalink

    Repeats each element of the stream using the provided schedule.

    Repeats each element of the stream using the provided schedule. When the schedule is finished, then the output of the schedule will be emitted into the stream. Repetitions are done in addition to the first execution, which means using Schedule.recurs(1) actually results in the original effect, plus an additional recurrence, for a total of two repetitions of each value in the stream.

  175. def repeatElementsWith[R1 <: R, E1 >: E, B, C](schedule: ⇒ Schedule[R1, A, B])(f: (A) ⇒ C, g: (B) ⇒ C)(implicit trace: Trace): ZStream[R1, E1, C]

    Permalink

    Repeats each element of the stream using the provided schedule.

    Repeats each element of the stream using the provided schedule. When the schedule is finished, then the output of the schedule will be emitted into the stream. Repetitions are done in addition to the first execution, which means using Schedule.recurs(1) actually results in the original effect, plus an additional recurrence, for a total of two repetitions of each value in the stream.

    This function accepts two conversion functions, which allow the output of this stream and the output of the provided schedule to be unified into a single type. For example, Either or similar data type.

  176. def repeatWith[R1 <: R, B, C](schedule: ⇒ Schedule[R1, Any, B])(f: (A) ⇒ C, g: (B) ⇒ C)(implicit trace: Trace): ZStream[R1, E, C]

    Permalink

    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. The schedule output will be emitted at the end of each repetition and can be unified with the stream elements using the provided functions.

  177. def retry[R1 <: R](schedule: ⇒ Schedule[R1, E, _])(implicit trace: Trace): ZStream[R1, E, A]

    Permalink

    When the stream fails, retry it according to the given schedule

    When the stream fails, retry it according to the given schedule

    This retries the entire stream, so will re-execute all of the stream's acquire operations.

    The schedule is reset as soon as the first element passes through the stream again.

    schedule

    Schedule receiving as input the errors of the stream

    returns

    Stream outputting elements of all attempts of the stream

  178. def right[A1, A2](implicit ev: <:<[A, Either[A1, A2]], trace: Trace): ZStream[R, Option[E], A2]

    Permalink

    Fails with the error None if value is Left.

  179. def rightOrFail[A1, A2, E1 >: E](e: ⇒ E1)(implicit ev: <:<[A, Either[A1, A2]], trace: Trace): ZStream[R, E1, A2]

    Permalink

    Fails with given error 'e' if value is Left.

  180. def run[R1 <: R, E1 >: E, Z](sink: ⇒ ZSink[R1, E1, A, Any, Z])(implicit trace: Trace): ZIO[R1, E1, Z]

    Permalink

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

  181. def runCollect(implicit trace: Trace): ZIO[R, E, Chunk[A]]

    Permalink

    Runs the stream and collects all of its elements to a chunk.

  182. def runCount(implicit trace: Trace): ZIO[R, E, Long]

    Permalink

    Runs the stream and emits the number of elements processed

    Runs the stream and emits the number of elements processed

    Equivalent to run(ZSink.count)

  183. def runDrain(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Runs the stream only for its effects.

    Runs the stream only for its effects. The emitted elements are discarded.

  184. def runFold[S](s: ⇒ S)(f: (S, A) ⇒ S)(implicit trace: Trace): ZIO[R, E, S]

    Permalink

    Executes a pure fold over the stream of values - reduces all elements in the stream to a value of type S.

  185. def runFoldScoped[S](s: ⇒ S)(f: (S, A) ⇒ S)(implicit trace: Trace): ZIO[R with Scope, E, S]

    Permalink

    Executes a pure fold over the stream of values.

    Executes a pure fold over the stream of values. Returns a scoped value that represents the scope of the stream.

  186. def runFoldScopedZIO[R1 <: R, E1 >: E, S](s: ⇒ S)(f: (S, A) ⇒ ZIO[R1, E1, S])(implicit trace: Trace): ZIO[R1 with Scope, E1, S]

    Permalink

    Executes an effectful fold over the stream of values.

    Executes an effectful fold over the stream of values. Returns a scoped value that represents the scope of the stream.

  187. def runFoldWhile[S](s: ⇒ S)(cont: (S) ⇒ Boolean)(f: (S, A) ⇒ S)(implicit trace: Trace): ZIO[R, E, S]

    Permalink

    Reduces the elements in the stream to a value of type S.

    Reduces the elements in the stream to a value of type S. Stops the fold early when the condition is not fulfilled. Example:

    Stream(1).forever.foldWhile(0)(_ <= 4)(_ + _) // UIO[Int] == 5
  188. def runFoldWhileScoped[S](s: ⇒ S)(cont: (S) ⇒ Boolean)(f: (S, A) ⇒ S)(implicit trace: Trace): ZIO[R with Scope, E, S]

    Permalink

    Executes a pure fold over the stream of values.

    Executes a pure fold over the stream of values. Returns a scoped value that represents the scope of the stream. Stops the fold early when the condition is not fulfilled.

  189. def runFoldWhileScopedZIO[R1 <: R, E1 >: E, S](s: ⇒ S)(cont: (S) ⇒ Boolean)(f: (S, A) ⇒ ZIO[R1, E1, S])(implicit trace: Trace): ZIO[R1 with Scope, E1, S]

    Permalink

    Executes an effectful fold over the stream of values.

    Executes an effectful fold over the stream of values. Returns a scoped value that represents the scope of the stream. Stops the fold early when the condition is not fulfilled. Example:

    Stream(1)
      .forever                                        // an infinite Stream of 1's
      .fold(0)(_ <= 4)((s, a) => ZIO.succeed(s + a))  // URIO[Scope, Int] == 5
    cont

    function which defines the early termination condition

  190. def runFoldWhileZIO[R1 <: R, E1 >: E, S](s: ⇒ S)(cont: (S) ⇒ Boolean)(f: (S, A) ⇒ ZIO[R1, E1, S])(implicit trace: Trace): ZIO[R1, E1, S]

    Permalink

    Executes an effectful fold over the stream of values.

    Executes an effectful fold over the stream of values. Stops the fold early when the condition is not fulfilled. Example:

    Stream(1)
      .forever                                        // an infinite Stream of 1's
      .fold(0)(_ <= 4)((s, a) => ZIO.succeed(s + a))  // UIO[Int] == 5
    cont

    function which defines the early termination condition

  191. def runFoldZIO[R1 <: R, E1 >: E, S](s: ⇒ S)(f: (S, A) ⇒ ZIO[R1, E1, S])(implicit trace: Trace): ZIO[R1, E1, S]

    Permalink

    Executes an effectful fold over the stream of values.

  192. def runForeach[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Any])(implicit trace: Trace): ZIO[R1, E1, Unit]

    Permalink

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

  193. def runForeachChunk[R1 <: R, E1 >: E](f: (Chunk[A]) ⇒ ZIO[R1, E1, Any])(implicit trace: Trace): ZIO[R1, E1, Unit]

    Permalink

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

  194. def runForeachChunkScoped[R1 <: R, E1 >: E](f: (Chunk[A]) ⇒ ZIO[R1, E1, Any])(implicit trace: Trace): ZIO[R1 with Scope, E1, Unit]

    Permalink

    Like ZStream#runForeachChunk, but returns a scoped ZIO so the finalization order can be controlled.

  195. def runForeachScoped[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Any])(implicit trace: Trace): ZIO[R1 with Scope, E1, Unit]

    Permalink

    Like ZStream#foreach, but returns a scoped ZIO so the finalization order can be controlled.

  196. def runForeachWhile[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZIO[R1, E1, Unit]

    Permalink

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

  197. def runForeachWhileScoped[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZIO[R1 with Scope, E1, Unit]

    Permalink

    Like ZStream#runForeachWhile, but returns a scoped ZIO so the finalization order can be controlled.

  198. def runHead(implicit trace: Trace): ZIO[R, E, Option[A]]

    Permalink

    Runs the stream to completion and yields the first value emitted by it, discarding the rest of the elements.

  199. def runIntoHub[E1 >: E, A1 >: A](hub: ⇒ Hub[Take[E1, A1]])(implicit trace: Trace): ZIO[R, Nothing, Unit]

    Permalink

    Publishes elements of this stream to a hub.

    Publishes elements of this stream to a hub. Stream failure and ending will also be signalled.

  200. def runIntoHubScoped[E1 >: E, A1 >: A](hub: ⇒ Hub[Take[E1, A1]])(implicit trace: Trace): ZIO[R with Scope, Nothing, Unit]

    Permalink

    Like ZStream#runIntoHub, but provides the result as a scoped ZIO to allow for scope composition.

  201. def runIntoQueue(queue: ⇒ Enqueue[Take[E, A]])(implicit trace: Trace): ZIO[R, Nothing, Unit]

    Permalink

    Enqueues elements of this stream into a queue.

    Enqueues elements of this stream into a queue. Stream failure and ending will also be signalled.

  202. def runIntoQueueElementsScoped(queue: ⇒ Enqueue[Exit[Option[E], A]])(implicit trace: Trace): ZIO[R with Scope, Nothing, Unit]

    Permalink

    Like ZStream#runIntoQueue, but provides the result as a scoped ZIO to allow for scope composition.

  203. def runIntoQueueScoped(queue: ⇒ Enqueue[Take[E, A]])(implicit trace: Trace): ZIO[R with Scope, Nothing, Unit]

    Permalink

    Like ZStream#runIntoQueue, but provides the result as a scoped to allow for scope composition.

  204. def runLast(implicit trace: Trace): ZIO[R, E, Option[A]]

    Permalink

    Runs the stream to completion and yields the last value emitted by it, discarding the rest of the elements.

  205. def runScoped[R1 <: R, E1 >: E, B](sink: ⇒ ZSink[R1, E1, A, Any, B])(implicit trace: Trace): ZIO[R1 with Scope, E1, B]

    Permalink
  206. def runSum[A1 >: A](implicit ev: Numeric[A1], trace: Trace): ZIO[R, E, A1]

    Permalink

    Runs the stream to a sink which sums elements, provided they are Numeric.

    Runs the stream to a sink which sums elements, provided they are Numeric.

    Equivalent to run(Sink.sum[A])

  207. def scan[S](s: ⇒ S)(f: (S, A) ⇒ S)(implicit trace: Trace): ZStream[R, E, S]

    Permalink

    Statefully maps over the elements of this stream to produce all intermediate results of type S given an initial S.

  208. def scanReduce[A1 >: A](f: (A1, A) ⇒ A1)(implicit trace: Trace): ZStream[R, E, A1]

    Permalink

    Statefully maps over the elements of this stream to produce all intermediate results.

    Statefully maps over the elements of this stream to produce all intermediate results.

    See also ZStream#scan.

  209. def scanReduceZIO[R1 <: R, E1 >: E, A1 >: A](f: (A1, A) ⇒ ZIO[R1, E1, A1])(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Statefully and effectfully maps over the elements of this stream to produce all intermediate results.

    Statefully and effectfully maps over the elements of this stream to produce all intermediate results.

    See also ZStream#scanZIO.

  210. def scanZIO[R1 <: R, E1 >: E, S](s: ⇒ S)(f: (S, A) ⇒ ZIO[R1, E1, S])(implicit trace: Trace): ZStream[R1, E1, S]

    Permalink

    Statefully and effectfully maps over the elements of this stream to produce all intermediate results of type S given an initial S.

  211. def schedule[R1 <: R](schedule: ⇒ Schedule[R1, A, Any])(implicit trace: Trace): ZStream[R1, E, A]

    Permalink

    Schedules the output of the stream using the provided schedule.

  212. def scheduleEither[R1 <: R, E1 >: E, B](schedule: ⇒ Schedule[R1, A, B])(implicit trace: Trace): ZStream[R1, E1, Either[B, A]]

    Permalink

    Schedules the output of the stream using the provided schedule and emits its output at the end (if schedule is finite).

  213. def scheduleWith[R1 <: R, E1 >: E, B, C](schedule: ⇒ Schedule[R1, A, B])(f: (A) ⇒ C, g: (B) ⇒ C)(implicit trace: Trace): ZStream[R1, E1, C]

    Permalink

    Schedules the output of the stream using the provided schedule and emits its output at the end (if schedule is finite).

    Schedules the output of the stream using the provided schedule and emits its output at the end (if schedule is finite). Uses the provided function to align the stream and schedule outputs on the same type.

  214. def sliding(chunkSize: ⇒ Int, stepSize: Int = 1)(implicit trace: Trace): ZStream[R, E, Chunk[A]]

    Permalink

    Emits a sliding window of n elements.

    Emits a sliding window of n elements.

    Stream(1, 2, 3, 4).sliding(2).runCollect // Chunk(Chunk(1, 2), Chunk(2, 3), Chunk(3, 4))
  215. def some[A2](implicit ev: <:<[A, Option[A2]], trace: Trace): ZStream[R, Option[E], A2]

    Permalink

    Converts an option on values into an option on errors.

  216. def someOrElse[A2](default: ⇒ A2)(implicit ev: <:<[A, Option[A2]], trace: Trace): ZStream[R, E, A2]

    Permalink

    Extracts the optional value, or returns the given 'default'.

  217. def someOrFail[A2, E1 >: E](e: ⇒ E1)(implicit ev: <:<[A, Option[A2]], trace: Trace): ZStream[R, E1, A2]

    Permalink

    Extracts the optional value, or fails with the given error 'e'.

  218. def split(f: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, Chunk[A]]

    Permalink

    Splits elements based on a predicate.

    Splits elements based on a predicate.

    ZStream.range(1, 10).split(_ % 4 == 0).runCollect // Chunk(Chunk(1, 2, 3), Chunk(5, 6, 7), Chunk(9))
  219. def splitOnChunk[A1 >: A](delimiter: ⇒ Chunk[A1])(implicit trace: Trace): ZStream[R, E, Chunk[A]]

    Permalink

    Splits elements on a delimiter and transforms the splits into desired output.

  220. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  221. def take(n: ⇒ Long)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Takes the specified number of elements from this stream.

  222. def takeRight(n: ⇒ Int)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Takes the last specified number of elements from this stream.

  223. def takeUntil(f: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Takes all elements of the stream until the specified predicate evaluates to true.

  224. def takeUntilZIO[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Takes all elements of the stream until the specified effectual predicate evaluates to true.

  225. def takeWhile(f: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

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

  226. def tap[R1 <: R, E1 >: E](f: (A) ⇒ ZIO[R1, E1, Any])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

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

  227. def tapError[R1 <: R, E1 >: E](f: (E) ⇒ ZIO[R1, E1, Any])(implicit ev: CanFail[E], trace: Trace): ZStream[R1, E1, A]

    Permalink

    Returns a stream that effectfully "peeks" at the failure of the stream.

  228. def tapErrorCause[R1 <: R, E1 >: E](f: (Cause[E]) ⇒ ZIO[R1, E1, Any])(implicit ev: CanFail[E], trace: Trace): ZStream[R1, E1, A]

    Permalink

    Returns a stream that effectfully "peeks" at the cause of failure of the stream.

  229. def tapSink[R1 <: R, E1 >: E](sink: ⇒ ZSink[R1, E1, A, Any, Any])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Sends all elements emitted by this stream to the specified sink in addition to emitting them.

  230. def throttleEnforce(units: ⇒ Long, duration: ⇒ zio.Duration, burst: ⇒ Long = 0)(costFn: (Chunk[A]) ⇒ Long)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm.

    Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate tokens up to a units + burst threshold. Chunks that do not meet the bandwidth constraints are dropped. The weight of each chunk is determined by the costFn function.

  231. def throttleEnforceZIO[R1 <: R, E1 >: E](units: ⇒ Long, duration: ⇒ zio.Duration, burst: ⇒ Long = 0)(costFn: (Chunk[A]) ⇒ ZIO[R1, E1, Long])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm.

    Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate tokens up to a units + burst threshold. Chunks that do not meet the bandwidth constraints are dropped. The weight of each chunk is determined by the costFn effectful function.

  232. def throttleShape(units: ⇒ Long, duration: ⇒ zio.Duration, burst: ⇒ Long = 0)(costFn: (Chunk[A]) ⇒ Long)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Delays the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm.

    Delays the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate tokens up to a units + burst threshold. The weight of each chunk is determined by the costFn function.

  233. def throttleShapeZIO[R1 <: R, E1 >: E](units: ⇒ Long, duration: ⇒ zio.Duration, burst: ⇒ Long = 0)(costFn: (Chunk[A]) ⇒ ZIO[R1, E1, Long])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Delays the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm.

    Delays the chunks of this stream according to the given bandwidth parameters using the token bucket algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate tokens up to a units + burst threshold. The weight of each chunk is determined by the costFn effectful function.

  234. def timeout(d: ⇒ zio.Duration)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Ends the stream if it does not produce a value after d duration.

  235. def timeoutFail[E1 >: E](e: ⇒ E1)(d: zio.Duration)(implicit trace: Trace): ZStream[R, E1, A]

    Permalink

    Fails the stream with given error if it does not produce a value after d duration.

  236. def timeoutFailCause[E1 >: E](cause: ⇒ Cause[E1])(d: ⇒ zio.Duration)(implicit trace: Trace): ZStream[R, E1, A]

    Permalink

    Fails the stream with given cause if it does not produce a value after d duration.

  237. def timeoutTo[R1 <: R, E1 >: E, A2 >: A](d: ⇒ zio.Duration)(that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Switches the stream if it does not produce a value after d duration.

  238. def toChannel: ZChannel[R, Any, Any, Any, E, Chunk[A], Any]

    Permalink

    Converts the stream to its underlying channel

  239. def toHub[E1 >: E, A1 >: A](capacity: ⇒ Int)(implicit trace: Trace): ZIO[R with Scope, Nothing, Hub[Take[E1, A1]]]

    Permalink

    Converts the stream to a scoped hub of chunks.

    Converts the stream to a scoped hub of chunks. After the scope is closed, the hub will never again produce values and should be discarded.

  240. def toInputStream(implicit ev0: <:<[E, Throwable], ev1: <:<[A, Byte], trace: Trace): ZIO[R with Scope, E, InputStream]

    Permalink

    Converts this stream of bytes into a java.io.InputStream wrapped in a scoped ZIO.

    Converts this stream of bytes into a java.io.InputStream wrapped in a scoped ZIO. The returned input stream will only be valid within the scope.

  241. def toIterator(implicit trace: Trace): ZIO[R with Scope, Nothing, Iterator[Either[E, A]]]

    Permalink

    Converts this stream into a scala.collection.Iterator wrapped in a scoped ZIO.

    Converts this stream into a scala.collection.Iterator wrapped in a scoped ZIO. The returned iterator will only be valid within the scope.

  242. def toPull(implicit trace: Trace): ZIO[R with Scope, Nothing, ZIO[R, Option[E], Chunk[A]]]

    Permalink

    Returns in a scope a ZIO effect that can be used to repeatedly pull chunks from the stream.

    Returns in a scope a ZIO effect that can be used to repeatedly pull chunks from the stream. The pull effect fails with None when the stream is finished, or with Some error if it fails, otherwise it returns a chunk of the stream's output.

  243. def toQueue(capacity: ⇒ Int = 2)(implicit trace: Trace): ZIO[R with Scope, Nothing, Dequeue[Take[E, A]]]

    Permalink

    Converts the stream to a scoped queue of chunks.

    Converts the stream to a scoped queue of chunks. After the scope is closed, the queue will never again produce values and should be discarded.

  244. def toQueueDropping(capacity: ⇒ Int = 2)(implicit trace: Trace): ZIO[R with Scope, Nothing, Dequeue[Take[E, A]]]

    Permalink

    Converts the stream to a dropping scoped queue of chunks.

    Converts the stream to a dropping scoped queue of chunks. After the scope is closed, the queue will never again produce values and should be discarded.

  245. def toQueueOfElements(capacity: ⇒ Int = 2)(implicit trace: Trace): ZIO[R with Scope, Nothing, Dequeue[Exit[Option[E], A]]]

    Permalink

    Converts the stream to a scoped queue of elements.

    Converts the stream to a scoped queue of elements. After the scope is closed, the queue will never again produce values and should be discarded.

  246. def toQueueSliding(capacity: ⇒ Int = 2)(implicit trace: Trace): ZIO[R with Scope, Nothing, Dequeue[Take[E, A]]]

    Permalink

    Converts the stream to a sliding scoped queue of chunks.

    Converts the stream to a sliding scoped queue of chunks. After the scope is closed, the queue will never again produce values and should be discarded.

  247. def toQueueUnbounded(implicit trace: Trace): ZIO[R with Scope, Nothing, Dequeue[Take[E, A]]]

    Permalink

    Converts the stream into an unbounded scoped queue.

    Converts the stream into an unbounded scoped queue. After the scope is closed, the queue will never again produce values and should be discarded.

  248. def toReader(implicit ev0: <:<[E, Throwable], ev1: <:<[A, Char], trace: Trace): ZIO[R with Scope, E, Reader]

    Permalink

    Converts this stream of chars into a java.io.Reader wrapped in a scoped ZIO.

    Converts this stream of chars into a java.io.Reader wrapped in a scoped ZIO. The returned reader will only be valid within the scope.

  249. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  250. def transduce[R1 <: R, E1 >: E, A1 >: A, Z](sink: ⇒ ZSink[R1, E1, A1, A1, Z])(implicit trace: Trace): ZStream[R1, E1, Z]

    Permalink

    Applies the transducer to the stream and emits its outputs.

  251. def updateService[M]: UpdateService[R, E, A, M]

    Permalink

    Updates a service in the environment of this effect.

  252. def updateServiceAt[Service]: UpdateServiceAt[R, E, A, Service]

    Permalink

    Updates a service at the specified key in the environment of this effect.

  253. def via[R1 <: R, E1 >: E, B](pipeline: ⇒ ZPipeline[R1, E1, A, B])(implicit trace: Trace): ZStream[R1, E1, B]

    Permalink

    Threads the stream through a transformation pipeline.

  254. def viaFunction[R2, E2, B](f: (ZStream[R, E, A]) ⇒ ZStream[R2, E2, B])(implicit trace: Trace): ZStream[R2, E2, B]

    Permalink

    Threads the stream through the transformation function f.

  255. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  256. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  257. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  258. def when(b: ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Returns this stream if the specified condition is satisfied, otherwise returns an empty stream.

  259. def whenZIO[R1 <: R, E1 >: E](b: ⇒ ZIO[R1, E1, Boolean])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Returns this stream if the specified effectful condition is satisfied, otherwise returns an empty stream.

  260. def withFilter(predicate: (A) ⇒ Boolean)(implicit trace: Trace): ZStream[R, E, A]

    Permalink

    Equivalent to filter but enables the use of filter clauses in for-comprehensions

  261. def zip[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit zippable: Zippable[A, A2], trace: Trace): ZStream[R1, E1, Out]

    Permalink

    Zips this stream with another point-wise and emits tuples of elements from both streams.

    Zips this stream with another point-wise and emits tuples of elements from both streams.

    The new stream will end when one of the sides ends.

  262. def zipAll[R1 <: R, E1 >: E, A1 >: A, A2](that: ⇒ ZStream[R1, E1, A2])(defaultLeft: ⇒ A1, defaultRight: ⇒ A2)(implicit trace: Trace): ZStream[R1, E1, (A1, A2)]

    Permalink

    Zips this stream with another point-wise, creating a new stream of pairs of elements from both sides.

    Zips this stream with another point-wise, creating a new stream of pairs of elements from both sides.

    The defaults defaultLeft and defaultRight will be used if the streams have different lengths and one of the streams has ended before the other.

  263. def zipAllLeft[R1 <: R, E1 >: E, A1 >: A, A2](that: ⇒ ZStream[R1, E1, A2])(default: ⇒ A1)(implicit trace: Trace): ZStream[R1, E1, A1]

    Permalink

    Zips this stream with another point-wise, and keeps only elements from this stream.

    Zips this stream with another point-wise, and keeps only elements from this stream.

    The provided default value will be used if the other stream ends before this one.

  264. def zipAllRight[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(default: ⇒ A2)(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Zips this stream with another point-wise, and keeps only elements from the other stream.

    Zips this stream with another point-wise, and keeps only elements from the other stream.

    The provided default value will be used if this stream ends before the other one.

  265. def zipAllWith[R1 <: R, E1 >: E, A2, A3](that: ⇒ ZStream[R1, E1, A2])(left: (A) ⇒ A3, right: (A2) ⇒ A3)(both: (A, A2) ⇒ A3)(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Zips this stream with another point-wise.

    Zips this stream with another point-wise. The provided functions will be used to create elements for the composed stream.

    The functions left and right will be used if the streams have different lengths and one of the streams has ended before the other.

  266. def zipLatest[R1 <: R, E1 >: E, A2, A3](that: ⇒ ZStream[R1, E1, A2])(implicit zippable: Zippable[A, A2], trace: Trace): ZStream[R1, E1, Out]

    Permalink

    Zips the two streams so that when a value is emitted by either of the two streams, it is combined with the latest value from the other stream to produce a result.

    Zips the two streams so that when a value is emitted by either of the two streams, it is combined with the latest value from the other stream to produce a result.

    Note: tracking the latest value is done on a per-chunk basis. That means that emitted elements that are not the last value in chunks will never be used for zipping.

  267. def zipLatestWith[R1 <: R, E1 >: E, A2, A3](that: ⇒ ZStream[R1, E1, A2])(f: (A, A2) ⇒ A3)(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Zips the two streams so that when a value is emitted by either of the two streams, it is combined with the latest value from the other stream to produce a result.

    Zips the two streams so that when a value is emitted by either of the two streams, it is combined with the latest value from the other stream to produce a result.

    Note: tracking the latest value is done on a per-chunk basis. That means that emitted elements that are not the last value in chunks will never be used for zipping.

  268. def zipLeft[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A]

    Permalink

    Zips this stream with another point-wise, but keeps only the outputs of this stream.

    Zips this stream with another point-wise, but keeps only the outputs of this stream.

    The new stream will end when one of the sides ends.

  269. def zipRight[R1 <: R, E1 >: E, A2](that: ⇒ ZStream[R1, E1, A2])(implicit trace: Trace): ZStream[R1, E1, A2]

    Permalink

    Zips this stream with another point-wise, but keeps only the outputs of the other stream.

    Zips this stream with another point-wise, but keeps only the outputs of the other stream.

    The new stream will end when one of the sides ends.

  270. def zipWith[R1 <: R, E1 >: E, A2, A3](that: ⇒ ZStream[R1, E1, A2])(f: (A, A2) ⇒ A3)(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Zips this stream with another point-wise and applies the function to the paired elements.

    Zips this stream with another point-wise and applies the function to the paired elements.

    The new stream will end when one of the sides ends.

  271. def zipWithChunks[R1 <: R, E1 >: E, A1 >: A, A2, A3](that: ⇒ ZStream[R1, E1, A2])(f: (Chunk[A1], Chunk[A2]) ⇒ (Chunk[A3], Either[Chunk[A1], Chunk[A2]]))(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Zips this stream with another point-wise and applies the function to the paired elements.

    Zips this stream with another point-wise and applies the function to the paired elements.

    The new stream will end when one of the sides ends.

  272. def zipWithIndex(implicit trace: Trace): ZStream[R, E, (A, Long)]

    Permalink

    Zips this stream together with the index of elements.

  273. def zipWithNext(implicit trace: Trace): ZStream[R, E, (A, Option[A])]

    Permalink

    Zips each element with the next element if present.

  274. def zipWithPrevious(implicit trace: Trace): ZStream[R, E, (Option[A], A)]

    Permalink

    Zips each element with the previous element.

    Zips each element with the previous element. Initially accompanied by None.

  275. def zipWithPreviousAndNext(implicit trace: Trace): ZStream[R, E, (Option[A], A, Option[A])]

    Permalink

    Zips each element with both the previous and next element.

Deprecated Value Members

  1. def zipWithLatest[R1 <: R, E1 >: E, A2, A3](that: ⇒ ZStream[R1, E1, A2])(f: (A, A2) ⇒ A3)(implicit trace: Trace): ZStream[R1, E1, A3]

    Permalink

    Zips the two streams so that when a value is emitted by either of the two streams, it is combined with the latest value from the other stream to produce a result.

    Zips the two streams so that when a value is emitted by either of the two streams, it is combined with the latest value from the other stream to produce a result.

    Note: tracking the latest value is done on a per-chunk basis. That means that emitted elements that are not the last value in chunks will never be used for zipping.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.3) use zipLatestWith

Inherited from AnyRef

Inherited from Any

Ungrouped