Crate gqlog [−] [src]
gqlog
👾 filter your json logs with graphql 👾
streams
extern crate serde_json; extern crate gqlog; use serde_json::de::{ StrRead }; fn main() { let query = String::from("{ foo }"); let data = r#"{ "foo": "bar", "baz": "buz" }"#; let reader = StrRead::new(data); gqlog::filter_stream::<StrRead>(query, reader, |value| { assert_eq!(value.to_string(), "{\"foo\":\"bar\"}"); }); }
serde_json::Value
#[macro_use] extern crate serde_json; extern crate gqlog; fn main() { let query = String::from("{ foo }"); let data = json!({ "foo": "bar", "baz": "buz" }); assert_eq!(gqlog::filter_value(query, data).to_string(), "{\"foo\":\"bar\"}"); }
JSON strings
extern crate serde_json; extern crate gqlog; fn main() { let query = String::from("{ foo }"); let data = String::from(r#"{ "foo": "bar", "baz": "buz" }"#); assert_eq!(gqlog::filter(query, data).to_string(), "{\"foo\":\"bar\"}"); }
Functions
filter |
Filter a json string. |
filter_stream |
Filter a stream of JSON objects and trigger the callback for each. |
filter_value |
Filter a serde_json::Value. |