1
use crate::error::AetoliaResult;
2

            
3
mod component;
4
mod object;
5
mod param;
6
mod property;
7

            
8
/// Conversion trait for converting parser model types to model types.
9
pub trait ToModel {
10
    type Model;
11

            
12
    fn to_model(&self) -> AetoliaResult<Self::Model>;
13
}
14

            
15
impl<T> ToModel for Vec<T>
16
where
17
    T: ToModel,
18
{
19
    type Model = Vec<T::Model>;
20

            
21
2999
    fn to_model(&self) -> AetoliaResult<Self::Model> {
22
2999
        self.iter().map(ToModel::to_model).collect()
23
2999
    }
24
}
25

            
26
5694
fn convert_string(input: &[u8]) -> String {
27
5694
    String::from_utf8_lossy(input).to_string()
28
5694
}