use std::path::PathBuf;
use crate::extractor;
use easydoc_core::{DocxRow, Result};
pub struct DocReadBuilder {
path: PathBuf,
}
impl DocReadBuilder {
#[must_use]
pub fn new(path: impl Into<PathBuf>) -> Self {
Self { path: path.into() }
}
pub fn do_read<T: DocxRow>(self) -> Result<Vec<T>> {
let tables: Vec<Vec<T>> = extractor::table::extract_tables::<T>(&self.path)?;
Ok(tables.into_iter().flatten().collect())
}
}