use proc_macro::TokenStream;
use quote::quote;
use syn::{parse_macro_input, LitStr};
#[proc_macro]
pub fn query(input: TokenStream) -> TokenStream {
let literal = parse_macro_input!(input as LitStr);
let text = literal.value();
if text.trim().is_empty() {
return syn::Error::new_spanned(literal, "`query!` requires a non-empty SQL literal")
.to_compile_error()
.into();
}
let rewritten = rewrite(&text);
let expanded = quote! {{
let __text: &str = #rewritten;
::dactyl_db::__private::analyze(__text).sql
}};
expanded.into()
}
fn rewrite(input: &str) -> String {
input.to_string()
}