abrupt
Version:
(Random - Strings, Numbers, Booleans, Floats, Objects, Arrays) (Crypto - Base64, AES, RSA, MD5, SHA512, Morse, Rot13)
17 lines (16 loc) • 1.3 kB
JavaScript
const objectreverse = require("../object/reverse.js")
const morse = { "0" : "-----", "1" : ".----", "2" : "..---", "3" : "...--", "4" : "....-", "5" : ".....", "6" : "-....", "7" : "--...", "8" : "---..", "9" : "----.", "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" : "--..", "." : ".-.-.-", "," : "--..--", "?" : "..--..", "'" : ".----.", "!" : "-.-.--", "/" : "-..-.", "(" : "-.--.", ")" : "-.--.-", "&" : ".-...", ":" : "---...", ";" : "-.-.-.", "=" : "-...-", "+" : ".-.-.", "-" : "-....-", "_" : "..--.-", '"' : ".-..-.", "$" : "...-..-", "@" : ".--.-.", "¿" : "..-.-", "¡" : "--...-" }
module.exports = {
encode: (x) => {
let a = ""
for (let l of x) {
if (l.match(/\s+/)) {
a += " / "
} else {
a += `${morse[l.toLowerCase()] || l} `
}
}
return a
},
decode: x => x.split(" / ").map(x => x.split(" ")).map(s => s.map(x => objectreverse(morse)[x.toLowerCase()]).filter(z => z).join("")).join(" ")
}