mergeAsyncValues4<R, A, B, C, D> function

AsyncValue<R> mergeAsyncValues4<R, A, B, C, D>(
  1. AsyncValue<A> a,
  2. AsyncValue<B> b,
  3. AsyncValue<C> c,
  4. AsyncValue<D> d,
  5. R callback(
    1. A,
    2. B,
    3. C,
    4. D,
    ),
)

Merges four async values into one async value using the provided callback function.

Implementation

AsyncValue<R> mergeAsyncValues4<R, A, B, C, D>(
  AsyncValue<A> a,
  AsyncValue<B> b,
  AsyncValue<C> c,
  AsyncValue<D> d,
  R Function(A, B, C, D) callback,
) {
  final merged =
      mergeAsyncValues3<List, A, B, C>(a, b, c, (a, b, c) => [a, b, c]);
  return merged.mergeWith<D, R>(
    d,
    (list, d) => callback(list[0], list[1], list[2], d),
  );
}