const MORSE_ALPHABET: [(&'static str, &'static 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<&'static str> {
match MORSE_ALPHABET.iter().find(|&e| e.1 == seq) {
Some(entry) => Some(entry.0),
None => None
}
}
pub fn encode_character(c: char) -> Option<&'static str> {
match MORSE_ALPHABET.iter().find(|&e| e.0 == c.to_uppercase().to_string()) {
Some(entry) => Some(entry.1),
None => None
}
}