use serde::Serialize;
#[derive(Debug, Serialize, Clone)] pub struct Data {
pub field: String,
pub value: i32,
}
pub fn sort_data(data: &mut Vec<Data>) {
data.sort_by(|a, b| a.field.cmp(&b.field));
}
pub fn filter_data<F>(data: &[Data], predicate: F) -> Vec<Data>
where
F: Fn(&Data) -> bool,
{
data.iter().filter(|&d| predicate(d)).cloned().collect()
}