Expand description
Handler which groups multiple handlers together
use streamson_lib::{handler, matcher, strategy::{self, Strategy}};
use std::{io, sync::{Arc, Mutex}};
let group_handler = handler::Group::new()
.add_handler(Arc::new(Mutex::new(handler::Unstringify::new())))
.add_handler(Arc::new(Mutex::new(handler::Output::new(io::stdout()))));
let matcher = matcher::Simple::new(r#"{"users"}[]{"name"}"#).unwrap();
let mut trigger = strategy::Trigger::new();
trigger.add_matcher(Box::new(matcher), Arc::new(Mutex::new(group_handler)));
for input in vec![
br#"{"users": [{"id": 1, "name": "first"}, {"#.to_vec(),
br#""id": 2, "name": "second}]}"#.to_vec(),
] {
trigger.process(&input).unwrap();
}
Structsยง
- Group
- A structure which groups handlers and determines a way how handlers are triggered