currency_conversion_cli/
lib.rs1use anyhow::Result;
2use cli::SubCommand;
3use commands::update::run_update;
4use config::Config;
5
6pub mod cli;
7pub mod commands;
8pub mod config;
9pub mod errors;
10
11#[cfg(not(tarpaulin_include))]
13pub fn run(
14 sub_command: SubCommand,
15 config: Config,
16 config_path: Option<String>,
17 config_profile: Option<&str>,
18) -> Result<()> {
19 use commands::convert::run_convert;
20
21 use crate::commands::{config::run_config, info::run_info, list::run_list};
22
23 match sub_command {
24 SubCommand::Update(args) => run_update(&config, &args)?,
25 SubCommand::Convert(args) => run_convert(&config, &args)?,
26 SubCommand::List(args) => run_list(&config, &args)?,
27 SubCommand::Info(args) => run_info(config, &args, config_path)?,
28 SubCommand::Config => run_config(&config, &config_path, config_profile)?,
29 }
30 Ok(())
31}