mirror of
https://git.proxmox.com/git/proxmox
synced 2025-08-06 14:30:47 +00:00
api-macro: avoid duplicate output code
While this is a tiny piece of code, having only one output code consisting of prepared parts is nicer to keep up to date. Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
6d831e36dd
commit
62f3c7d2d9
@ -42,16 +42,13 @@ pub fn handle_method(mut attribs: JSONObject, mut func: syn::ItemFn) -> Result<T
|
||||
let access_setter = match attribs.remove("access") {
|
||||
Some(access) => {
|
||||
let access = Access::try_from(access.into_object("access rules")?)?;
|
||||
let description: Option<syn::LitStr> = access.description;
|
||||
let permission: syn::Expr = access.permission;
|
||||
if let Some(description) = description {
|
||||
quote_spanned! { access.span =>
|
||||
.access(Some(#description), #permission)
|
||||
}
|
||||
} else {
|
||||
quote_spanned! { access.span =>
|
||||
.access(None, #permission)
|
||||
}
|
||||
let permission = access.permission;
|
||||
let description = match access.description {
|
||||
Some(desc) => quote_spanned! { desc.span() => Some(#desc) },
|
||||
None => quote_spanned! { access.span => None }
|
||||
};
|
||||
quote_spanned! { access.span =>
|
||||
.access(#description, #permission)
|
||||
}
|
||||
}
|
||||
None => TokenStream::new(),
|
||||
|
Loading…
Reference in New Issue
Block a user