blob: 7e3050ba6a59662d1a20d48f098d0dc38387feab [file] [log] [blame]
use crate::grid::{
config::SpannedConfig,
dimension::SpannedGridDimension,
records::{ExactRecords, IntoRecords, Records},
};
pub(crate) fn get_table_height<R>(records: R, cfg: &SpannedConfig) -> (usize, Vec<usize>)
where
R: Records + ExactRecords,
<R::Iter as IntoRecords>::Cell: AsRef<str>,
{
let count_horizontals = cfg.count_horizontal(records.count_rows());
let margin = cfg.get_margin();
let margin_size = margin.top.size + margin.bottom.size;
let list = SpannedGridDimension::height(records, cfg);
let total = list.iter().sum::<usize>();
let total = total + count_horizontals + margin_size;
(total, list)
}