浏览代码

Enigma: make sure op class is called Enigma

s2224834 6 年之前
父节点
当前提交
b4e130234c
共有 1 个文件被更改,包括 20 次插入20 次删除
  1. 20 20
      src/core/operations/Enigma.mjs

+ 20 - 20
src/core/operations/Enigma.mjs

@@ -8,12 +8,12 @@
 
 import Operation from "../Operation";
 import OperationError from "../errors/OperationError";
-import * as Enigma from "../lib/Enigma";
+import {ROTORS, LETTERS, ROTORS_OPTIONAL, REFLECTORS, Rotor, Reflector, Plugboard, EnigmaMachine} from "../lib/Enigma";
 
 /**
  * Enigma operation
  */
-class EnigmaOp extends Operation {
+class Enigma extends Operation {
     /**
      * Enigma constructor
      */
@@ -30,72 +30,72 @@ class EnigmaOp extends Operation {
             {
                 name: "1st (right-hand) rotor",
                 type: "editableOption",
-                value: Enigma.ROTORS,
+                value: ROTORS,
                 // Default config is the rotors I-III *left to right*
                 defaultIndex: 2
             },
             {
                 name: "1st rotor ring setting",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "1st rotor initial value",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "2nd rotor",
                 type: "editableOption",
-                value: Enigma.ROTORS,
+                value: ROTORS,
                 defaultIndex: 1
             },
             {
                 name: "2nd rotor ring setting",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "2nd rotor initial value",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "3rd rotor",
                 type: "editableOption",
-                value: Enigma.ROTORS,
+                value: ROTORS,
                 defaultIndex: 0
             },
             {
                 name: "3rd rotor ring setting",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "3rd rotor initial value",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "4th rotor",
                 type: "editableOption",
-                value: Enigma.ROTORS_OPTIONAL,
+                value: ROTORS_OPTIONAL,
                 defaultIndex: 10
             },
             {
                 name: "4th rotor ring setting",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "4th rotor initial value",
                 type: "option",
-                value: Enigma.LETTERS
+                value: LETTERS
             },
             {
                 name: "Reflector",
                 type: "editableOption",
-                value: Enigma.REFLECTORS
+                value: REFLECTORS
             },
             {
                 name: "Plugboard",
@@ -145,14 +145,14 @@ class EnigmaOp extends Operation {
                 break;
             }
             const [rotorwiring, rotorsteps] = this.parseRotorStr(args[i*3], 1);
-            rotors.push(new Enigma.Rotor(rotorwiring, rotorsteps, args[i*3 + 1], args[i*3 + 2]));
+            rotors.push(new Rotor(rotorwiring, rotorsteps, args[i*3 + 1], args[i*3 + 2]));
         }
-        const reflector = new Enigma.Reflector(reflectorstr);
-        const plugboard = new Enigma.Plugboard(plugboardstr);
+        const reflector = new Reflector(reflectorstr);
+        const plugboard = new Plugboard(plugboardstr);
         if (removeOther) {
             input = input.replace(/[^A-Za-z]/g, "");
         }
-        const enigma = new Enigma.EnigmaMachine(rotors, reflector, plugboard);
+        const enigma = new EnigmaMachine(rotors, reflector, plugboard);
         let result = enigma.crypt(input);
         if (removeOther) {
             // Five character cipher groups is traditional
@@ -194,4 +194,4 @@ class EnigmaOp extends Operation {
 
 }
 
-export default EnigmaOp;
+export default Enigma;