render_tree/
utils.rs

1use std::fmt;
2
3pub(crate) struct CommaArray<I: Into<String> + Clone>(pub(crate) Vec<I>);
4
5impl<I: Into<String> + Clone> fmt::Display for CommaArray<I> {
6    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7        write!(f, "[")?;
8
9        if self.0.len() > 0 {
10            let last = self.0.len() - 1;
11
12            for (i, item) in self.0.clone().into_iter().enumerate() {
13                let item: String = item.into();
14                write!(f, "{}", item)?;
15
16                if i != last {
17                    write!(f, ", ")?;
18                }
19            }
20        }
21
22        write!(f, "]")
23    }
24}