holy 0.2.1

Holy is a proc-macro library that provides helper macros.
Documentation
use proc_macro::TokenStream;
use syn::{parse_macro_input, DeriveInput};

mod fuzz;
mod getter;
mod observer;
mod sanitize;
mod setter;
mod utils;

#[proc_macro_derive(Getters, attributes(holy))]
pub fn getters_derive(input: TokenStream) -> TokenStream {
	let ast = parse_macro_input!(input as DeriveInput);
	getter::impl_getters_macro(&ast).unwrap_or_else(|e| e.to_compile_error().into())
}

#[proc_macro_derive(Observer, attributes(holy))]
pub fn observer_derive(input: TokenStream) -> TokenStream {
	let ast = parse_macro_input!(input as DeriveInput);
	observer::impl_observer_macro(&ast).unwrap_or_else(|e| e.to_compile_error().into())
}

#[proc_macro_derive(Sanitize, attributes(holy))]
pub fn sanitize_derive(input: TokenStream) -> TokenStream {
	let ast = parse_macro_input!(input as DeriveInput);
	sanitize::impl_sanitize_macro(&ast).unwrap_or_else(|e| e.to_compile_error().into())
}

#[proc_macro_derive(Setters, attributes(holy))]
pub fn setters_derive(input: TokenStream) -> TokenStream {
	let ast = parse_macro_input!(input as DeriveInput);
	setter::impl_setters_macro(&ast).unwrap_or_else(|e| e.to_compile_error().into())
}

#[proc_macro_derive(Fuzz, attributes(holy))]
pub fn fuzz_derive(input: TokenStream) -> TokenStream {
	let ast = parse_macro_input!(input as DeriveInput);
	fuzz::impl_fuzz_macro(&ast).unwrap_or_else(|e| e.to_compile_error().into())
}