All files text2M.js

100% Statements 13/13
70% Branches 7/10
100% Functions 4/4
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 611x                                                                           1x 2x 28x 26x             5x 3x   2x 2x 28x   2x     1x   1x
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'))