git: reset

This commit is contained in:
k
2024-06-23 17:38:53 +02:00
commit a1a576d088
375 changed files with 40952 additions and 0 deletions

37
parser/src/io/json.rs Normal file
View File

@@ -0,0 +1,37 @@
use std::{
fs::File,
io::{BufReader, BufWriter},
};
use serde::{de::DeserializeOwned, Serialize};
pub struct Json;
impl Json {
pub fn import<T>(path: &str) -> color_eyre::Result<T>
where
T: DeserializeOwned,
{
let file = File::open(path)?;
let reader = BufReader::new(file);
Ok(serde_json::from_reader(reader)?)
}
pub fn export<T>(path: &str, value: &T) -> color_eyre::Result<()>
where
T: Serialize,
{
let file = File::create(path).unwrap_or_else(|_| {
dbg!(&path);
panic!("No such file or directory")
});
let mut writer = BufWriter::new(file);
serde_json::to_writer_pretty(&mut writer, value)?;
Ok(())
}
}