Skip to main content

stream_ndjson_to_ndjson

Function stream_ndjson_to_ndjson 

Source
pub fn stream_ndjson_to_ndjson(
    reader: impl Read,
    writer: impl Write,
    transforms: &Transforms,
) -> Result<(), Box<dyn Error>>
Expand description

Streams NDJSON to NDJSON, applying transforms per line.

§Errors

Returns an error if any line is malformed or I/O fails.

§Examples

use sheeter_engine::{stream_ndjson_to_ndjson, Transforms, Filter};

let input = b"{\"a\":1}\n{\"a\":2}\n";
let t = Transforms { filter: Some(Filter::parse("a > 1").unwrap()), ..Default::default() };
let mut out = Vec::new();
stream_ndjson_to_ndjson(input.as_slice(), &mut out, &t).unwrap();
assert_eq!(out, b"{\"a\":2}\n");