Browse Source

Utils.fromHex function now defaults to automatically strip all delimiters. Fixes #295

n1474335 7 years ago
parent
commit
72f7f0b70c
3 changed files with 10 additions and 5 deletions
  1. 2 2
      src/core/Utils.js
  2. 2 2
      src/core/config/OperationConfig.js
  3. 6 1
      src/core/operations/ByteRepr.js

+ 2 - 2
src/core/Utils.js

@@ -718,10 +718,10 @@ const Utils = {
      * Utils.fromHex("0a:14:1e", "Colon");
      */
     fromHex: function(data, delim, byteLen) {
-        delim = delim || (data.indexOf(" ") >= 0 ? "Space" : "None");
+        delim = delim || "Auto";
         byteLen = byteLen || 2;
         if (delim !== "None") {
-            const delimRegex = Utils.regexRep[delim];
+            const delimRegex = delim === "Auto" ? /[^a-f\d]/gi : Utils.regexRep[delim];
             data = data.replace(delimRegex, "");
         }
 

+ 2 - 2
src/core/config/OperationConfig.js

@@ -624,7 +624,7 @@ const OperationConfig = {
             {
                 name: "Delimiter",
                 type: "option",
-                value: ByteRepr.HEX_DELIM_OPTIONS
+                value: ByteRepr.FROM_HEX_DELIM_OPTIONS
             }
         ]
     },
@@ -639,7 +639,7 @@ const OperationConfig = {
             {
                 name: "Delimiter",
                 type: "option",
-                value: ByteRepr.HEX_DELIM_OPTIONS
+                value: ByteRepr.TO_HEX_DELIM_OPTIONS
             }
         ]
     },

+ 6 - 1
src/core/operations/ByteRepr.js

@@ -21,7 +21,12 @@ const ByteRepr = {
      * @constant
      * @default
      */
-    HEX_DELIM_OPTIONS: ["Space", "Comma", "Semi-colon", "Colon", "Line feed", "CRLF", "0x", "\\x", "None"],
+    TO_HEX_DELIM_OPTIONS: ["Space", "Comma", "Semi-colon", "Colon", "Line feed", "CRLF", "0x", "\\x", "None"],
+    /**
+     * @constant
+     * @default
+     */
+    FROM_HEX_DELIM_OPTIONS: ["Auto", "Space", "Comma", "Semi-colon", "Colon", "Line feed", "CRLF", "0x", "\\x", "None"],
     /**
      * @constant
      * @default