db_proc_macro 0.1.0

Procedural macros for db_core project
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pub mod to_fields;
pub mod to_option;
pub mod to_sql_value;
pub mod to_sqlx_enum;


pub fn create_crate_ident(cr_name: &str) -> syn::Ident {
    use proc_macro_crate::{crate_name, FoundCrate};
    let crate_name = match crate_name(cr_name) {
        Ok(FoundCrate::Name(name)) => name,
        // Ok(FoundCrate::Itself) => cr_name.to_string(),
        // Err(_) => cr_name.to_string(),
        Ok(FoundCrate::Itself) => "crate".into(), // 当前 crate
        Err(_) => "crate".into(),               // fallback
    };
    quote::format_ident!("{}", crate_name)
}