dart_result 1.0.0 dart_result: ^1.0.0 copied to clipboard
A starting point for Dart libraries or applications.
example/dart_result_example.dart
import 'package:dart_result/dart_result.dart';
void main() {
Result<int> truncDiv(int num1, int num2) {
if (num2 == 0) {
return Failure('cannot divide by zero');
}
return Success(num1 ~/ num2);
}
final successResult = truncDiv(5, 4);
final failureResult = truncDiv(5, 0);
final didSucceed = successResult.isSuccess;
final didFail = failureResult.isFailure;
final defaultVal = failureResult.getOrElse((failed) => 0);
final matched =
successResult.match((val) => val, (val) => 'Operation Failed');
final mapped = successResult.mapSuccess((val) => val + 1);
print('dividing 5 by 4 successful? : $didSucceed');
print('dividing 5 by 0 failure? : $didFail');
print('dividing 5 by 0 failed, default val provided: $defaultVal');
print('pattern match on $successResult returned: $matched');
print('mapped $successResult to value of $mapped');
}