flatZip4<T1, T2, T3, T4, U, E> function

Result<U, E> flatZip4<T1, T2, T3, T4, U, E>(
  1. Result<T1, E> r1,
  2. Result<T2, E> r2,
  3. Result<T3, E> r3,
  4. Result<T4, E> r4,
  5. Result<U, E> transform(
    1. T1,
    2. T2,
    3. T3,
    4. T4,
    ),
)

FlatZip function for combining four Result instances with a Result-returning transform.

Implementation

Result<U, E> flatZip4<T1, T2, T3, T4, U, E>(
  Result<T1, E> r1,
  Result<T2, E> r2,
  Result<T3, E> r3,
  Result<T4, E> r4,
  Result<U, E> Function(T1, T2, T3, T4) transform,
) {
  return r1.flatMap(
    (v1) => r2.flatMap(
      (v2) => r3.flatMap((v3) => r4.flatMap((v4) => transform(v1, v2, v3, v4))),
    ),
  );
}