diff --git a/examples/poke_api/lib/main.dart b/examples/poke_api/lib/main.dart index ff69a95..a670f1a 100644 --- a/examples/poke_api/lib/main.dart +++ b/examples/poke_api/lib/main.dart @@ -7,12 +7,12 @@ import 'package:poke_api/pokemon.dart'; import 'package:poke_api/pokemon_error.dart'; abstract interface class HttpClient { - Effect get(Uri uri); + Effect get(Uri uri); } class Http implements HttpClient { @override - Effect get(Uri uri) => Effect.gen( + Effect get(Uri uri) => Effect.gen( ($) async { final response = await $.async(Effect.tryCatch( execute: () => http.get(uri), diff --git a/packages/fpdart/lib/src/option.dart b/packages/fpdart/lib/src/option.dart index 72cefae..27e4a2f 100644 --- a/packages/fpdart/lib/src/option.dart +++ b/packages/fpdart/lib/src/option.dart @@ -61,7 +61,7 @@ final class Some extends Option { const Some(this.value); @override - Effect get asEffect => Effect.succeed(value); + Effect get asEffect => Effect._((_) => Right(value)); @override Effect provide(L Function() onNone) => Effect.succeed(value); @@ -94,11 +94,9 @@ final class None extends Option { factory None() => _none; @override - @internal - - /// **This will always throw, don't use it!** - // ignore: cast_from_null_always_fails - Effect get asEffect => Effect.fail(null as Never); + Effect get asEffect => + // ignore: cast_from_null_always_fails + Effect._((_) => Left(Fail(null as Never))); Option andThen(Option Function() then) => this;