VisualBasicFunctionalExtensions 1.0.1
dotnet add package VisualBasicFunctionalExtensions --version 1.0.1
NuGet\Install-Package VisualBasicFunctionalExtensions -Version 1.0.1
<PackageReference Include="VisualBasicFunctionalExtensions" Version="1.0.1" />
paket add VisualBasicFunctionalExtensions --version 1.0.1
#r "nuget: VisualBasicFunctionalExtensions, 1.0.1"
// Install VisualBasicFunctionalExtensions as a Cake Addin #addin nuget:?package=VisualBasicFunctionalExtensions&version=1.0.1 // Install VisualBasicFunctionalExtensions as a Cake Tool #tool nuget:?package=VisualBasicFunctionalExtensions&version=1.0.1
VisualBasicFunctionalExtensions
Package ID: VisualBasicFunctionalExtensions
Version: 0.0.5
Owner: Justi
License: MIT
Overview
VisualBasicFunctionalExtensions is a functional library for Visual Basic .NET 2.0, drawing inspiration from Rust's functional programming concepts. The library is designed without a focus on performance, making it suitable for various applications.
Installation
Install via NuGet Package Manager Console:
dotnet add package VisualBasicFunctionalExtensions --version 0.0.5
Features
- Result and Maybe Monads
Examples
Introduction to all the methods and function the library has to offer.
Result
Try
Try(Of T, E)(func As Func(Of T), onError As Func(Of Exception, E)) As Result(Of T, E)
Private Const expectedMessage = "Can not sqrt negative integers"
Public Function CustomSqrt(x As Integer) As Double
If x < 0 Then
Throw New Exception(expectedMessage)
Else
Return Math.Sqrt(x)
End If
End Function
Public Sub ExampleNoException()
Dim value = 15
Dim expected = Result(Of Double, String).Ok(CustomSqrt(value))
Dim res = Result(Of Double, String).
Try(
Function() CustomSqrt(value),
Function(exception) exception.Message
)
Assert.AreEqual(expected, res)
End Sub
Public Sub ExampleCatchException()
Dim value = -1
Dim expected = Result(Of Double, String).Err(errorValue:=expectedMessage)
Dim res = Result(Of Double, String).
Try(
Function() CustomSqrt(value),
Function(exception) exception.Message
)
Assert.AreEqual(expected, res)
End Sub
Authors
Justin Kasteleijn Nadia Alrayes
License
MIT License
Copyright
(c) Justin Kasteleijn 2024
Bug Reporting
For bug reports, visit the GitHub repository.
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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on VisualBasicFunctionalExtensions:
Package | Downloads |
---|---|
Tenma-PowerSupply-API
Welcome to the Tenma Power Supply API, a library for interacting with Tenma power supplies using a functional approach. This library is built using Visual Basic and Functional Extensions. |
|
BK.Precision.PowerSupply.API
A clear and functional API for BK Precision Power Supplies. Tests are done using device 1688B, no unit tests are currently present. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Added OnErr and OnOk so apply is now starting to become deprecated