micro_core_result 0.2.1 micro_core_result: ^0.2.1 copied to clipboard
This package is a simple approach to return multiple values, inspired on dartz package.
micro_core_result #
#
This package is a simple approach to return multiple values, inspired on dartz package. #
Platform Support #
Android | iOS | MacOS | Web | Linux | Windows |
---|---|---|---|---|---|
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Features #
- Result, Left and Right classes to return more than 1 value
- Empty class to not return any data
Usage #
Returning Left or Right #
Future<Result<Exception, List<String>>> getNamesFromAPI() async {
try {
return Right(['Johnson', 'Harvey', 'Marshall', 'Denver', 'Noelene', 'Coreen']);
} on Exception catch (exception) {
return Left(exception);
}
}
void getNames() async {
final result = await getNamesFromAPI();
result(
(exception) => print('Exception => ${exception.toString()}');
(names) => print('Names => $names');
);
}
Returning Left or Empty #
Future<Result<Exception, Empty>> createNameOnDatabase() async {
try {
return Right(empty);
} on Exception catch (exception) {
return Left(exception);
}
}
void createName() async {
final result = await createNameOnDatabase();
result(
(exception) => print('Exception => ${exception.toString()}');
(_) => print('Name Created');
);
}