ratio_graph/
serde_utils.rs1use std::collections::{BTreeMap, BTreeSet};
12
13pub fn is_default<T: Default + PartialEq>(t: &T) -> bool {
15 t == &T::default()
16}
17
18pub fn is_empty_vec<T>(t: &[T]) -> bool {
20 t.is_empty()
21}
22
23pub fn is_empty_set<T>(t: &BTreeSet<T>) -> bool {
25 t.is_empty()
26}
27
28pub fn is_empty_map<K, V>(t: &BTreeMap<K, V>) -> bool {
30 t.is_empty()
31}
32
33pub fn sort_alphabetically<T: serde::Serialize, S: serde::Serializer>(
35 value: &T,
36 serializer: S,
37) -> Result<S::Ok, S::Error> {
38 let value = serde_json::to_value(value).map_err(serde::ser::Error::custom)?;
39 serde::Serialize::serialize(&value, serializer)
40}