From befb89ba761e71d0bc1bc87c8f98819b983404ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schw=C3=B6rer=20Mike?= Date: Wed, 30 Nov 2016 09:56:02 +0100 Subject: [PATCH] reverted .gitignore and no for-loop in run_xpath --- .gitignore | 1 - src/js/operations/Extract.js | 31 ++++++++++--------------------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 77d1e64a..482be5c7 100755 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,3 @@ build/dev docs/* !docs/*.conf.json !docs/*.ico -.idea/* \ No newline at end of file diff --git a/src/js/operations/Extract.js b/src/js/operations/Extract.js index 01ebfd3a..41644762 100755 --- a/src/js/operations/Extract.js +++ b/src/js/operations/Extract.js @@ -330,29 +330,18 @@ var Extract = { } var serializer = new XMLSerializer(); - var output = ""; - for (var i = 0; i < result.length; i++) { - if (i > 0) output += delimiter; - - switch (result[i].nodeType) { - case Node.ELEMENT_NODE: - output += serializer.serializeToString(result[i]); - break; - case Node.ATTRIBUTE_NODE: - output += result[i].value; - break; - case Node.TEXT_NODE: - output += result[i].wholeText; - break; - case Node.COMMENT_NODE: - output += result[i].data; - break; - default: - throw new Error("Unknown Node Type: " + result[i].nodeType); + var nodeToString = function(node) { + const { nodeType, value, wholeText, data } = node; + switch (nodeType) { + case Node.ELEMENT_NODE: return serializer.serializeToString(node); + case Node.ATTRIBUTE_NODE: return value; + case Node.COMMENT_NODE: return data; + default: throw new Error(`Unknown Node Type: ${nodeType}`); } } - return output; + return Object.values(result).slice(0, -1) // all values except last (length) + .map(nodeToString) + .join(delimiter); } - };