pub fn distinct_of_field<'a, T, F>(
f: String,
filter: F,
o: String,
) -> Result<i32>Expand description
Disctinct values of the contents of a json field.
fFilename and full accesislbe path of the input json filefilterA closure that can handle an input parameter of type T and provide the field with distincts.oFilename and full accesislbe path of the output json file.
§Input types
TThe type of the structure.FClosure template with input function type.
§Return
countNo of distinct records found.
§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| -> String { record.a.unwrap() };
let _res = mmap_json_file::distinct_of_field::<
TestSimple,
Box<dyn Fn(TestSimple) -> String>,
>("data/test_simple.json".to_string(), Box::new(filter), "output".to_string());