use proc_macro::TokenStream;
use syn::parse_macro_input;
mod args;
mod expand;
mod item;
mod loader;
mod minifier;
use args::MacroArgs;
use expand::expand_template_minify;
use item::TemplateItem;
#[proc_macro_attribute]
pub fn template_minify(attr: TokenStream, item: TokenStream) -> TokenStream {
let args = parse_macro_input!(attr with MacroArgs::parse);
let item = parse_macro_input!(item as TemplateItem).0;
match expand_template_minify(args, item) {
Ok(tokens) => tokens.into(),
Err(error) => error.to_compile_error().into(),
}
}