use std::collections::HashMap;
use chrono::Utc;
use crate::models::{A11yElementRecord, A11yNode, UiMap, WindowInfo};
pub fn empty_a11y_uimap(window: WindowInfo) -> UiMap {
UiMap {
window,
frame: None,
a11y_root: None,
a11y_index: Vec::new(),
a11y_by_id: HashMap::new(),
a11y_truncated: false,
a11y_empty: true,
observed_at: Utc::now(),
}
}
pub fn populated_uimap(
window: WindowInfo,
root: A11yNode,
a11y_index: Vec<String>,
a11y_by_id: HashMap<String, A11yElementRecord>,
truncated: bool,
) -> UiMap {
UiMap {
window,
frame: None,
a11y_root: Some(root),
a11y_index,
a11y_by_id,
a11y_truncated: truncated,
a11y_empty: false,
observed_at: Utc::now(),
}
}
pub const AX_DEPTH_CAP: usize = 24;
pub const AX_NODE_CAP: usize = 2048;