#[derive(Debug, Clone)]
pub struct Context {
level: Vec<String>,
}
impl Context {
pub fn first(&self) -> Option<&str> {
self.level.first().map(|s| s.as_str())
}
pub fn first_matches(&self, s: &str) -> bool {
self.first() == Some(s)
}
pub fn level(&self) -> &[String] {
&self.level
}
}
impl From<String> for Context {
fn from(s: String) -> Self {
Self { level: vec![s] }
}
}