# everyday_macros This crate contains all the procedural macros you might use in your everyday life while coding. Things like a thread sleep timer or a retry on error. ## ## Getting Started To a thread sleep timer to the prologue of your function. It is uses `std::thread::sleep` for default functions and `tokio::time::sleep` for async. It also has the ability to add a jitter with a range of [0, N). ```rust #[wait_for(seconds=3)] fn my_func_to_sleep(args: any_amount){ ... } #[wait_for(seconds=3, jitter)] fn my_func_to_sleep(args: any_amount){ ... } ``` To add a harness around your function add the follow above it. Currently does not work on async! ```rust #[retry(times=3)] fn my_func_that_can_fail(args: any_amount) -> Result<(), Err>{ ... } ``` ## Running the tests Just run ```bash git clone https://github.com/P3GLEG/everyday_macros && cd everyday_macros cargo test -- --color always --nocapture ``` ## Authors * **Paul Ganea** - *Initial work* - [pegleg](https://github.com/p3gleg) ## License This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details