stringid_macros 0.1.0

Macros implementation for stringid crate.
Documentation
use proc_macro2::TokenStream;
use quote::{quote, ToTokens};
use syn::PathArguments;

pub(crate) fn to_tokenstream(path: &syn::TypePath) -> TokenStream {
	match path.path.get_ident() {
		Some(ident) => ident.into_token_stream(),
		None => {
			let segment = path.path.segments.iter().next().unwrap();
			let root = &segment.ident;
			let stream = match &segment.arguments {
				PathArguments::AngleBracketed(args) => args,
				_ => panic!("PathArguments other than AngleBracketed are not management"),
			};

			quote! {#root :: #stream}
		}
	}
}