aldrin_parser/ast/
schema_name.rs

1use crate::grammar::Rule;
2use crate::Span;
3use pest::iterators::Pair;
4
5#[derive(Debug, Clone)]
6pub struct SchemaName {
7    span: Span,
8    value: String,
9}
10
11impl SchemaName {
12    pub(crate) fn parse(pair: Pair<Rule>) -> Self {
13        assert_eq!(pair.as_rule(), Rule::schema_name);
14
15        Self {
16            span: Span::from_pair(&pair),
17            value: pair.as_str().to_owned(),
18        }
19    }
20
21    pub fn span(&self) -> Span {
22        self.span
23    }
24
25    pub fn value(&self) -> &str {
26        &self.value
27    }
28}