#[macro_export]
macro_rules! query {
($db:expr, $query:expr) => {
$crate::d1::D1Database::prepare($db, $query)
};
($db:expr, $query:expr, $($args:expr),* $(,)?) => {{
|| -> $crate::Result<$crate::d1::D1PreparedStatement> {
let prepared = $crate::d1::D1Database::prepare($db, $query);
let serializer = $crate::d1::serde_wasm_bindgen::Serializer::new().serialize_missing_as_null(true);
let bindings = &[$(
::serde::ser::Serialize::serialize(&$args, &serializer)
.map_err(|e| $crate::Error::Internal(e.into()))?
),*];
$crate::d1::D1PreparedStatement::bind(prepared, bindings)
}()
}};
}