-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
63 lines (61 loc) · 1.51 KB
/
index.js
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
61
62
63
function parseLetter(letter, e = ".", t = "-", undef = "?") {
let morse = [
["a", e+t], //.-
["b", t+e+e+e], //-...
["c", t+e+t+e], //-.-.
["d", t+e+e], //-..
["e", e], //.
["f", e+e+t+e], //..-.
["g", t+t+e], //--.
["h", e+e+e+e], //....
["i", e+e], //..
["j", e+t+t+t], //.---
["k", t+e+t], //-.-
["l", e+t+e+e], //.-..
["m", t+t], //--
["n", t+e], //-.
["ñ", t+t+e+t+t], //--.--
["o", t+t+t], //---
["p", e+t+t+e], //.--.
["q", t+t+e+t], //--.-
["r", e+t+e], //.-.
["s", e+e+e], //...
["t", t], //-
["u", e+e+t], //..-
["v", e+e+e+t], //...-
["w", e+t+t], //.--
["x", t+e+e+t], //-..-
["y", t+e+t+t], //-.--
["z", t+t+e+e], //--..
]
letter = letter.toLowerCase()
let res = morse.find(item =>
item.find(find =>
find == letter
)
)
if(!res) res = [letter, undef]
return res[1]
}
function parse(text, e = ".", t = "-", undef = "?") {
let words = text.split(" ")
let parsed = ""
let c = 0
words.forEach(word => {
let letters = word.split("")
letters.forEach(letter => {
parsed += parseLetter(letter, e, t, undef)
parsed += " "
})
c++
if(c !== words.length) parsed += "/ "
})
return parsed
}
String.prototype.toMorse = function(e = ".", t = "-", undef = "?") {
return parse(String(this), e, t, undef)
}
module.exports = () => {
console.log("TO MORSE (HELP):\nFor help, visit https://github.com/aguadecoco1301/to-morse/")
return "[!] Bad usage"
}