ErrorOr.Extensions
1.3.0
dotnet add package ErrorOr.Extensions --version 1.3.0
NuGet\Install-Package ErrorOr.Extensions -Version 1.3.0
<PackageReference Include="ErrorOr.Extensions" Version="1.3.0" />
paket add ErrorOr.Extensions --version 1.3.0
#r "nuget: ErrorOr.Extensions, 1.3.0"
// Install ErrorOr.Extensions as a Cake Addin #addin nuget:?package=ErrorOr.Extensions&version=1.3.0 // Install ErrorOr.Extensions as a Cake Tool #tool nuget:?package=ErrorOr.Extensions&version=1.3.0
ErrorOr.Extensions
An extension library for ErrorOr by Amichai Mantinband.
Features
This library extends the ErrorOr library with useful features to allow for some specific workflows, for creating meaningful error handling in your applications.
LINQ and LINQ async
This library provides LINQ extensions for ErrorOr
. This enables a very clean approach of binding multiple ErrorOr
generating function together. You can write them with the usual from x in y select x
syntax you know and love from
LINQ. If an error occurs along the way, processing of the chain is interrupted and the collected errors are passed to
the resulting instance of ErrorOr<T>
.
Example:
ErrorOr<string> errorOr =
from userId in ParseInput("10") // returns ErrorOr<int>
from user in userRepository.Lookup(userId) // returns ErrorOr<User>
select user.Name // maps to string
This also works if the methods that are chained are asynchronous:
Task<ErrorOr<string>> errorOr =
from userId in ParseInput("10") // returns Task<ErrorOr<int>>
from user in userRepository.Lookup(userId) // returns Task<ErrorOr<User>>
select user.Name // maps to string
Closing
The author of this extension library is not affiliated with Amichai Mantinband nor does he claim anything from the ErrorOr library.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- ErrorOr (>= 1.9.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.