Mahamudra.Core
5.0.0
dotnet add package Mahamudra.Core --version 5.0.0
NuGet\Install-Package Mahamudra.Core -Version 5.0.0
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="Mahamudra.Core" Version="5.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mahamudra.Core" Version="5.0.0" />
<PackageReference Include="Mahamudra.Core" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Mahamudra.Core --version 5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Mahamudra.Core, 5.0.0"
#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.
#:package Mahamudra.Core@5.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Mahamudra.Core&version=5.0.0
#tool nuget:?package=Mahamudra.Core&version=5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Mahamudra.Core
A simple package that implements the Railway Oriented Programming, a powerful Functional Programming pattern.
Usage
public static Result<Person, string> CheckName(Result<Person, string> person)
{
if (string.IsNullOrWhiteSpace(person.Value.Name))
return new Failure<Person, string>("Name should not be blank.");
else
return new Success<Person, string>(person.Value);
}
[TestMethod]
public void Bind_ShouldFailValidateAge_True()
{
var result = person2
.Bind(Validation.CheckName)
.Bind(Validation.CheckEmail)
.Bind(Validation.CheckAge);
Assert.IsTrue(result.Messages.Contains("The age should be not inferior than 18."));
}
Test
public class Success
{
private Result<Person, string> person;
[TestInitialize]
public void Init()
{
person = new Success<Person, string>(new Person
{
Email = "",
Name = "Pippo",
Age = 120
});
}
[TestMethod]
public void Success_ShouldReturnSuccessFromResult_True()
{
Assert.IsTrue(person is Success<Person, string>);
}
}
public class Failure
{
private Result<Person, string> error;
[TestInitialize]
public void Init()
{
error = new Failure<Person, string>("This is an error!");
}
[TestMethod]
public void Failure_ShouldReturnFailureFromResult_True()
{
Assert.IsTrue(error is Failure<Person, string>);
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Mahamudra.Core:
| Package | Downloads |
|---|---|
|
Mahamudra.Contemporary
A robust Task Parallel Library that combines Railway Oriented Programming with parallel execution patterns. Execute collections of tasks concurrently while maintaining functional programming principles and comprehensive error handling. |
|
|
Mahamudra.Guard
Guard patterns |
GitHub repositories
This package is not used by any popular GitHub repositories.
Railway Oriented Programming Library with .NET Standard 2.1 support