eQuantic.Core.Outcomes
3.1.0
dotnet add package eQuantic.Core.Outcomes --version 3.1.0
NuGet\Install-Package eQuantic.Core.Outcomes -Version 3.1.0
<PackageReference Include="eQuantic.Core.Outcomes" Version="3.1.0" />
<PackageVersion Include="eQuantic.Core.Outcomes" Version="3.1.0" />
<PackageReference Include="eQuantic.Core.Outcomes" />
paket add eQuantic.Core.Outcomes --version 3.1.0
#r "nuget: eQuantic.Core.Outcomes, 3.1.0"
#:package eQuantic.Core.Outcomes@3.1.0
#addin nuget:?package=eQuantic.Core.Outcomes&version=3.1.0
#tool nuget:?package=eQuantic.Core.Outcomes&version=3.1.0
eQuantic.Core.Outcomes
A modern, type-safe Result Pattern for .NET with Railway-Oriented Programming: handle success and failure elegantly, without exceptions — immutable results, typed errors with severity/categorization, combinators, full async support and built-in observability (correlation IDs, execution timing).
using eQuantic.Core.Outcomes;
using eQuantic.Core.Outcomes.Errors;
using eQuantic.Core.Outcomes.Extensions;
Result<User> result = GetUser(id) // Result<User>.Success(user) / .Failure(error)
.Ensure(user => user.IsActive, new Error("user.inactive", "User is inactive"))
.Bind(user => LoadProfile(user)) // Result-returning step
.Map(profile => profile.DisplayName) // plain transformation
.Tap(name => logger.LogInformation("Loaded {Name}", name));
var response = result.Match(
onSuccess: name => $"Hello {name}",
onFailure: errors => $"Failed: {errors[0].Message}");
// Async pipelines: MapAsync / BindAsync / TapAsync mirror the whole surface.
- Dependency-free core — no ASP.NET Core reference; usable in any app model (console, workers, libraries).
- Typed errors (
Error,ValidationError) withErrorType/ErrorSeveritydriving HTTP mapping downstream. - Result shapes:
BasicResult,ItemResult<T>,ListResult<T>,PagedListResult<T>with fluent builders and System.Text.Json-friendly serialization. - Combinators to aggregate multiple results; async variants throughout.
Companions
| Package | Purpose |
|---|---|
| eQuantic.Core.Outcomes.AspNetCore | Result → IActionResult/HTTP with automatic status mapping and RFC 7807 Problem Details. |
| eQuantic.Core.Outcomes.FluentValidation | FluentValidation results as typed Result failures. |
Targets net8.0/net10.0. Full documentation: https://github.com/eQuantic/core-outcomes
MIT © eQuantic Tech
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- eQuantic.Core (>= 1.8.4)
-
net8.0
- eQuantic.Core (>= 1.8.4)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on eQuantic.Core.Outcomes:
| Package | Downloads |
|---|---|
|
eQuantic.Core.Outcomes.FluentValidation
FluentValidation integration for eQuantic Core Outcomes Library: turn validation results into typed Result failures. |
|
|
eQuantic.Core.Outcomes.AspNetCore
ASP.NET Core integration for eQuantic Core Outcomes Library: convert Result types to IActionResult/IResult with automatic HTTP status mapping and RFC 7807 Problem Details. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v3.0.0 - Modernization: net8.0/net10.0, ASP.NET Core integration split into eQuantic.Core.Outcomes.AspNetCore (the core package no longer references Microsoft.AspNetCore.App), dependencies updated.