#![cfg(feature = "serde")]
use serde::ser::{SerializeStruct, Serializer};
use sqlparser::ast::Ident;
pub(crate) fn ident<S: Serializer>(id: &Ident, serializer: S) -> Result<S::Ok, S::Error> {
let mut st = serializer.serialize_struct("Ident", 2)?;
st.serialize_field("value", &id.value)?;
st.serialize_field("quote", &id.quote_style)?;
st.end()
}
pub(crate) fn opt_ident<S: Serializer>(
id: &Option<Ident>,
serializer: S,
) -> Result<S::Ok, S::Error> {
match id {
Some(id) => ident(id, serializer),
None => serializer.serialize_none(),
}
}