1use clap::Parser;
2
3use crate::cmds::trending::TrendingCliArgs;
4
5use super::common::GetArgs;
6
7#[derive(Parser)]
8pub struct TrendingCommand {
9 #[clap()]
10 pub language: String,
11 #[clap(flatten)]
12 get_args: GetArgs,
13}
14
15pub enum TrendingOptions {
16 Get(TrendingCliArgs),
17}
18
19impl From<TrendingCommand> for TrendingOptions {
20 fn from(options: TrendingCommand) -> Self {
21 TrendingOptions::Get(TrendingCliArgs {
22 language: options.language,
23 get_args: options.get_args.into(),
24 flush: false,
25 })
26 }
27}
28
29impl From<TrendingOptions> for TrendingCliArgs {
30 fn from(options: TrendingOptions) -> Self {
31 match options {
32 TrendingOptions::Get(args) => args,
33 }
34 }
35}