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