simple_config 0.134.0

A config language for humans that is not self-describing.
Documentation
pub fn from_bytes<'d, T: serde::Deserialize<'d>, B: AsRef<[u8]>>(b: B) -> Result<T, crate::DeserializeError> {
	let c = std::io::Cursor::new(b);
	let mut d = crate::Deserializer::from(c);
	T::deserialize(&mut d)
}

pub fn from_file<'d, T: serde::Deserialize<'d>, P: AsRef<std::path::Path>>(p: P) -> Result<T, crate::DeserializeError> {
	let f = std::fs::File::open(p)?;
	let f = std::io::BufReader::new(f);
	let mut d = crate::Deserializer::from(f);
	T::deserialize(&mut d)
}

pub fn from_reader<
	'd,
	T: serde::Deserialize<'d>,
	R: std::io::Read + std::io::Seek + Send + Sync
> (
	r: R
) -> Result<T, crate::DeserializeError>
{
	let r = std::io::BufReader::new(r);
	let mut d = crate::Deserializer::from(r);
	T::deserialize(&mut d)
}