zip3<A, B, C, R> method

ZipStream<dynamic, R> zip3 <A, B, C, R>(
  1. Stream<A> streamA,
  2. Stream<B> streamB,
  3. Stream<C> streamC,
  4. R zipper(
    1. A a,
    2. B b,
    3. C c
    )
)

Constructs a Stream which merges the specified Streams into a sequence using the given zipper Function, whenever all of the provided Streams have produced an element at a corresponding index.

Implementation

static ZipStream<dynamic, R> zip3<A, B, C, R>(
  Stream<A> streamA,
  Stream<B> streamB,
  Stream<C> streamC,
  R Function(A a, B b, C c) zipper,
) {
  return ZipStream<dynamic, R>(
    [streamA, streamB, streamC],
    (List<dynamic> values) {
      return zipper(
        values[0] as A,
        values[1] as B,
        values[2] as C,
      );
    },
  );
}