with5<T, A, B, C, D, E, R> method

WithLatestFromStreamTransformer<T, dynamic, R> with5 <T, A, B, C, D, E, R>(
  1. Stream<A> latestFromStream1,
  2. Stream<B> latestFromStream2,
  3. Stream<C> latestFromStream3,
  4. Stream<D> latestFromStream4,
  5. Stream<E> latestFromStream5,
  6. R fn(
    1. T t,
    2. A a,
    3. B b,
    4. C c,
    5. D d,
    6. E e
    )
)

Constructs a StreamTransformer that emits when the source Stream emits, combining the latest values from all latestFromStreams using the provided function fn.

Implementation

static WithLatestFromStreamTransformer<T, dynamic, R>
    with5<T, A, B, C, D, E, R>(
  Stream<A> latestFromStream1,
  Stream<B> latestFromStream2,
  Stream<C> latestFromStream3,
  Stream<D> latestFromStream4,
  Stream<E> latestFromStream5,
  R Function(T t, A a, B b, C c, D d, E e) fn,
) {
  if (fn == null) {
    throw ArgumentError('Combiner cannot be null');
  }
  return WithLatestFromStreamTransformer<T, dynamic, R>(
    [
      latestFromStream1,
      latestFromStream2,
      latestFromStream3,
      latestFromStream4,
      latestFromStream5,
    ],
    (s, values) {
      return fn(
        s,
        values[0] as A,
        values[1] as B,
        values[2] as C,
        values[3] as D,
        values[4] as E,
      );
    },
  );
}