use crate::cli::command::fsutil::usn::FsutilUsnArgs;
use arbitrary::Arbitrary;
use facet::Facet;
use figue::{self as args};
#[derive(Facet, Arbitrary, PartialEq, Debug)]
pub struct FsutilArgs {
#[facet(args::subcommand)]
pub command: FsutilCommand,
}
#[derive(Facet, Arbitrary, PartialEq, Debug)]
#[repr(u8)]
#[facet(rename_all = "kebab-case")]
pub enum FsutilCommand {
Usn(FsutilUsnArgs),
}
impl FsutilArgs {
pub fn invoke(self) -> eyre::Result<()> {
match self.command {
FsutilCommand::Usn(args) => args.invoke(),
}
}
}