[][src]Module streamson_lib::handler::shorten

Handler which shortens matched data it can be used e.g. shorten long strings "some long text" -> "some lon..."

Example

use streamson_lib::{handler, matcher, strategy};
use std::sync::{Arc, Mutex};

let handler = Arc::new(Mutex::new(handler::Shorten::new(3, r#"..""#.to_string())));
let matcher = matcher::Simple::new(r#"{"elements"}[]{"description"}"#).unwrap();

let mut convert = strategy::Convert::new();

// Set the matcher for convert strategy
convert.add_matcher(Box::new(matcher), vec![handler]);

for input in vec![
    br#"{"elements": [{"description": "too long string"}, {"#.to_vec(),
    br#""description": "other long string"}]}"#.to_vec(),
] {
    for converted_data in convert.process(&input).unwrap() {
        println!("{:?} (len {})", converted_data, converted_data.len());
    }
}

Structs

Shorten

Handler which shortens the matched data