combine<T> static method

Result<List<T>> combine<T>(
  1. List<Result<T>> results
)

Evaluates an array list collection of multi-source results.

Consolidates all single values into a clean Result<List<T>> collection. Fails completely and halts immediately, returns the first captured Failure if any index item matches error states.

Implementation

static Result<List<T>> combine<T>(List<Result<T>> results) {
  final values = <T>[];
  for (final result in results) {
    switch (result) {
      case _SuccessResult<T>(success: final success):
        values.add(success.value);
      case _FailureResult<T>(failure: final failure):
        return Result.failure(failure);
    }
  }
  return Result.success(values);
}