pub fn serialize_filter_element(
filter_element: &FilterElement,
) -> Result<Vec<u8>, ()>Expand description
Serialize a mercust filter element into mercury-msgpack bytes.
Example:
use mercust::filter_elements::{FilterElement, FilterOperation};
use mercust_msgpack::{serialize_filter_element, deserialize_filter_element};
use maplit::hashmap;
let filter_element = FilterElement::Dict {
op: FilterOperation::All,
data: Some(hashmap! {
"value".to_string() => FilterElement::TypeDeclaration {
op: FilterOperation::TypeMatch,
data: Some(Box::new(FilterElement::TypeTensor {
op: FilterOperation::All,
data: Some(vec![
FilterElement::Dim {
op: FilterOperation::Eq,
data: Some(5)
}
])
}))
}
})
};
let serialized = serialize_filter_element(&filter_element).unwrap();
let deserialized = deserialize_filter_element(&serialized).unwrap();
assert_eq!(filter_element, deserialized);