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

ForkJoinStream<dynamic, R> join8<A, B, C, D, E, F, G, H, 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. R combiner(
    1. A a,
    2. B b,
    3. C c,
    4. D d,
    5. E e,
    6. F f,
    7. G g,
    8. H h,
    ),
)

Constructs a Stream that awaits the last values the provided Streams, then calls the combiner to emit an event of type R. After this event, the Stream closes.

Implementation

static ForkJoinStream<dynamic, R> join8<A, B, C, D, E, F, G, H, 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,
  R Function(A a, B b, C c, D d, E e, F f, G g, H h) combiner,
) =>
    ForkJoinStream<dynamic, R>(
      [
        streamA,
        streamB,
        streamC,
        streamD,
        streamE,
        streamF,
        streamG,
        streamH
      ],
      (List<dynamic> values) {
        return combiner(
          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,
        );
      },
    );