vonage-dotnet-sdk
FluentResults
vonage-dotnet-sdk | FluentResults | |
---|---|---|
2 | 10 | |
103 | 1,668 | |
-1.0% | - | |
9.6 | 0.0 | |
2 days ago | 6 months 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.
FluentResults
-
The Monad Invasion - Part 1: What's a Monad?
FluentResults
-
FluentResults: Simplificando el Manejo de Resultados y Errores en Aplicaciones .NET
altmann/FluentResults: A generalised Result object implementation for .NET/C# (github.com)
-
TypeScript Is Surprisingly OK for Compilers
Or maybe just start using Results as return type and get ValueOrDefault :) But when it comes to handling exceptions, I think it explodes there with ifs and processing IENumerables: https://github.com/altmann/FluentResults
But then again, simpler Results wrapper may be used perhaps. But it is a different way of coding and takes some mental shift on how to think about errors and distinguish between error results and true exceptions.
https://github.com/altmann/FluentResults
-
Exception handling between controller and service
Yep, it's called result pattern, aforementioned above. There was two highlighted implementations - OneOf, FluentResults.
-
Communication - library for Results
What does this library do better or differently than something like Fluent Results?
-
Why is using Exceptions is controversial in low level languages (like C++) but not in C#?
For C# particular - this project https://github.com/altmann/FluentResults
-
Knowledge of generics: isn't it pretty common?
For example https://github.com/altmann/FluentResults is excellent if you want generic results
-
The Operation Result Pattern
It's worth noting that there's also a library called FluentResults as an alternative to this one.
-
Introducing Cranks.Result
Interesting... I just found out that your first intention was to improve FluentResults but your PR got rejected which is a pity. PR: https://github.com/altmann/FluentResults/pull/80. I guess I will have a look at your library in hopes of removing some boilerplate code. Thanks!
What are some alternatives?
language-ext - C# functional language extensions - a base class library for functional programming
Result - A result abstraction that can be mapped to HTTP response codes if needed.
Cranks.Result - A simple, strongly typed and boilerplate poor implementation of the Result pattern.
tweetinvi - Tweetinvi, an intuitive Twitter C# library for the REST and Stream API. It supports .NET, .NETCore, UAP (Xamarin)...
sendgrid-csharp - The Official Twilio SendGrid C#, .NetStandard, .NetCore API Library
excepticon-dotnet - Excepticon SDK for .NET
CSharpFunctionalExtensions - Functional extensions for C#
spectre.console - A .NET library that makes it easier to create beautiful console applications.
error-or - A simple, fluent discriminated union of an error or a result.
Communication - Communication library is a convenient wrapper for handling the results of functions that do not throw exceptions. Instead of throwing exceptions, these functions return an object that contains the result of the operation.
firely-net-sdk - The official Firely .NET SDK for HL7 FHIR
Entity Framework - EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.