mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-21 07:16:17 -04:00
Add ConvertToNATOAlphabet
This commit is contained in:
parent
d550ae7d93
commit
4122d4207d
1 changed files with 160 additions and 0 deletions
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…
Add table
Add a link
Reference in a new issue