use proc_macro2::TokenStream;
use proc_macro_crate::{crate_name, FoundCrate};
use quote::quote;
pub fn core_path() -> TokenStream {
match crate_name("synaptic") {
Ok(FoundCrate::Itself) => quote! { crate },
Ok(FoundCrate::Name(name)) => {
let ident = proc_macro2::Ident::new(&name, proc_macro2::Span::call_site());
quote! { ::#ident::synaptic_core }
}
Err(_) => quote! { ::synaptic_core },
}
}
pub fn runnables_path() -> TokenStream {
match crate_name("synaptic") {
Ok(FoundCrate::Itself) => quote! { crate },
Ok(FoundCrate::Name(name)) => {
let ident = proc_macro2::Ident::new(&name, proc_macro2::Span::call_site());
quote! { ::#ident::synaptic_runnables }
}
Err(_) => quote! { ::synaptic_runnables },
}
}
pub fn middleware_path() -> TokenStream {
match crate_name("synaptic") {
Ok(FoundCrate::Itself) => quote! { crate },
Ok(FoundCrate::Name(name)) => {
let ident = proc_macro2::Ident::new(&name, proc_macro2::Span::call_site());
quote! { ::#ident::synaptic_middleware }
}
Err(_) => quote! { ::synaptic_middleware },
}
}