INNER CODE UNIT · Rust
parse_glue_rename
gluesql/gluesql · macros/src/lib.rs:71
fn parse_glue_rename(attr: &Attribute) -> Option<Result<Option<String>, syn::Error>> {
if !attr.path().is_ident("glue") {
return None;
}
match attr.parse_args::<MetaNameValue>() {
Ok(MetaNameValue { path, value, .. }) if path.is_ident("rename") => match value {
Expr::Lit(ExprLit {
lit: Lit::Str(s), ..
}) => Some(Ok(Some(s.value()))),
other => Some(Err(syn::Error::new(
other.span(),
"expected string literal for rename",
))),
},
Ok(_) => Some(Ok(None)),
Err(e) => Some(Err(e)),
}
}