febe5a9eec
This is the beta version of the Morse Converter for the web. It is a complete rewrite and now a full webapp using Polymer. It supports all the features of the desktop and the android version.
394 lines
13 KiB
JavaScript
394 lines
13 KiB
JavaScript
var getNormalMorseDecoded, getNormalMorseEncoded;
|
|
|
|
getNormalMorseDecoded = function(input) {
|
|
var output;
|
|
if (!input) {
|
|
return null;
|
|
}
|
|
if (input.charAt(input.length === " ")) {
|
|
input.substring(0, input.length - 1);
|
|
}
|
|
input = input.toUpperCase();
|
|
output = "";
|
|
if (input === "LETTERSPACE") {
|
|
return " ";
|
|
} else if (input === "END OF WORK") {
|
|
return "...-.-";
|
|
} else if (input === "ERROR") {
|
|
return "........";
|
|
} else if (input === "STARTING SIGNAL") {
|
|
return "-.-.-";
|
|
} else if (input === "ENDING SIGNAL") {
|
|
return ".-.-.";
|
|
} else if (input === "UNDERSTOOD") {
|
|
return "...-.";
|
|
} else if (input === "WAIT") {
|
|
return ".-...";
|
|
} else if (input === "SOS") {
|
|
return "...---...";
|
|
} else if (input === "LETTER SPACE") {
|
|
return " ";
|
|
} else if (input === "WORD SPACE") {
|
|
return " ";
|
|
} else {
|
|
while (input.length > 0) {
|
|
if (input.charAt(0) === " ") {
|
|
if (output.charAt(output.length) === " ") {
|
|
output = output.substring(0, output.length - 1);
|
|
}
|
|
output += " ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "\n") {
|
|
output += "<br>";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "A") {
|
|
output += ".- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "B") {
|
|
output += "-... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "C") {
|
|
output += "-.-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "D") {
|
|
output += "-.. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "E") {
|
|
output += ". ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "F") {
|
|
output += "..-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "G") {
|
|
output += "--. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "H") {
|
|
output += ".... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "I") {
|
|
output += ".. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "J") {
|
|
output += ".--- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "K") {
|
|
output += "-.- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "L") {
|
|
output += ".-.. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "M") {
|
|
output += "-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "N") {
|
|
output += "-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "O") {
|
|
output += "--- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "P") {
|
|
output += ".--. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "Q") {
|
|
output += "--.- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "R") {
|
|
output += ".-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "S") {
|
|
output += "... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "T") {
|
|
output += "- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "U") {
|
|
output += "..- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "V") {
|
|
output += "...- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "W") {
|
|
output += ".-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "X") {
|
|
output += "-..- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "Y") {
|
|
output += "-.-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "Z") {
|
|
output += "--.. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "0") {
|
|
output += "----- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "1") {
|
|
output += ".---- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "2") {
|
|
output += "..--- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "3") {
|
|
output += "...-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "4") {
|
|
output += "....- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "5") {
|
|
output += "..... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "6") {
|
|
output += "-.... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "7") {
|
|
output += "--... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "8") {
|
|
output += "---.. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "9") {
|
|
output += "----. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "Ä") {
|
|
output += ".-.- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "Ö") {
|
|
output += "---. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "Ü") {
|
|
output += "..-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "ß") {
|
|
output += "...--... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === ".") {
|
|
output += ".-.-.- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === ",") {
|
|
output += "--..-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === ":") {
|
|
output += "---... ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "") {
|
|
output += "-.-.-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "?") {
|
|
output += "..--.. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "!") {
|
|
output += "-.-.-- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "-") {
|
|
output += "-....- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "_") {
|
|
output += "..--.- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "(") {
|
|
output += "-.--. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === ")") {
|
|
output += "-.--.- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "=") {
|
|
output += "-...- ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "+") {
|
|
output += ".-.-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "/") {
|
|
output += "-..-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "@") {
|
|
output += ".--.-. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "'") {
|
|
output += ".----. ";
|
|
input = input.substring(1);
|
|
} else if (input.charAt(0) === "$") {
|
|
output += "...-..- ";
|
|
input = input.substring(1);
|
|
} else {
|
|
return "Code not listed or wrong.";
|
|
}
|
|
}
|
|
if (output.charAt(output.length - 1) === " ") {
|
|
output = output.substring(0, output.length - 1);
|
|
}
|
|
}
|
|
return output;
|
|
};
|
|
|
|
getNormalMorseEncoded = function(input) {
|
|
var d, inputToSign, output, sign, signFull;
|
|
if (!input) {
|
|
return null;
|
|
}
|
|
while (input.charAt(input.length - 1) === " ") {
|
|
input = input.substring(0, input.length - 1);
|
|
}
|
|
input = input.toUpperCase();
|
|
while (input.charAt(input.length - 1) === "\n") {
|
|
input = input.substring(0, input.length - 1);
|
|
}
|
|
input += " ";
|
|
inputToSign = input;
|
|
output = "";
|
|
while (inputToSign !== " ") {
|
|
d = 0;
|
|
signFull = true;
|
|
sign = "";
|
|
while (signFull) {
|
|
if (inputToSign.substring(d, d + 7) === " " || inputToSign.substring(d, d + 3) === " " || inputToSign.charAt(0) === "\n") {
|
|
if (d === 0) {
|
|
if (inputToSign.substring(0, 7) === " ") {
|
|
output += " ";
|
|
inputToSign = inputToSign.substring(7, inputToSign.length);
|
|
}
|
|
if (inputToSign.substring(0, 3) === " ") {
|
|
inputToSign = inputToSign.substring(3, inputToSign.length);
|
|
}
|
|
if (inputToSign.charAt(0) === "\n") {
|
|
output += "<br>";
|
|
inputToSign = inputToSign.substring(1, inputToSign.length);
|
|
}
|
|
} else {
|
|
sign = inputToSign.substring(0, d);
|
|
inputToSign = inputToSign.substring(d, inputToSign.length);
|
|
signFull = false;
|
|
}
|
|
} else {
|
|
d++;
|
|
}
|
|
}
|
|
if (sign === ".-") {
|
|
output += "A";
|
|
} else if (sign === "-...") {
|
|
output += "B";
|
|
} else if (sign === "-.-.") {
|
|
output += "C";
|
|
} else if (sign === "-..") {
|
|
output += "D";
|
|
} else if (sign === ".") {
|
|
output += "E";
|
|
} else if (sign === "..-.") {
|
|
output += "F";
|
|
} else if (sign === "--.") {
|
|
output += "G";
|
|
} else if (sign === "....") {
|
|
output += "H";
|
|
} else if (sign === "..") {
|
|
output += "I";
|
|
} else if (sign === ".---") {
|
|
output += "J";
|
|
} else if (sign === "-.-") {
|
|
output += "K";
|
|
} else if (sign === ".-..") {
|
|
output += "L";
|
|
} else if (sign === "--") {
|
|
output += "M";
|
|
} else if (sign === "-.") {
|
|
output += "N";
|
|
} else if (sign === "---") {
|
|
output += "O";
|
|
} else if (sign === ".--.") {
|
|
output += "P";
|
|
} else if (sign === "--.-") {
|
|
output += "Q";
|
|
} else if (sign === ".-.") {
|
|
output += "R";
|
|
} else if (sign === "...") {
|
|
output += "S";
|
|
} else if (sign === "-") {
|
|
output += "T";
|
|
} else if (sign === "..-") {
|
|
output += "U";
|
|
} else if (sign === "...-") {
|
|
output += "V";
|
|
} else if (sign === ".--") {
|
|
output += "W";
|
|
} else if (sign === "-..-") {
|
|
output += "X";
|
|
} else if (sign === "-.--") {
|
|
output += "Y";
|
|
} else if (sign === "--..") {
|
|
output += "Z";
|
|
} else if (sign === "-----") {
|
|
output += "0";
|
|
} else if (sign === ".----") {
|
|
output += "1";
|
|
} else if (sign === "..---") {
|
|
output += "2";
|
|
} else if (sign === "...--") {
|
|
output += "3";
|
|
} else if (sign === "....-") {
|
|
output += "4";
|
|
} else if (sign === ".....") {
|
|
output += "5";
|
|
} else if (sign === "-....") {
|
|
output += "6";
|
|
} else if (sign === "--...") {
|
|
output += "7";
|
|
} else if (sign === "---..") {
|
|
output += "8";
|
|
} else if (sign === "----.") {
|
|
output += "9";
|
|
} else if (sign === ".-.-") {
|
|
output += "Ä";
|
|
} else if (sign === "---.") {
|
|
output += "Ö";
|
|
} else if (sign === "..--") {
|
|
output += "Ü";
|
|
} else if (sign === "...--...") {
|
|
output += "ß";
|
|
} else if (sign === "----") {
|
|
output += "CH";
|
|
} else if (sign === ".-.-.-") {
|
|
output += ".";
|
|
} else if (sign === "--..--") {
|
|
output += ",";
|
|
} else if (sign === "---...") {
|
|
output += ":";
|
|
} else if (sign === "-.-.-.") {
|
|
output += ";";
|
|
} else if (sign === "..--..") {
|
|
output += "?";
|
|
} else if (sign === "-.-.--") {
|
|
output += "!";
|
|
} else if (sign === "-....-") {
|
|
output += "-";
|
|
} else if (sign === "..--.-") {
|
|
output += "_";
|
|
} else if (sign === "-.--.") {
|
|
output += "(";
|
|
} else if (sign === "-.--.-") {
|
|
output += ")";
|
|
} else if (sign === ".----.") {
|
|
output += "'";
|
|
} else if (sign === "-...-") {
|
|
output += "=";
|
|
} else if (sign === ".-.-.") {
|
|
output += "+";
|
|
} else if (sign === "-..-.") {
|
|
output += "/";
|
|
} else if (sign === ".--.-.") {
|
|
output += "@";
|
|
} else if (sign === "-.-.-") {
|
|
output += "Begin of the signal";
|
|
} else if (sign === "-...-") {
|
|
output += "Wait";
|
|
} else if (sign === "...-.") {
|
|
output += "Understood";
|
|
} else if (sign === "...-.-") {
|
|
output += "End of work";
|
|
} else if (sign === "...---...") {
|
|
output += "SOS";
|
|
} else if (sign === "........") {
|
|
output += "Error";
|
|
} else {
|
|
return "Code not listed or wrong.";
|
|
}
|
|
}
|
|
return output;
|
|
};
|