A library of Rust-like types and helpers for .NET.
Install-Package Oxide -Version 1.0.0
dotnet add package Oxide --version 1.0.0
<PackageReference Include="Oxide" Version="1.0.0" />
paket add Oxide --version 1.0.0
The 1.0 release of Oxide brings a number of breaking API changes, improvements to NuGet packages, and fresh documentation, as well as many behind-the-scenes changes. There will inevitably be something I forgot in these notes, as 1.0 has been a long time in the making.
# API Changes
* Removed priority queue implementation. It wasn't great, and there are better heaps/PQs out there
* Removed `await` support for `Option<T>`. While this was a neat trick, it made the API messy, especially with some of the other API additions (namely `AndThenAsync<T>`)
* Renamed `AndThen<TIn, TOut, TError>` extensions on `Task<T>` to `AndThenAsync`, to properly follow TAP
* Moved the `Combine` method for `Result<T, E>` to the `Results` class
* Equality fixes for Option and Result
* Added terminal APIs taking `Action<T>` for all cases of Option and Result. These allow for "terminating" a chain without explicit unwrapping/pattern matching
* Removed `UnwrapOrDefault` and fixed `UnwrapOr` API
* Removed "safe invoker" API until I can figure out a better way to do this for functions of any arity
* Updated everything to .NET Standard 2.0
# NuGet Packaging Improvements
Oxide packages are now deterministic, include all sources, and include SourceLink, for maximum debugging ability at all times.
Freshly generated by DocFX, available at https://bojanrajkovic.github.io/Oxide/. All APIs are fully documented, and there are even some conceptual docs and samples.
# BTS Changes
Switched to GitHub Actions for CI, Coverlet for Coverage.
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Oxide:
HTTP extensions using Oxide.
This package is not used by any popular GitHub repositories.