UNPKG

syphonx-core

Version:

SyphonX is a template-driven solution for extracting data from HTML in a highly efficient way. It combines the power of jQuery, Regular Expressions, and Javascript into a declarative template-driven format that extracts and reshapes HTML data into JSON.

50 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.evaluateXPath = void 0; function evaluateXPath(xpath, nodes) { var result = { nodes: [], value: [] }; for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { var node = nodes_1[_i]; var eval_result = document.evaluate(xpath, node, null, XPathResult.ANY_TYPE, null); if (eval_result.resultType === XPathResult.STRING_TYPE) { result.nodes.push(node); result.value.push(eval_result.stringValue); } else if (eval_result.resultType === XPathResult.NUMBER_TYPE) { result.nodes.push(node); result.value.push(eval_result.numberValue); } else if (eval_result.resultType === XPathResult.BOOLEAN_TYPE) { result.nodes.push(node); result.value.push(eval_result.booleanValue); } else if (eval_result.resultType === XPathResult.UNORDERED_NODE_ITERATOR_TYPE) { var node_1 = eval_result.iterateNext(); while (node_1) { result.nodes.push(node_1); result.value.push(node_1.textContent); node_1 = eval_result.iterateNext(); } return result; } else if (eval_result.resultType === XPathResult.ORDERED_NODE_ITERATOR_TYPE) { var result_1 = { nodes: [], value: [] }; var node_2 = eval_result.iterateNext(); while (node_2) { result_1.nodes.push(node_2); result_1.value.push(node_2.textContent || null); node_2 = eval_result.iterateNext(); } return result_1; } } return result; } exports.evaluateXPath = evaluateXPath; //# sourceMappingURL=xpath.js.map