1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#[cfg(feature = "proc")]
#[proc_macro_derive(ApiModel, attributes(api_prop, desc))]
pub fn derive_api_model(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    let input = syn::parse_macro_input!(input as syn::DeriveInput);
    apidoc_expand::api_model::expand(input)
        .unwrap_or_else(|err| err.into_compile_error())
        .into()
}

#[cfg(feature = "cod")]
#[proc_macro_derive(ApiModel, attributes(api_prop))]
pub fn derive_api_model(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    proc_macro::TokenStream::default()
}

#[cfg(feature = "proc")]
#[proc_macro_derive(ApiError, attributes(api_error))]
pub fn derive_api_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    let input = syn::parse_macro_input!(input as syn::DeriveInput);
    apidoc_expand::api_error::expand(&input)
        .unwrap_or_else(|err| err.into_compile_error())
        .into()
}

#[cfg(feature = "cod")]
#[proc_macro_derive(ApiError, attributes(api_error))]
pub fn derive_api_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    proc_macro::TokenStream::default()
}