okapi_operation_macro/
lib.rs

1#![allow(clippy::manual_unwrap_or_default)]
2
3use syn::{ItemFn, parse_macro_input};
4
5mod error;
6mod operation;
7mod utils;
8
9static OPENAPI_FUNCTION_NAME_SUFFIX: &str = "__openapi";
10
11#[proc_macro_attribute]
12pub fn openapi(
13    attr: proc_macro::TokenStream,
14    input: proc_macro::TokenStream,
15) -> proc_macro::TokenStream {
16    match operation::openapi(attr, parse_macro_input!(input as ItemFn)) {
17        Ok(x) => x.into(),
18        Err(err) => err.write().into(),
19    }
20}