mirror of
https://git.proxmox.com/git/proxmox
synced 2025-08-09 15:21:00 +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") {
|
let access_setter = match attribs.remove("access") {
|
||||||
Some(access) => {
|
Some(access) => {
|
||||||
let access = Access::try_from(access.into_object("access rules")?)?;
|
let access = Access::try_from(access.into_object("access rules")?)?;
|
||||||
let description: Option<syn::LitStr> = access.description;
|
let permission = access.permission;
|
||||||
let permission: syn::Expr = access.permission;
|
let description = match access.description {
|
||||||
if let Some(description) = description {
|
Some(desc) => quote_spanned! { desc.span() => Some(#desc) },
|
||||||
quote_spanned! { access.span =>
|
None => quote_spanned! { access.span => None }
|
||||||
.access(Some(#description), #permission)
|
};
|
||||||
}
|
quote_spanned! { access.span =>
|
||||||
} else {
|
.access(#description, #permission)
|
||||||
quote_spanned! { access.span =>
|
|
||||||
.access(None, #permission)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
None => TokenStream::new(),
|
None => TokenStream::new(),
|
||||||
|
Loading…
Reference in New Issue
Block a user