Wrap 1.2.1
dotnet add package Wrap --version 1.2.1
NuGet\Install-Package Wrap -Version 1.2.1
<PackageReference Include="Wrap" Version="1.2.1" />
<PackageVersion Include="Wrap" Version="1.2.1" />
<PackageReference Include="Wrap" />
paket add Wrap --version 1.2.1
#r "nuget: Wrap, 1.2.1"
#:package Wrap@1.2.1
#addin nuget:?package=Wrap&version=1.2.1
#tool nuget:?package=Wrap&version=1.2.1
Wrap Monads (C#)
Various monads (including Maybe - see here) for C# - to handle null values and exceptions better - including Linq support, chaining, and asynchronous programming. Includes:
Either<TLeft, TRight>Monad<T>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. |
-
net10.0
- Wrap.Common (>= 1.2.1)
- Wrap.Either (>= 1.2.1)
- Wrap.Id (>= 1.2.1)
- Wrap.Maybe (>= 1.2.1)
- Wrap.Result (>= 1.2.1)
-
net8.0
- Wrap.Common (>= 1.2.1)
- Wrap.Either (>= 1.2.1)
- Wrap.Id (>= 1.2.1)
- Wrap.Maybe (>= 1.2.1)
- Wrap.Result (>= 1.2.1)
-
net9.0
- Wrap.Common (>= 1.2.1)
- Wrap.Either (>= 1.2.1)
- Wrap.Id (>= 1.2.1)
- Wrap.Maybe (>= 1.2.1)
- Wrap.Result (>= 1.2.1)
NuGet packages (33)
Showing the top 5 NuGet packages that depend on Wrap:
| Package | Downloads |
|---|---|
|
Jeebs
Jeebs library |
|
|
Jeebs.Config
Jeebs.Config library |
|
|
Jeebs.Data
Jeebs.Data library |
|
|
Jeebs.Logging.Serilog
Jeebs.Logging.Serilog library |
|
|
Jeebs.Cryptography
Jeebs.Cryptography library |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.1 | 30 | 2/20/2026 |
| 1.2.1-beta.1 | 26 | 2/20/2026 |
| 1.2.0 | 266 | 2/17/2026 |
| 1.1.0 | 417 | 2/8/2026 |
| 1.1.0-beta.9 | 57 | 2/7/2026 |
| 1.1.0-beta.7 | 54 | 2/1/2026 |
| 1.1.0-beta.6 | 55 | 2/1/2026 |
| 1.1.0-beta.5 | 62 | 1/31/2026 |
| 1.1.0-beta.4 | 55 | 1/30/2026 |
| 1.1.0-beta.3 | 53 | 1/29/2026 |
| 1.1.0-beta.1 | 55 | 1/28/2026 |
| 1.0.0 | 338 | 1/27/2026 |
| 1.0.0-beta.26012610 | 51 | 1/27/2026 |
| 1.0.0-beta.26012605 | 56 | 1/26/2026 |
| 1.0.0-beta.26012604 | 45 | 1/26/2026 |
| 1.0.0-beta.26012514 | 113 | 1/25/2026 |
| 1.0.0-beta.26012511 | 55 | 1/25/2026 |
| 1.0.0-beta.26012410 | 59 | 1/24/2026 |
| 1.0.0-beta.26012406 | 47 | 1/24/2026 |
| 1.0.0-beta.25112101 | 307 | 11/21/2025 |