PrintLib/
emoji.rs

1use std::{collections::HashMap, ops::Deref};
2
3pub struct EmojiMaker {
4    emojis: HashMap<String, String>
5}
6
7impl EmojiMaker {
8    pub fn new() -> Self {
9        Self {
10            emojis: HashMap::new()
11        }
12    }
13
14    pub fn add(&mut self, name: &str, emoji: &str) {
15        self.emojis.insert(name.into(), emoji.into());
16    }
17
18    pub fn get(&self, n: &str) -> Option<String> {
19
20        if self.emojis.contains_key(n) {
21            let emoji = self.emojis.get(n);
22            Some(emoji.unwrap().deref().to_string())
23
24        } else {
25            println!("couldn't find emoji: '{n}'");
26            Option::from(None)
27        }
28    }
29}