[−][src]Function mmap_json_file::count_with_filter
pub fn count_with_filter<'a, T: 'static, F>(f: String, filter: F) -> Result<i32> where
T: DeserializeOwned + Debug + Clone + Send + Serialize,
F: Fn(T) -> bool,
Count the contents of a json file with filter specified.
Arguments
f
Filename and full accesislbe path of the input json filefilter
A closure that can handle an input parameter of type T.
Return
count
No of records that match the filter.
Input types
T
The type of the structure.F
Closure template with input function type.
Example usage
use mmap_json_file; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, Default)] struct TestSimple { a: Option<String>, c: Option<String>, } #[derive(Serialize, Deserialize, Debug, Clone, Default)] struct TestSimpleNested { b: Option<TestSimple>, c: Option<String>, } #[derive(Serialize, Deserialize, Debug, Clone, Default)] struct TestSimpleCompound { a: Option<TestSimpleNested>, f: Option<String>, } let filter = |record: TestSimple| -> bool { record.a.unwrap() == "b" }; let _res = mmap_json_file::count_with_filter::< TestSimple, Box<dyn Fn(TestSimple) -> bool>, >("data/test_simple.json".to_string(), Box::new(filter));