From d432d54c28c759e04c6acc7d92a1e691e9194dd4 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Fri, 22 Jul 2022 22:48:54 +1000 Subject: [PATCH] Add new fn `Crates2Json::write_to_file` Signed-off-by: Jiahao XU --- src/metafiles/v2.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/metafiles/v2.rs b/src/metafiles/v2.rs index 3b8d681a..213461c3 100644 --- a/src/metafiles/v2.rs +++ b/src/metafiles/v2.rs @@ -1,6 +1,7 @@ use std::{ collections::{BTreeMap, BTreeSet}, - fs, io, + fs, + io::{self, Seek}, iter::IntoIterator, path::{Path, PathBuf}, }; @@ -70,6 +71,14 @@ impl Crates2Json { Ok(()) } + pub fn write_to_file(&self, file: &mut fs::File) -> Result<(), Crates2JsonParseError> { + self.write_to_writer(&mut *file)?; + let pos = file.stream_position()?; + file.set_len(pos)?; + + Ok(()) + } + pub fn write_to_path(&self, path: impl AsRef) -> Result<(), Crates2JsonParseError> { let file = fs::File::create(path.as_ref())?; self.write_to_writer(file)