ord/subcommand/
traits.rs

1use super::*;
2
3#[derive(Debug, Parser)]
4pub(crate) struct Traits {
5  #[arg(help = "Show traits for <SAT>.")]
6  sat: Sat,
7}
8
9#[derive(Debug, PartialEq, Serialize, Deserialize)]
10pub struct Output {
11  pub number: u64,
12  pub decimal: String,
13  pub degree: String,
14  pub name: String,
15  pub height: u32,
16  pub cycle: u32,
17  pub epoch: u32,
18  pub period: u32,
19  pub offset: u64,
20  pub rarity: Rarity,
21}
22
23impl Traits {
24  pub(crate) fn run(self) -> SubcommandResult {
25    Ok(Some(Box::new(Output {
26      number: self.sat.n(),
27      decimal: self.sat.decimal().to_string(),
28      degree: self.sat.degree().to_string(),
29      name: self.sat.name(),
30      height: self.sat.height().0,
31      cycle: self.sat.cycle(),
32      epoch: self.sat.epoch().0,
33      period: self.sat.period(),
34      offset: self.sat.third(),
35      rarity: self.sat.rarity(),
36    })))
37  }
38}