const MORSE_ALPHABET: [(&str, &str); 49] = [
("A", ".-"),
("B", "-..."),
("C", "-.-."),
("D", "-.."),
("E", "."),
("F", "..-."),
("G", "--."),
("H", "...."),
("I", ".."),
("J", ".---"),
("K", "-.-"),
("L", ".-.."),
("M", "--"),
("N", "-."),
("O", "---"),
("P", ".--."),
("Q", "--.-"),
("R", ".-."),
("S", "..."),
("T", "-"),
("U", "..-"),
("V", "...-"),
("W", ".--"),
("X", "-..-"),
("Y", "-.--"),
("Z", "--.."),
("1", ".----"),
("2", "..---"),
("3", "...--"),
("4", "....-"),
("5", "....."),
("6", "-...."),
("7", "--..."),
("8", "---.."),
("9", "----."),
("0", "-----"),
(".", ".-.-.-"),
(",", "--..--"),
(":", "---..."),
("\"", ".----."),
("'", ".-..-."),
("!", "-.-.--"),
("?", "..--.."),
("@", ".--.-."),
("-", "-....-"),
(";", "-.-.-."),
("(", "-.--."),
(")", "-.--.-"),
("=", "-...-"),
];
pub fn decode_sequence(seq: &str) -> Option<String> {
match MORSE_ALPHABET.iter().find(|&e| e.1 == seq) {
Some(entry) => Some(entry.0.to_string()),
None => None,
}
}
pub fn encode_character(c: char) -> Option<String> {
match MORSE_ALPHABET
.iter()
.find(|&e| e.0 == c.to_uppercase().to_string())
{
Some(entry) => Some(entry.1.to_string()),
None => None,
}
}