use super::Result;
use clap::Subcommand;
mod dump;
pub use dump::*;
mod pack;
pub use pack::*;
mod unpack;
pub use unpack::*;
mod structure;
pub use structure::*;
#[derive(Debug, Subcommand)]
pub enum Commands {
Dump(#[command(subcommand)] Dump),
Pack(#[command(subcommand)] Pack),
Unpack(#[command(subcommand)] Unpack),
}
impl Commands {
pub fn execute(self) -> Result<()> {
match self {
Self::Dump(dump) => dump.execute(),
Self::Pack(pack) => pack.execute(),
Self::Unpack(unpack) => unpack.execute(),
}
}
}