DarkPeak.Functional
1.7.0
See the version list below for details.
dotnet add package DarkPeak.Functional --version 1.7.0
NuGet\Install-Package DarkPeak.Functional -Version 1.7.0
<PackageReference Include="DarkPeak.Functional" Version="1.7.0" />
<PackageVersion Include="DarkPeak.Functional" Version="1.7.0" />
<PackageReference Include="DarkPeak.Functional" />
paket add DarkPeak.Functional --version 1.7.0
#r "nuget: DarkPeak.Functional, 1.7.0"
#:package DarkPeak.Functional@1.7.0
#addin nuget:?package=DarkPeak.Functional&version=1.7.0
#tool nuget:?package=DarkPeak.Functional&version=1.7.0
DarkPeak.Functional
A functional programming library for .NET providing monadic types and railway-oriented programming patterns.
Features
- Option<T> — Type-safe alternative to null
- Result<T, TError> — Railway-oriented error handling
- Either<TLeft, TRight> — Symmetric dual-value type
- Validation<T, TError> — Error accumulation
- Retry — Configurable retry policies with backoff strategies
- Memoize — Function caching with TTL, LRU, and distributed cache support
All types support Map, Bind, Match, LINQ query syntax, and async variants.
Quick Start
using DarkPeak.Functional;
var result = Option.Some("42")
.Bind(s => Option.TryParse<int>(s))
.Map(x => x * 2)
.Match(
some: x => $"Result: {x}",
none: () => "No value");
// "Result: 84"
Building
dotnet build
dotnet test
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- No dependencies.
NuGet packages (7)
Showing the top 5 NuGet packages that depend on DarkPeak.Functional:
| Package | Downloads |
|---|---|
|
DarkPeak.Functional.Http
Functional HTTP client extensions for .NET. Wraps HttpClient operations in Result<T, Error> for type-safe, exception-free HTTP communication using railway-oriented programming. |
|
|
DarkPeak.Functional.AspNet
ASP.NET integration for DarkPeak.Functional. Provides extensions to convert Result<T, Error> to IResult and ProblemDetails for idiomatic minimal API error handling. |
|
|
DarkPeak.Functional.Dapper
Functional Dapper extensions for DarkPeak.Functional. Wraps Dapper query and execute methods in Result types with typed database error mapping and functional transaction support. |
|
|
DarkPeak.Functional.EntityFramework
Functional Entity Framework Core extensions for DarkPeak.Functional. Wraps DbContext query and save methods in Result types with typed error mapping and functional transaction support. |
|
|
DarkPeak.Functional.Redis
Redis distributed cache provider for DarkPeak.Functional. Implements ICacheProvider using StackExchange.Redis for use with Memoize and MemoizeResult. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.16.4 | 186 | 3/14/2026 |
| 1.14.1 | 153 | 3/13/2026 |
| 1.13.1 | 151 | 2/15/2026 |
| 1.12.0 | 147 | 2/15/2026 |
| 1.10.1 | 154 | 2/15/2026 |
| 1.8.0 | 121 | 2/15/2026 |
| 1.7.0 | 134 | 2/15/2026 |
| 1.6.20-PullRequest11.3 | 44 | 2/14/2026 |
| 1.6.18 | 101 | 2/14/2026 |
| 1.6.17 | 99 | 2/14/2026 |
| 1.6.17-PullRequest10.0 | 45 | 2/14/2026 |
| 1.6.16-PullRequest9.0 | 49 | 2/14/2026 |
| 1.6.15 | 112 | 2/14/2026 |
| 1.6.15-PullRequest8.3 | 45 | 2/14/2026 |
| 1.6.14 | 107 | 2/14/2026 |
| 1.6.13 | 109 | 2/14/2026 |
| 1.6.12-PullRequest7.7 | 41 | 2/14/2026 |
| 1.6.12-PullRequest7.0 | 42 | 2/14/2026 |
| 1.6.10 | 112 | 2/14/2026 |
| 1.6.5-PullRequest1.0 | 47 | 2/14/2026 |