zip9<A, B, C, D, E, F, G, H, I, R> static method

ZipStream<dynamic, R> zip9<A, B, C, D, E, F, G, H, I, R>(
  1. Stream<A> streamA,
  2. Stream<B> streamB,
  3. Stream<C> streamC,
  4. Stream<D> streamD,
  5. Stream<E> streamE,
  6. Stream<F> streamF,
  7. Stream<G> streamG,
  8. Stream<H> streamH,
  9. Stream<I> streamI,
  10. R zipper(
    1. A a,
    2. B b,
    3. C c,
    4. D d,
    5. E e,
    6. F f,
    7. G g,
    8. H h,
    9. I i
    )
)

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> zip9<A, B, C, D, E, F, G, H, I, R>(
  Stream<A> streamA,
  Stream<B> streamB,
  Stream<C> streamC,
  Stream<D> streamD,
  Stream<E> streamE,
  Stream<F> streamF,
  Stream<G> streamG,
  Stream<H> streamH,
  Stream<I> streamI,
  R Function(A a, B b, C c, D d, E e, F f, G g, H h, I i) zipper,
) {
  return ZipStream<dynamic, R>(
    [
      streamA,
      streamB,
      streamC,
      streamD,
      streamE,
      streamF,
      streamG,
      streamH,
      streamI
    ],
    (List<dynamic> values) {
      return zipper(
        values[0] as A,
        values[1] as B,
        values[2] as C,
        values[3] as D,
        values[4] as E,
        values[5] as F,
        values[6] as G,
        values[7] as H,
        values[8] as I,
      );
    },
  );
}