use std::{fs::File, io::BufReader, path::PathBuf};
use crate::{errors::EnkryptitError, types::CHUNK_SIZE};
pub struct EnkryptitFile {
pub reader: BufReader<File>,
pub len: u64,
pub estimated_steps: u64,
}
pub fn read_file(path: impl Into<PathBuf>) -> Result<EnkryptitFile, EnkryptitError> {
let file = File::open(path.into())?;
let len = file.metadata()?.len();
Ok(EnkryptitFile {
reader: BufReader::new(file),
len,
estimated_steps: len / CHUNK_SIZE as u64,
})
}