use std::{
fs::File,
io::{BufRead, BufReader, Lines},
path::Path,
};
use crate::error::ParserError;
#[inline]
pub fn get_lines<P>(filename: P) -> Result<Lines<BufReader<File>>, ParserError>
where
P: AsRef<Path>,
{
let file = File::open(&filename)
.map_err(|_| ParserError::FileError(filename.as_ref().to_string_lossy().to_string()))?;
Ok(BufReader::new(file).lines())
}
#[inline]
pub fn get_reader<P>(filename: P) -> Result<BufReader<File>, ParserError>
where
P: AsRef<Path>,
{
let file = File::open(&filename)
.map_err(|_| ParserError::FileError(filename.as_ref().to_string_lossy().to_string()))?;
Ok(BufReader::new(file))
}