unarchiver 0.0.2

CLI Tool for un/archive multiple formats of compressed files
Documentation
use std::path::PathBuf;

use anyhow::Result;
use clap::Args;

use unarchiver::archive::{Archive, ArchiveKind};

#[derive(Args, Debug)]
pub struct UnarchiveOpt {
    /// Path to archive file
    pub path: PathBuf,
    /// Path to output files
    pub out: PathBuf,
}

impl UnarchiveOpt {
    pub async fn exec(&self) -> Result<()> {
        let archive = Archive::new(self.path.clone(), ArchiveKind::Tar).unwrap();
        archive.unarchive(self.out.clone()).await
    }
}