dev_kit/command/
mod.rs

1#[derive(clap::Subcommand)]
2pub enum Commands {
3    #[clap(about = "uri-tools")]
4    Uri {
5        #[clap(subcommand)]
6        command: uri::UriCommand,
7    },
8    #[clap(about = "json-tools")]
9    Json {
10        #[clap(subcommand)]
11        command: json::JsonCommand,
12    },
13    #[clap(about = "time-tools")]
14    Time {
15        #[clap(subcommand)]
16        command: time::TimeCommand,
17    },
18}
19
20pub trait Command {
21    fn run(&self) -> crate::Result<()>;
22}
23
24impl Command for Commands {
25    fn run(&self) -> crate::Result<()> {
26        match self {
27            Commands::Uri { command } => command.run(),
28            Commands::Json { command } => command.run(),
29            Commands::Time { command } => command.run(),
30        }
31    }
32}
33pub mod uri;
34pub mod json;
35pub mod time;
36mod http_parser;
37
38