Wrap.Mvc
1.2.5
dotnet add package Wrap.Mvc --version 1.2.5
NuGet\Install-Package Wrap.Mvc -Version 1.2.5
<PackageReference Include="Wrap.Mvc" Version="1.2.5" />
<PackageVersion Include="Wrap.Mvc" Version="1.2.5" />
<PackageReference Include="Wrap.Mvc" />
paket add Wrap.Mvc --version 1.2.5
#r "nuget: Wrap.Mvc, 1.2.5"
#:package Wrap.Mvc@1.2.5
#addin nuget:?package=Wrap.Mvc&version=1.2.5
#tool nuget:?package=Wrap.Mvc&version=1.2.5
Wrap: Functional Monads for .NET
Functional monads for .NET (including Maybe - see example) for C# - to handle null values and exceptions better. Railway-oriented programming support via Linq extensions, method chaining, and fuly asynchronous throughout.
Types include:
Monad<T>Either<TLeft, TRight>Id<T>(support forint,uint,long,ulongandGuidvalue types)Maybe<T>(either:Some<T>orNone)Result<T>(either:Ok<T>orFailure)
View the Wiki for documentation.
History
Although this library is at v1, it brings together some mature projects I have been working on since 2019. It started with a Result<T> implementation which morphed into Maybe - which reached v10 in November 2025 - and I figured it would be best to have both.
At the same time I was maintaining a StrongId library - which reached v8.5 in November 2024 - to avoid using primitives for Entity IDs. I realised the similarities between Result<T>, Maybe<T> and Id<T> and decided to bring them all together in one library: Wrap.
Licence
Copyright
Copyright (c) 2019-2026 bfren (unless otherwise stated)
| 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 is compatible. 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. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.