use proc_macro::TokenStream;
use syn::{DeriveInput, Error};
mod attributes;
mod content;
mod field_value;
#[cfg(test)]
mod tests;
#[proc_macro_derive(Content, attributes(content))]
pub fn derive_content(input: TokenStream) -> TokenStream {
syn::parse::<DeriveInput>(input)
.and_then(|input| content::expand(&input))
.unwrap_or_else(Error::into_compile_error)
.into()
}
#[proc_macro_derive(FieldValue, attributes(content))]
pub fn derive_field_value(input: TokenStream) -> TokenStream {
syn::parse::<DeriveInput>(input)
.and_then(|input| field_value::expand(&input))
.unwrap_or_else(Error::into_compile_error)
.into()
}