#![warn(missing_docs)]
use proc_macro::TokenStream;
mod cacheable_macro;
mod cacheable_response_macro;
mod macro_attributes;
#[proc_macro_derive(Cacheable, attributes(cache_ttl, cache_stale_ttl, cache_version))]
pub fn cacheable_macro_derive(input: TokenStream) -> TokenStream {
let ast = syn::parse(input).unwrap();
cacheable_macro::impl_macro(&ast)
}
#[proc_macro_derive(CacheableResponse)]
pub fn cacheable_response_macro_derive(input: TokenStream) -> TokenStream {
let ast = syn::parse(input).unwrap();
cacheable_response_macro::impl_macro(&ast)
}