浏览代码

Add better error handling.
Also now doesn't do anything if there's no input

j433866 6 年之前
父节点
当前提交
69797e58cb
共有 1 个文件被更改,包括 12 次插入3 次删除
  1. 12 3
      src/core/operations/ConvertCoordinateFormat.mjs

+ 12 - 3
src/core/operations/ConvertCoordinateFormat.mjs

@@ -5,6 +5,7 @@
  */
 
 import Operation from "../Operation";
+import OperationError from "../errors/OperationError";
 import {FORMATS, convertCoordinates} from "../lib/ConvertCoordinates";
 
 /**
@@ -37,7 +38,6 @@ class ConvertCoordinateFormat extends Operation {
                     "Auto",
                     "Direction Preceding",
                     "Direction Following",
-                    "Space",
                     "\\n",
                     "Comma",
                     "Semi-colon",
@@ -83,8 +83,17 @@ class ConvertCoordinateFormat extends Operation {
      * @returns {string}
      */
     run(input, args) {
-        const [inFormat, inDelim, outFormat, outDelim, incDirection, precision] = args;
-        return convertCoordinates(input, inFormat, inDelim, outFormat, outDelim, incDirection, precision);
+        if (input.replace(/[\s+]/g, "") !== "") {
+            const [inFormat, inDelim, outFormat, outDelim, incDirection, precision] = args;
+            try {
+                const result = convertCoordinates(input, inFormat, inDelim, outFormat, outDelim, incDirection, precision);
+                return result;
+            } catch (error) {
+                throw new OperationError(error);
+            }
+        } else {
+            return input;
+        }
     }
 }