flatten method

Result<T, E> flatten()

Turns Ok(Ok(value)) into Ok(value), and either error into Err.

const Result<Result<int, String>, String> nested = Ok(Ok(1));
final flat = nested.flatten(); // Ok(1)

Implementation

Result<T, E> flatten() {
  return switch (this) {
    Ok<Result<T, E>, E>(:final value) => value,
    Err<Result<T, E>, E>(:final error) => Err<T, E>(error),
  };
}