好的
为 dart 提供类型安全、直观的错误处理。 dart 中 rust 的 Result 类型的实现。
.
安装
在 pubspec.yaml 的 dependencies: 部分,添加以下行
dependencies:
okay: <latest_version>
用法
import 'package:okay/okay.dart';
class FallibleOpSuccess {}
class FallibleOpFailure {}
Result<FallibleOpSuccess, FallibleOpFailure> fallibleOp() {
if (true) {
return ok(FallibleOpSuccess());
} else {
return err(FallibleOpFailure());
}
}
final result = fallibleOp();
switch(result.type) {
case ResultType.ok:
print('Success with value: ${result.unwrap()}');
break;
case ResultType.err:
print('Failure with error: ${result.unwrapErr()};');
break;
}