use std::collections::{BTreeMap, BTreeSet};
pub fn is_default<T: Default + PartialEq>(t: &T) -> bool {
t == &T::default()
}
pub fn is_empty_vec<T>(t: &[T]) -> bool {
t.is_empty()
}
pub fn is_empty_set<T>(t: &BTreeSet<T>) -> bool {
t.is_empty()
}
pub fn is_empty_map<K, V>(t: &BTreeMap<K, V>) -> bool {
t.is_empty()
}
pub fn sort_alphabetically<T: serde::Serialize, S: serde::Serializer>(
value: &T,
serializer: S,
) -> Result<S::Ok, S::Error> {
let value = serde_json::to_value(value).map_err(serde::ser::Error::custom)?;
serde::Serialize::serialize(&value, serializer)
}