An open API service indexing awesome lists of open source software.

https://github.com/al8n/among

The enum Among with variants Left, Middle and Right is a general purpose sum type with three cases.
https://github.com/al8n/among

either rust rust-patterns

Last synced: 5 months ago
JSON representation

The enum Among with variants Left, Middle and Right is a general purpose sum type with three cases.

Awesome Lists containing this project

README

          


Among



The enum `Among` with variants `Left`, `Middle` and `Right` is a general purpose sum type with three cases.

[github][Github-url]
LoC
[Build][CI-url]

[docs.rs][doc-url]
[crates.io][crates-url]
[crates.io][crates-url]
license

English | [简体中文][zh-cn-url]

## Introduction

The enum `Among` with variants `Left`, `Middle` and `Right` and trait implementations.

## Installation

- Use with default feature

```toml
[dependencies]
among = "0.1"
```

- Use without `std` and `alloc`

```toml
[dependencies]
among = { version = "0.1", default-features = false }
```

- Enable `futures` feature to enable trait implementation including `futures::io::AsyncRead`, `futures::io::AsyncBufRead`, `futures::io::AsyncWrite`, and `futures::io::AsyncSeek`.

```toml
[dependencies]
among = { version = "0.1", features = ["futures", "std"] }
```

- Enable `tokio` feature to enable trait implementation including `tokio::io::AsyncRead`, `tokio::io::AsyncBufRead`, `tokio::io::AsyncWrite` and `tokio::io::AsyncSeek`.

```toml
[dependencies]
among = { version = "0.1", features = ["tokio", "std"] }
```

## Pedigree

This code is inspired and modified based on [`rayon-rs/either`](https://github.com/rayon-rs/either).

#### License

`among` is under the terms of both the MIT license and the
Apache License (Version 2.0).

See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details.

Copyright (c) 2024 Al Liu.

[Github-url]: https://github.com/al8n/among/
[CI-url]: https://github.com/al8n/among/actions/workflows/ci.yml
[doc-url]: https://docs.rs/among
[crates-url]: https://crates.io/crates/among
[codecov-url]: https://app.codecov.io/gh/al8n/among/
[zh-cn-url]: https://github.com/al8n/among/tree/main/README-zh_CN.md