rbe/
keys.rs

1use serde::{Deserialize, Serialize};
2use std::fmt::Display;
3
4#[derive(PartialEq, Eq, Serialize, Deserialize, Clone, Debug)]
5pub struct Keys<K>
6where
7    K: Display,
8{
9    keys: Vec<K>,
10}
11
12impl<K> Keys<K>
13where
14    K: Eq + Display + Default + Clone,
15{
16    pub fn from(keys: &[K]) -> Keys<K> {
17        Keys {
18            keys: keys.to_vec(),
19        }
20    }
21}
22
23impl<K: Display> Display for Keys<K> {
24    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
25        for k in &self.keys {
26            write!(f, "{k}|")?;
27        }
28        Ok(())
29    }
30}