Skip to main content

genesys_ygo_cli/
lib.rs

1use inquire::error::InquireResult;
2
3mod cards;
4mod data;
5mod error;
6mod prompt;
7
8pub async fn go() -> InquireResult<()> {
9    let new_banlist = data::get_banlist()
10        .await
11        .map_err(|_| std::io::Error::new(std::io::ErrorKind::InvalidData, "Invalid Banlist"))?;
12    let saved_banlist = data::load_previous_banlist();
13
14    match saved_banlist {
15        Ok(cards) => {
16            let cards = data::calculate_delta(new_banlist, cards);
17            let selected_cards = prompt::promt(cards)?;
18
19            data::open_card_db(selected_cards)?;
20
21            Ok(())
22        }
23        Err(e) => {
24            eprint!("{}", e);
25            Ok(())
26        }
27    }
28}