use crate::*;
mod attributes;
pub(crate) mod config;
pub(crate) mod field;
pub(crate) mod parser;
pub(crate) mod top_level;
pub(crate) fn field_to_tokens(field: &Field) -> TokenStream {
field
.ident
.clone()
.expect("Unnamed fields are forbidden")
.to_token_stream()
}
macro_rules! format_to_tokens {
($($arg:tt)*) => {
TokenStream::from_str(&std::format!($($arg)*)).unwrap()
};
}
pub(crate) use format_to_tokens;
pub(crate) fn option_to_tokens(opt: &Option<String>) -> TokenStream {
match opt {
None => quote!(::std::option::Option::None),
Some(pref) => {
quote!(::std::option::Option::<::std::string::String>::Some(#pref.to_string()))
}
}
}