A collection of useful library methods for .NET.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
src
.codecov.yml
.editorconfig
.gitignore
CODE_OF_CONDUCT.md
Directory.Build.props
Directory.Build.targets
GitVersion.json
LICENSE
NuGet.Config
Oxide.sln
README.md
appveyor.yml

README.md

Oxide

A library of useful classes and extensions to .NET. Partially based on implementing types from Rust and Kotlin, partially on useful things I've needed over and over again on projects.

Build status

Things contained

  • std::option::Option from Rust
  • std::result::Result from Rust
  • Environment variable helper that uses Option
  • Async/await expression support for options, contributed by @garuma
  • Magical parsing extensions that return Result/Option
  • A priority queue, with API inspired by Rust's BinaryHeap
  • Some half-baked HTTP wrappers that need a bit of improvement
  • Head, Tail, and Rest (same as Tail, counterpart to First) extensions for IEnumerable<T>
  • Some Kotlin-inspired extension methods like Let, Also, Use, etc. See the Kotlin documentation.

Building

  1. Clone this repo.
  2. Run dotnet build from the root, or use Visual Studio/VS Code.

Running Tests

  1. Run dotnet test in src\Oxide.Tests or use any other xUnit.NET + .NET Core-compatible test runner.