collectOr method

Iterable<T> collectOr(
  1. T fallback
)

Converts an Iterable<Result<T, E>> to a <Iterable<T>. All Err values are replaced by the provided fallback.

Basic usage

final list = <Result<int, String>>[
  Ok(4),
  Ok(7),
  Ok(2),
  Err('first'),
  Ok(9),
  Err('second'),
];
final valueList = list.collectOr(0);
expect(valueList, [4, 7, 2, 0, 9, 0]);

final list = <Result<int, String>>[Ok(1), Ok(2), Ok(3), Ok(4)];
final valueList = list.collectOr(0);
expect(valueList, [1, 2, 3, 4]);

Implementation

Iterable<T> collectOr(T fallback) {
  return map((Result<T, E> result) {
    return result.unwrapOr(fallback);
  });
}