use crate::core::Attrs;
pub struct VariantSyntax {
pub alias: Option<String>,
pub skip: bool,
}
impl VariantSyntax {
pub fn parse(attrs: &Attrs) -> syn::Result<Self> {
let variant_args = attrs.get("variant")?;
let attr = variant_args.iter().find_map(|a| a.as_attr());
let skip = attr.map(|a| a.exists("skip")).unwrap_or(false);
let alias = attr.and_then(|a| a.get_string("alias"));
Ok(Self { alias, skip })
}
}