cfun 0.2.11

Tidy up common functions
Documentation
#[cfg(feature = "dc")]
use anyhow::Result;
#[cfg(feature = "dc")]
use std::io::Read;
/// compress data with bzip2
/// # example
/// ```
/// let data=std::fs::read("test.txt").unwrap();
/// let v=cmpr_bzip2(&data);
/// std::fs::write("test.bz",v).unwrap();
/// ```
#[cfg(feature = "dc")]
pub fn bzip2_cmpr(data: &Vec<u8>) -> Result<Vec<u8>> {
    let data: &[u8] = data;
    let mut cmpr = bzip2::read::BzEncoder::new(data, bzip2::Compression::best());
    let mut buf = Vec::new();
    cmpr.read_to_end(&mut buf)?;
    Ok(buf)
}
/// decompress data with bzip2
/// # example
/// ```
/// let data=std::fs::read("te.bz").unwrap();
/// let v=decmpr_bzip2(&data);
/// let s=String::from_utf8(v).unwrap();
/// println!("{}",s);
/// ```
#[cfg(feature = "dc")]
pub fn bzip2_decmpr(data: &Vec<u8>) -> Result<Vec<u8>> {
    let data: &[u8] = data;
    let mut decoder = bzip2::read::BzDecoder::new(data);
    let mut buf = Vec::new();
    decoder.read_to_end(&mut buf)?;
    Ok(buf)
}