1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use super::Reflection;
use crate::{data_tree::DataTree, size::Size};
impl<Name, Data: Size> From<DataTree<Name, Data>> for Reflection<Name, Data> {
fn from(source: DataTree<Name, Data>) -> Self {
let DataTree {
name,
data,
children,
} = source;
let children: Vec<_> = children.into_iter().map(Reflection::from).collect();
Reflection {
name,
data,
children,
}
}
}
impl<Name, Data: Size> DataTree<Name, Data> {
pub fn into_reflection(self) -> Reflection<Name, Data> {
self.into()
}
}