use crate::core::Field;
pub struct BuildSyntax {
pub custom_name: Option<syn::Ident>,
pub default: Option<proc_macro2::TokenStream>,
}
impl BuildSyntax {
pub fn parse(field: &Field) -> syn::Result<Self> {
let build_args = field.attrs().get("build")?;
let attr = build_args.iter().find_map(|arg| arg.as_attr());
let custom_name = attr.and_then(|a| a.get_custom_name());
let default = attr.and_then(|a| a.get_value_tokens("default"));
Ok(Self {
custom_name,
default,
})
}
}