teo_parser/traits/
identifiable.rs

1pub trait Identifiable {
2
3    fn path(&self) -> &Vec<usize>;
4
5    fn source_id(&self) -> usize {
6        *self.path().first().unwrap()
7    }
8
9    fn id(&self) -> usize {
10        *self.path().last().unwrap()
11    }
12
13    fn parent_path(&self) -> Vec<usize> {
14        let mut result = self.path().clone();
15        result.pop();
16        result
17    }
18}