t3xt2morsens
Version:
Text 2 Morse Code Converter
61 lines (56 loc) • 1.28 kB
JavaScript
const morseCharacters = {
"1": '.----',
"2": '..---',
"3": '...--',
"4": '....-',
"5": '.....',
"6": '-....',
"7": '--...',
"8": '---..',
"9": '----.',
"0": '-----',
"A": ".-",
"B": "-...",
"C": "-.-.",
"D": "-..",
"E": ".",
"F": "..-.",
"G": "--.",
"H": "....",
"I": "..",
"J": ".---",
"K": "-.-",
"L": ".-..",
"M": "--",
"N": "-.",
"O": "---",
"P": ".--.",
"Q": "--.-",
"R": ".-.",
"S": "...",
"T": "-",
"U": "..-",
"W": ".--",
"X": "-..-",
"Y": "-.--",
"Z": "--.."
}
const code = (message) => {
return message.toUpperCase().split("").map(char => {
if(morseCharacters[char]){
return morseCharacters[char]
}
})
}
function MorseCode(message) {
if(!message || !isNaN(message || message == "" || message == null || !message.match('/[a-zA-Z0-9-/]/'))){
throw new Error('ArgumentInvalidException')
}
const morsecode = code(message)
var filter = morsecode.filter(function(mc){
return mc !== undefined;
})
return filter.join('@')
}
module.exports = MorseCode;
// console.log(MorseCode('Necesito Ayuda'))