use std::error::Error;
use std::fs::File;
use std::path::PathBuf;
pub mod fec;
pub mod header;
pub mod line;
mod schemas;
mod summary;
pub mod writers;
#[macro_use]
extern crate lazy_static;
pub fn parse_from_path(fec_path: &PathBuf, out_dir: PathBuf) -> Result<(), Box<dyn Error>> {
let file = File::open(fec_path)?;
let mut fec = fec::FecFile::from_reader(file);
let mut writer = writers::csv::CSVMultiFileWriter::new(out_dir);
while let Some(line) = fec.next_line()? {
writers::base::LineWriter::write_line(&mut writer, &line?)?;
}
Ok(())
}