predawn_schema_macro/
lib.rs

1mod to_schema;
2mod types;
3mod util;
4
5use proc_macro::TokenStream;
6use syn::{parse_macro_input, DeriveInput};
7
8#[proc_macro_derive(ToSchema, attributes(schema))]
9pub fn to_schema(input: TokenStream) -> TokenStream {
10    let input = parse_macro_input!(input as DeriveInput);
11
12    to_schema::generate(input)
13        .unwrap_or_else(|e| e.to_compile_error())
14        .into()
15}