mirror of
https://github.com/gchq/CyberChef.git
synced 2024-11-02 14:11:02 +01:00
Add ConvertToNATOAlphabet
This commit is contained in:
parent
d550ae7d93
commit
4122d4207d
160
src/core/operations/ConvertToNATOAlphabet.mjs
Normal file
160
src/core/operations/ConvertToNATOAlphabet.mjs
Normal file
@ -0,0 +1,160 @@
|
||||
/**
|
||||
* @author MarvinJWendt [git@marvinjwendt.com]
|
||||
* @copyright Crown Copyright 2019
|
||||
* @license Apache-2.0
|
||||
*/
|
||||
|
||||
import Operation from "../Operation.mjs";
|
||||
|
||||
/**
|
||||
* Convert to NATO alphabet operation
|
||||
*/
|
||||
class ConvertToNATOAlphabet extends Operation {
|
||||
/**
|
||||
* ConvertToNATOAlphabet constructor
|
||||
*/
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.name = "Convert to NATO alphabet";
|
||||
this.module = "Default";
|
||||
this.description = "Convert a text to NATO alphabet.";
|
||||
this.infoURL = "https://en.wikipedia.org/wiki/NATO_phonetic_alphabet";
|
||||
this.inputType = "string";
|
||||
this.outputType = "string";
|
||||
this.args = [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} input
|
||||
* @param {Object[]} args
|
||||
* @returns {string}
|
||||
*/
|
||||
run(input, args) {
|
||||
let result = "";
|
||||
|
||||
const text = input.toUpperCase();
|
||||
|
||||
for (let i = 0; i < text.length; i++) {
|
||||
switch (text.charAt(i)) {
|
||||
case "A":
|
||||
result += "alfa ";
|
||||
break;
|
||||
case "B":
|
||||
result += "bravo ";
|
||||
break;
|
||||
case "C":
|
||||
result += "charlie ";
|
||||
break;
|
||||
case "D":
|
||||
result += "delta ";
|
||||
break;
|
||||
case "E":
|
||||
result += "echo ";
|
||||
break;
|
||||
case "F":
|
||||
result += "foxtrot ";
|
||||
break;
|
||||
case "G":
|
||||
result += "golf ";
|
||||
break;
|
||||
case "H":
|
||||
result += "hotel ";
|
||||
break;
|
||||
case "I":
|
||||
result += "india ";
|
||||
break;
|
||||
case "J":
|
||||
result += "juliett ";
|
||||
break;
|
||||
case "K":
|
||||
result += "kilo ";
|
||||
break;
|
||||
case "L":
|
||||
result += "lima ";
|
||||
break;
|
||||
case "M":
|
||||
result += "mike ";
|
||||
break;
|
||||
case "N":
|
||||
result += "november ";
|
||||
break;
|
||||
case "O":
|
||||
result += "oscar ";
|
||||
break;
|
||||
case "P":
|
||||
result += "papa ";
|
||||
break;
|
||||
case "Q":
|
||||
result += "quebec ";
|
||||
break;
|
||||
case "R":
|
||||
result += "romeo ";
|
||||
break;
|
||||
case "S":
|
||||
result += "sierra ";
|
||||
break;
|
||||
case "T":
|
||||
result += "tango ";
|
||||
break;
|
||||
case "U":
|
||||
result += "uniform ";
|
||||
break;
|
||||
case "V":
|
||||
result += "victor ";
|
||||
break;
|
||||
case "W":
|
||||
result += "whiskey ";
|
||||
break;
|
||||
case "X":
|
||||
result += "xray ";
|
||||
break;
|
||||
case "Y":
|
||||
result += "yankee ";
|
||||
break;
|
||||
case "Z":
|
||||
result += "zulu ";
|
||||
break;
|
||||
case " ":
|
||||
result += " ";
|
||||
break;
|
||||
case "0":
|
||||
result += "zero ";
|
||||
break;
|
||||
case "1":
|
||||
result += "one ";
|
||||
break;
|
||||
case "2":
|
||||
result += "two ";
|
||||
break;
|
||||
case "3":
|
||||
result += "three ";
|
||||
break;
|
||||
case "4":
|
||||
result += "four ";
|
||||
break;
|
||||
case "5":
|
||||
result += "five ";
|
||||
break;
|
||||
case "6":
|
||||
result += "six ";
|
||||
break;
|
||||
case "7":
|
||||
result += "seven ";
|
||||
break;
|
||||
case "8":
|
||||
result += "eight ";
|
||||
break;
|
||||
case "9":
|
||||
result += "nine ";
|
||||
break;
|
||||
default:
|
||||
result += text.charAt(i) + " ";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export default ConvertToNATOAlphabet;
|
Loading…
Reference in New Issue
Block a user