vonage-dotnet-sdk
OneOf
vonage-dotnet-sdk | OneOf | |
---|---|---|
2 | 25 | |
103 | 3,249 | |
-1.0% | - | |
9.6 | 2.1 | |
2 days ago | 9 days ago | |
C# | C# | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vonage-dotnet-sdk
-
The Monad Invasion - Part 2: Monads in Action!
Previously, we built an Optional and showed an existing set based on Language-Ext, but various libraries also offer Monad implementations. In the case of our SDK, we deliberately avoided relying on external libraries like Language-Ext. Indeed, Monads are a part of the SDK's public API, and relying on an external library would introduce a dependency over which we would have limited control.
-
The Monad Invasion - Part 1: What's a Monad?
This is the first post in a series that aims to demystify Monads and help you benefit from them, using real-life examples from our .NET SDK. Watch my related talk "Throw exceptions... out of your codebase" which was more about Monads than it was about exceptions, even if the title says otherwise.
OneOf
-
The Monad Invasion - Part 1: What's a Monad?
OneOf
-
Discriminated Unions: Essa feature faz falta no CSharp
Inclusive, para suportar esse tipo de funcionalidade, foi criada a biblioteca OneOf: mcintyre321/OneOf: Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching (github.com)
- Easy to use F#-like ~discriminated~ unions for C# with big compile time matching
-
Rolled my own Result<T,E> type that seems to work better than others.
Then I found discussion of the OneOf package, and then found some simpler Result code. I tried using that code but I found the use of Match and lambdas meant I couldn't simply break out of the loop in my example.
-
What's new in C# 12: overview
Until that feature lands there's this https://github.com/mcintyre321/OneOf which is pretty nice.
- The combined power of F# and C#
-
Exception handling between controller and service
Yep, it's called result pattern, aforementioned above. There was two highlighted implementations - OneOf, FluentResults.
-
Have you heard of AnyOf .NET Lib?
No he didn't. He made a video of the OneOf library. Not this one.
-
Have you heard of AnyOf C# Library?
We already have OneOf https://github.com/mcintyre321/OneOf I've used it in Production multiple times and it's an awesome way to keep everything strongly typed and eliminate null reference exceptions.
- What your hidden nuget gems ?
What are some alternatives?
language-ext - C# functional language extensions - a base class library for functional programming
csharp-monad - Library of monads for C#
ValueOf - Deal with Primitive Obsession - define ValueObjects in a single line (of C#).
csharplang - The official repo for the design of the C# programming language
Rop.OneOfExtensionGenerator - OneOf Helper Extensions Source Generator
TensorFlowSharp - TensorFlow API for .NET languages
BinderTool - Dark Souls II / Dark Souls III / Bloodborne bdt, bhd, bnd, dcx, tpf, fmg and param unpacking tool
moja - Composable computation pipelines for Java: Async, Lazy, Option, Try, Result, Multi (List), Stated, Reader, Logger, Writer.
FluentResults - A generalised Result object implementation for .NET/C#
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
dunet - C# discriminated union source generator