mool_macros_impl/sql_enum/
mod.rs1mod attrs;
4mod codegen;
5mod model;
6mod rename;
7
8#[cfg(test)]
9mod tests;
10
11use syn::DeriveInput;
12
13pub fn derive_sql_enum(
14 input: proc_macro2::TokenStream,
15 runtime_path: proc_macro2::TokenStream,
16) -> proc_macro2::TokenStream {
17 let input = match syn::parse2::<DeriveInput>(input) {
18 Ok(input) => input,
19 Err(err) => return err.to_compile_error(),
20 };
21 let crate_path = crate::runtime_path(&input, runtime_path);
22 match model::ParsedSqlEnum::from_input(&input) {
23 Ok(parsed) => codegen::generate(&parsed, &crate_path),
24 Err(err) => err.to_compile_error(),
25 }
26}