combine<T, E extends Object> static method

Result<List<T>, E> combine<T, E extends Object>(
  1. List<Result<T, E>> results
)

Combines multiple Results into a single Result containing a list

Implementation

static Result<List<T>, E> combine<T, E extends Object>(
  List<Result<T, E>> results,
) {
  final values = <T>[];
  for (final result in results) {
    switch (result) {
      case Success(value: final value):
        values.add(value);
      case Failure(error: final error):
        return Result.failure(error);
    }
  }
  return Result.success(values);
}