futucli/cli/commands/
qot.rs1use clap::Args;
4
5#[derive(Args)]
6pub struct QuoteArgs {
7 #[arg(required = true)]
9 pub(crate) symbols: Vec<String>,
10}
11
12#[derive(Args)]
13pub struct SnapshotArgs {
14 #[arg(required = true)]
16 pub(crate) symbols: Vec<String>,
17}
18
19#[derive(Args)]
20pub struct SubArgs {
21 #[arg(required = true)]
23 pub(crate) symbols: Vec<String>,
24
25 #[arg(
32 short = 't',
33 long,
34 visible_aliases = ["sub-type", "sub-types", "stype"],
35 default_value = "basic"
36 )]
37 pub(crate) r#type: String,
38}
39
40#[derive(Args)]
41pub struct KlineArgs {
42 #[arg(index = 1, value_name = "SYMBOL")]
44 pub(crate) symbol_positional: Option<String>,
45
46 #[arg(
48 long = "symbol",
49 visible_aliases = ["code", "stock"],
50 conflicts_with = "symbol_positional",
51 value_name = "SYMBOL"
52 )]
53 pub(crate) symbol_arg: Option<String>,
54
55 #[arg(
59 short = 't',
60 long,
61 visible_aliases = ["ktype", "kltype", "kl-type"],
62 default_value = "day"
63 )]
64 pub(crate) r#type: String,
65
66 #[arg(
70 short = 'n',
71 long,
72 visible_aliases = ["num", "max-count", "req-count"]
73 )]
74 pub(crate) count: Option<i32>,
75
76 #[arg(long, visible_aliases = ["begin-time", "from"])]
80 pub(crate) begin: Option<String>,
81
82 #[arg(long, visible_aliases = ["end-time", "to"])]
86 pub(crate) end: Option<String>,
87}
88
89#[derive(Args)]
90pub struct OrderbookArgs {
91 #[arg(index = 1, value_name = "SYMBOL")]
93 pub(crate) symbol_positional: Option<String>,
94
95 #[arg(
97 long = "symbol",
98 visible_aliases = ["code", "stock"],
99 conflicts_with = "symbol_positional",
100 value_name = "SYMBOL"
101 )]
102 pub(crate) symbol_arg: Option<String>,
103
104 #[arg(
108 short = 'n',
109 long,
110 visible_aliases = ["num", "count"],
111 default_value_t = 10
112 )]
113 pub(crate) depth: i32,
114}
115
116#[derive(Args)]
117pub struct TickerArgs {
118 #[arg(index = 1, value_name = "SYMBOL")]
120 pub(crate) symbol_positional: Option<String>,
121
122 #[arg(
124 long = "symbol",
125 visible_aliases = ["code", "stock"],
126 conflicts_with = "symbol_positional",
127 value_name = "SYMBOL"
128 )]
129 pub(crate) symbol_arg: Option<String>,
130
131 #[arg(
135 short = 'n',
136 long,
137 visible_aliases = ["num", "max-count"],
138 default_value_t = 100
139 )]
140 pub(crate) count: i32,
141}
142
143#[derive(Args)]
144pub struct RtArgs {
145 #[arg(index = 1, value_name = "SYMBOL")]
147 pub(crate) symbol_positional: Option<String>,
148
149 #[arg(
151 long = "symbol",
152 visible_aliases = ["code", "stock"],
153 conflicts_with = "symbol_positional",
154 value_name = "SYMBOL"
155 )]
156 pub(crate) symbol_arg: Option<String>,
157}
158
159#[derive(Args)]
160pub struct StaticArgs {
161 #[arg(required = true)]
163 pub(crate) symbols: Vec<String>,
164}
165
166#[derive(Args)]
167pub struct BrokerArgs {
168 #[arg(index = 1, value_name = "SYMBOL")]
170 pub(crate) symbol_positional: Option<String>,
171
172 #[arg(
174 long = "symbol",
175 visible_aliases = ["code", "stock"],
176 conflicts_with = "symbol_positional",
177 value_name = "SYMBOL"
178 )]
179 pub(crate) symbol_arg: Option<String>,
180}
181
182#[derive(Args)]
183pub struct PlateListArgs {
184 #[arg(short, long)]
186 pub(crate) market: String,
187
188 #[arg(short = 's', long, visible_alias = "plate-type", default_value = "all")]
191 pub(crate) set: String,
192}
193
194#[derive(Args)]
195pub struct PlateStocksArgs {
196 #[arg(index = 1, value_name = "PLATE")]
198 pub(crate) plate: Option<String>,
199
200 #[arg(long = "plate", conflicts_with = "plate")]
202 pub(crate) plate_arg: Option<String>,
203}