rsv_lib/csv_lib/
headers.rs

1use crate::args::Headers;
2use crate::utils::return_result::{CliResultData, ResultData};
3use std::fs::File;
4use std::io::{BufRead, BufReader};
5
6impl Headers {
7    #[allow(dead_code)]
8    pub fn csv_run_lib(&self) -> CliResultData {
9        let mut out = ResultData::new();
10
11        // open file and header
12        let mut rdr = BufReader::new(File::open(self.path())?).lines();
13
14        out.insert_header(vec!["column_name".to_string()]);
15        if let Some(r) = rdr.next() {
16            self.split(&r?)
17                .for_each(|v| out.insert_record(vec![v.to_string()]));
18        };
19
20        Ok(Some(out))
21    }
22}