use proc_macro2::{TokenStream, TokenTree};
use super::decimals::maybe_decimal_number;
pub fn transform(items: TokenStream) -> TokenStream {
let mut buf = "Vector::from(vec![".to_string();
for token in items {
match &token {
TokenTree::Literal(literal) => {
match maybe_decimal_number(literal) {
Some(digits) => {
buf.push('"');
buf.push_str(&digits);
buf.push('"');
buf.push_str(".parse::<Decimal>().unwrap()");
}
None =>
buf.push_str(literal.to_string().as_str())
}
}
_ => {
buf.push_str(&token.to_string())
}
}
}
buf.push_str("].into_boxed_slice())");
buf.parse::<TokenStream>().unwrap()
}