CSharpFunctionalExtensions.Errors
0.0.0.1-alpha
This is a prerelease version of CSharpFunctionalExtensions.Errors.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package CSharpFunctionalExtensions.Errors --version 0.0.0.1-alpha
NuGet\Install-Package CSharpFunctionalExtensions.Errors -Version 0.0.0.1-alpha
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CSharpFunctionalExtensions.Errors" Version="0.0.0.1-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSharpFunctionalExtensions.Errors --version 0.0.0.1-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: CSharpFunctionalExtensions.Errors, 0.0.0.1-alpha"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CSharpFunctionalExtensions.Errors as a Cake Addin #addin nuget:?package=CSharpFunctionalExtensions.Errors&version=0.0.0.1-alpha&prerelease // Install CSharpFunctionalExtensions.Errors as a Cake Tool #tool nuget:?package=CSharpFunctionalExtensions.Errors&version=0.0.0.1-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CSharpFunctionalExtensions.Errors
This library has the following errors classes
ErrorList
ErrorList
To help return a collection of errors.
It can be used to combine multiple errors using the Combine
method.
Example:
var stringResultSuccess = Result.Success<string, ErrorList>("one");
var emailResultFailure = EmailAddress.Create("Bad Email");
var result = Result.Combine<ErrorList>(stringResultSuccess, emailResultFailure);
Common Error classes
The following error classes are available.
- Conflict
- NotFound
- Unauthorized
- Unexpected
- Validation
Fluent Validation Extension
The following extension will convert Fluent Validation errors to ErrorList
with Error.Validation errors
.
public static Result<T, ErrorList> ToResult<T>(this FluentValidation.Results.ValidationResult validationResult, T value)
Example:
Look at s_validator.Validate(user).ToResult(user);
below.
public class User : Entity<Guid>
{
public string FirstName { get; }
public string LastName { get; }
public string Email { get; }
public string Password { get; }
public static Result<User, ErrorList> Create(string firstName, string lastName, string email, string password)
{
var user = new User(firstName, lastName, email, password);
return s_validator.Validate(user).ToResult(user);
}
private User(string firstName, string lastName, string email, string password)
{
FirstName = firstName;
LastName = lastName;
Email = email;
Password = password;
}
static readonly InlineValidator<User> s_validator = new()
{
v => v.RuleFor(x => x.FirstName).NotEmpty(),
v => v.RuleFor(x => x.LastName).NotEmpty(),
v => v.RuleFor(x => x.Email).NotEmpty().EmailAddress(),
v => v.RuleFor(x => x.Password).NotEmpty()
};
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- CSharpFunctionalExtensions (>= 2.36.1)
- FluentValidation (>= 11.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CSharpFunctionalExtensions.Errors:
Package | Downloads |
---|---|
CSharpFunctionalExtensions.Asp
ASP .net base controller to translated errors to http errors. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0-alpha.10 | 152 | 2/2/2023 |
0.1.0-alpha.5 | 105 | 1/31/2023 |
0.0.1-alpha | 114 | 12/9/2022 |
0.0.0.1-alpha | 107 | 11/14/2022 |