cond 1.0.5

Rust macro to use a match-like syntax as an elegant alternative to nesting if-else statements
Documentation
# `cond`


Rust macro to use a match-like syntax as an elegant alternative to many `if`-`else` statements.

I got the idea from empty [Go `switch` statements](https://go.dev/ref/spec#Switch_statements). I thought it could be cool if it was in Rust so I asked if that was possible in the Rust community Discord server. They told me it wasn't unless you used a pretty ugly syntax in a match, and Esper89 (GitHub in credits) made a macro for it. I added some tests and documentation and here's my first Rust crate.

## Example


```rs
use cond::cond;

fn main() {
    let a = 195;
    cond! {
        a < 5 => println!("a is less than 5"),
        a == 195 => {
            println!("this is the way")
        },
        a > 10 => println!("a is greater than 10"),

        // The conditions are executed by order: if one condition is true, conditions below will not get evaluated
    };

    let b = "";
    let result = cond! { // Or use it as a block to return a value
        b == "something" => false,
        b.chars().count() > 10 => true,
        a < 10000 => true,
        _ => false // You must add a default with the return type if you want to return
    };

    println!("result: {}", result);
}
```

## Usage


You can just add the crate with:

```sh
cargo add cond
```

Or just add the 8 line macro to your project:

```rs
macro_rules! cond {
    ($($condition:expr => $value:expr),* $(, _ => $default:expr)? $(,)?) => {
        match () {
            $(() if $condition => $value,)*
            () => ($($default)?),
        }
    };
}
```

## Credits


Credits to [Esper89](https://github.com/Esper89) for essentially making the whole macro in the Rust community Discord server.