serialize_filter_element

Function serialize_filter_element 

Source
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);