utoipa-gen 6.0.0

Code generation implementation for utoipa
Documentation
use syn::ItemFn;

use crate::token_stream::{quote_diagnostics, ToTokensDiagnostics};

use super::Path;

pub struct Handler<'p> {
    pub path: Path<'p>,
    pub handler_fn: &'p ItemFn,
}

impl<'p> ToTokensDiagnostics for Handler<'p> {
    fn to_tokens(&self, tokens: &mut proc_macro2::TokenStream) -> Result<(), crate::Diagnostics> {
        let ast_fn = &self.handler_fn;
        let path = &self.path;
        tokens.extend(quote_diagnostics! {
            @path
            #ast_fn
        }?);

        Ok(())
    }
}