moxy-derive 0.0.4

derive macros for moxy crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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")),
        })
    }
}