glitchup_derive 0.1.2

Helper macros for glitchup
Documentation
# `glitchup_derive`


[![glitchup_derive](https://img.shields.io/crates/v/glitchup_derive.svg)](https://crates.io/crates/glitchup_derive)
[![glitchup_derive](https://docs.rs/glitchup_derive/badge.svg)](https://docs.rs/crate/glitchup_derive)

A group of procedural macros to assist in the use of `glitchup`.

## `#[derive(MutConfig)]`

This derivation macro is used to derive `MutConfig` for any compatible struct. For a struct to be compatible, the following must apply:

- The name of the struct must contain `Config`.
- The fields of the struct must be of the following types:
  - **Primitives**
    - `isize`
    - `String`
    - `bool`
  - **Generics**
    - `Vec<{Supported Primitive}>`
    - `Option<{Supported Primitive}>`

These specific primitives were selected due to the `MutOptionVal` using said values. 

The `MutConfig` trait implements a `to_hashmap` function, where the fields of the struct are converted into a `HashMap<String, MutOptionVal>` to be used by a `Mutation`.

```rust
#[derive(Debug, Deserialize, MutConfig)]

struct MainConfig {
    mutation : MutationConfig,
}

#[derive(Debug, Deserialize, MutConfig)]

struct MutationConfig {
    min : Option<isize>,
    max : Option<isize>,
    chunksize : isize,
}
```