weavatrix_edit/application/
writer.rs1use std::io::{self, Write};
2
3use super::EditChunks;
4
5#[derive(Clone, Copy, Debug, Eq, PartialEq)]
7pub struct WriteSummary {
8 pub edits_applied: usize,
9 pub bytes_before: usize,
10 pub bytes_written: usize,
11}
12
13pub(super) fn write_prepared<W: Write + ?Sized>(
14 writer: &mut W,
15 chunks: EditChunks<'_>,
16 source_size: usize,
17 edit_count: usize,
18 output_size: usize,
19) -> io::Result<WriteSummary> {
20 for chunk in chunks {
21 writer.write_all(chunk.as_bytes())?;
22 }
23 Ok(WriteSummary {
24 edits_applied: edit_count,
25 bytes_before: source_size,
26 bytes_written: output_size,
27 })
28}