use std::io::{Error as IoError, Read};
use std::path::Path;
use tar::Archive as TarArchive;
pub type Result<T> = ::std::result::Result<T, IoError>;
pub struct Archive<R: Read> {
inner: TarArchive<R>,
}
impl<R: Read> Archive<R> {
pub fn new(reader: R) -> Archive<R> {
Archive {
inner: TarArchive::new(reader),
}
}
pub fn extract<P: AsRef<Path>>(&mut self, destination: P) -> Result<()> {
self.inner.unpack(destination)
}
}