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}