1use crate::args::To;
2use crate::utils::cli_result::CliResult;
3use crate::utils::to::{csv_or_io_to_csv, io_to_excel, is_valid_excel, is_valid_plain_text};
4
5impl To {
6 pub fn io_run(&self) -> CliResult {
7 let out = self.out.to_lowercase();
8
9 match out.as_str() {
10 v if is_valid_plain_text(v) => csv_or_io_to_csv(None, &out)?,
11 v if is_valid_excel(v) => io_to_excel(self, &out)?,
12 _ => return Err(format!("output file format <{out}> is un-recognized.").into()),
13 };
14
15 Ok(())
16 }
17}