Skip to content

Commit

Permalink
chore: Update rust
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmah309 committed Dec 12, 2024
1 parent 77f8c09 commit 1036bc6
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 26 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ void main() {
Result<String> order(String user, int orderNumber) {
final result = makeFood(orderNumber).context("Could not order for $user.");
if(result case Ok(o:final order)) {
if(result case Ok(v:final order)) {
return Ok("Order of $order is complete for $user");
}
return result;
Expand Down Expand Up @@ -77,7 +77,7 @@ void main() {
Result<String, String> order(String user, int orderNumber) {
final result = makeFood(orderNumber);
if(result case Ok(o:final order)) {
if(result case Ok(v:final order)) {
return Ok("Order of $order is complete for $user");
}
Logging.w("Could not order for $user.");
Expand Down
2 changes: 1 addition & 1 deletion example/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ void main() {
Result<String> order(String user, int orderNumber) {
final result =
makeFood(orderNumber).context("Could not order for user: $user.");
if (result case Ok(o: final order)) {
if (result case Ok(v: final order)) {
return Ok("Order of $order is complete for $user");
}
return result;
Expand Down
4 changes: 2 additions & 2 deletions example/working_with_anyhow_errors.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import 'package:anyhow/anyhow.dart';

void main() {
Result err = bail("This is a single error");
if (err case Ok(:final okay)) {
print(okay);
if (err case Ok(:final v)) {
print(v);
}
print(err.unwrapErr());
err = err.context("This is context for the error");
Expand Down
26 changes: 12 additions & 14 deletions lib/src/extensions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ extension AnyhowResultExtension<S> on Result<S> {
switch (this) {
case Ok():
return this;
case Err(:final error):
case Err(:final v):
assert(context is! Error, _isAlreadyErrorAssertionMessage);
if (Error.hasStackTrace) {
return Err(Error._withStackTrace(context, StackTrace.current,
parent: error));
return Err(
Error._withStackTrace(context, StackTrace.current, parent: v));
}
return Err(Error(context, parent: error));
return Err(Error(context, parent: v));
}
}

Expand All @@ -28,14 +28,14 @@ extension AnyhowResultExtension<S> on Result<S> {
switch (this) {
case Ok():
return this;
case Err(:final error):
case Err(:final v):
final context = fn();
assert(context is! Error, _isAlreadyErrorAssertionMessage);
if (Error.hasStackTrace) {
return Err(Error._withStackTrace(context, StackTrace.current,
parent: error));
return Err(
Error._withStackTrace(context, StackTrace.current, parent: v));
}
return Err(Error(context, parent: error));
return Err(Error(context, parent: v));
}
}
}
Expand All @@ -57,10 +57,9 @@ extension AnyhowErrExtension<S> on Err<S> {
Err<S> context(Object context) {
assert(context is! Error, _isAlreadyErrorAssertionMessage);
if (Error.hasStackTrace) {
return Err(
Error._withStackTrace(context, StackTrace.current, parent: error));
return Err(Error._withStackTrace(context, StackTrace.current, parent: v));
}
return Err(Error(context, parent: error));
return Err(Error(context, parent: v));
}

/// Lazily calls the function if the [Result] is an [Err] and returns an [Error] with the additional context.
Expand All @@ -69,10 +68,9 @@ extension AnyhowErrExtension<S> on Err<S> {
final context = fn();
assert(context is! Error, _isAlreadyErrorAssertionMessage);
if (Error.hasStackTrace) {
return Err(
Error._withStackTrace(context, StackTrace.current, parent: error));
return Err(Error._withStackTrace(context, StackTrace.current, parent: v));
}
return Err(Error(context, parent: error));
return Err(Error(context, parent: v));
}
}

Expand Down
5 changes: 3 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
name: anyhow
description: Idiomatic error handling capabilities to make your code safer, more maintainable, and errors easier to
debug. Dart implementation of Rust's Result monad type and "anyhow" crate.
version: 2.0.1
version: 3.0.0-dev.1
repository: https://github.com/mcmah309/anyhow

environment:
sdk: ">=3.3.0 <4.0.0"

dependencies:
rust: ^2.0.1
rust: ^3.0.0-dev.2
tapper:

dev_dependencies:
lints: ^5.0.0
Expand Down
6 changes: 3 additions & 3 deletions test/result_extensions_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ void main() {

test('transpose', () {
Result<int?> result = Ok(0);
Result<int>? transposed = result.transposeOut();
Result<int>? transposed = result.transpose();
expect(transposed!.unwrap(), 0);
result = Ok(null);
transposed = result.transposeOut();
transposed = result.transpose();
expect(transposed, null);
result = bail("");
transposed = result.transposeOut();
transposed = result.transpose();
expect(transposed!.unwrapErr().downcast<String>().unwrap(), "");
});
}
Expand Down
4 changes: 2 additions & 2 deletions test/result_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ void main() {
test("context", () {
final result = bail(1).context("bing bong").context("bong bing");
List<Object> causes = [];
for (final (index, cause) in result.error.chain().indexed) {
for (final (index, cause) in result.v.chain().indexed) {
if (index == 2) {
causes.add(cause.downcast<int>().unwrap());
} else {
Expand All @@ -343,7 +343,7 @@ void main() {
final result =
bail(1).withContext(() => "bing bong").withContext(() => "bong bing");
List<Object> causes = [];
for (final (index, cause) in result.error.chain().indexed) {
for (final (index, cause) in result.v.chain().indexed) {
if (index == 2) {
causes.add(cause.downcast<int>().unwrap());
} else {
Expand Down

0 comments on commit 1036bc6

Please sign in to comment.