https://github.com/equilaterus/vortex
Vortex is a .Net Standard framework focused on Functional Programming.
https://github.com/equilaterus/vortex
Last synced: 4 months ago
JSON representation
Vortex is a .Net Standard framework focused on Functional Programming.
- Host: GitHub
- URL: https://github.com/equilaterus/vortex
- Owner: equilaterus
- License: mit
- Created: 2017-12-12T03:00:25.000Z (about 8 years ago)
- Default Branch: dev
- Last Pushed: 2021-02-25T01:18:09.000Z (almost 5 years ago)
- Last Synced: 2025-06-06T01:25:32.328Z (9 months ago)
- Language: C#
- Homepage: https://equilaterus.github.io/Vortex/
- Size: 387 KB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vortex
[](https://www.codefactor.io/repository/github/equilaterus/vortex) [](https://www.nuget.org/packages/Equilaterus.Vortex/)
Vortex is a .Net Standard framework focused on **Functional Programming**.
Write **elegant** and **testeable** solutions on C# using a Monadic Framework that comes in two flavours:
* From notation
```csharp
await
// Try to create an order
from maybeOrder in
from order in _orderRepository.GetByIdAsync(orderId)
select OrderBehavior.TryCheckout(order)
// Update database
from result in maybeOrder.AwaitSideEffect(_orderRepository.UpdateAsync)
// Return results
select result.Match(Ok, InternalServerError("Error"));
```
* Fluent notation
```csharp
return await
// Try to create an order
_orderRepository.GetByIdAsync(orderId)
.Select(order => OrderBehavior.TryCheckout(order))
// Update database
.SelectMany(m => m.AwaitSideEffect(_orderRepository.UpdateAsync))
// Return results
.Select(m => m.Match(Ok, InternalServerError("Error")));
```
## Builds
* **Release**
[](https://ci.appveyor.com/project/dacanizares/vortex/branch/release) [](https://travis-ci.org/equilaterus/Vortex)
[](https://www.nuget.org/packages/Equilaterus.Vortex/)
* **Master**
[](https://ci.appveyor.com/project/dacanizares/vortex/branch/master) [](https://travis-ci.org/equilaterus/Vortex)
* **Dev** Unstable
[](https://ci.appveyor.com/project/dacanizares/vortex/branch/dev) [](https://travis-ci.org/equilaterus/Vortex)
## Releases
* Download [nuget package](https://www.nuget.org/packages/Equilaterus.Vortex/)
* Download [GitHub releases](https://github.com/equilaterus/Vortex/releases)
* See [version change log](https://github.com/equilaterus/Vortex/wiki/Version-change-log)
## Links
* [Official website](https://equilaterus.github.io/Vortex/)
* [Sample Apps](https://github.com/equilaterus/Vortex.Samples)
* [Vortex Wiki](https://github.com/equilaterus/Vortex/wiki)