partition<T> static method
Partitions a non-homogeneous list collection of results into separated, isolated collections.
Yields a clean Dart record containing a structured list mapping of all successes alongside gathered failures.
Implementation
static (List<T> successes, List<Failure> failures) partition<T>(
List<Result<T>> results,
) {
final successes = <T>[];
final failures = <Failure>[];
for (final result in results) {
switch (result) {
case _SuccessResult<T>(success: final success):
successes.add(success.value);
case _FailureResult<T>(failure: final failure):
failures.add(failure);
}
}
return (successes, failures);
}