result_class 1.0.0-nullsafety
result_class: ^1.0.0-nullsafety copied to clipboard
A type that represents either success or failure, similar to Rusts std::result.
Result #
A class that for transparent error propagation and handling similar to Rusts result
You can do computations with values without having to check for validity with the map-method.
final r = Result.ok(2);
final r1 = r.map((value) => value * 2);
assert(r1.contains(4));
It's also possible to flatMap a function that returns a Result over the value to prevent nesting of [Result]s
Result<int, String> failable(int i) => i > 5
? Result.err("Some error happened")
: Result.ok(i * 2);
final s = Result.ok(10);
final s1 = s.flatMap(failable);
assert(s1.containsErr("Some error happened"));
mapErr and flatMapErr provide equivalent functionality for errors.