poem_openapi_api_derive/
lib.rs

1mod query_object;
2mod uni_open_api;
3
4use proc_macro::TokenStream;
5use syn::{parse_macro_input, DeriveInput};
6
7#[proc_macro_derive(UniOpenApi)]
8pub fn derive_uni_open_api(input: TokenStream) -> TokenStream {
9    let args = parse_macro_input!(input as DeriveInput);
10    uni_open_api::generate(&args)
11        .unwrap_or_else(|e| e.to_compile_error())
12        .into()
13}
14
15#[proc_macro_derive(QueryObject)]
16pub fn derive_object(input: TokenStream) -> TokenStream {
17    let args = parse_macro_input!(input as DeriveInput);
18    query_object::generate(&args)
19        .unwrap_or_else(|e| e.to_compile_error())
20        .into()
21}