From 231fec0ff7e7a945d592ab17f29dbd3de36cd5bc Mon Sep 17 00:00:00 2001 From: Josh Johnson Date: Mon, 28 May 2018 10:46:56 -0400 Subject: [PATCH] Fix Undefined XPath Result The xpath package no longer exports XPathResult. Fixes #168 --- src/xpath/xpath-evaluator.ts | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/xpath/xpath-evaluator.ts b/src/xpath/xpath-evaluator.ts index ae05414..21a2f4e 100644 --- a/src/xpath/xpath-evaluator.ts +++ b/src/xpath/xpath-evaluator.ts @@ -12,6 +12,19 @@ export class EvaluatorResultType { static NODE_COLLECTION = 1; } +export class XPathResultTypes { + static ANY_TYPE = 0; + static NUMBER_TYPE = 1; + static STRING_TYPE = 2; + static BOOLEAN_TYPE = 3; + static UNORDERED_NODE_ITERATOR_TYPE = 4; + static ORDERED_NODE_ITERATOR_TYPE = 5; + static UNORDERED_NODE_SNAPSHOT_TYPE = 6; + static ORDERED_NODE_SNAPSHOT_TYPE = 7; + static ANY_UNORDERED_NODE_TYPE = 8; + static FIRST_ORDERED_NODE_TYPE = 9; +} + export class XPathEvaluator { static evaluate(query: string, xml: string, ignoreDefaultNamespace: boolean): EvaluatorResult { if (ignoreDefaultNamespace) { @@ -29,17 +42,17 @@ export class XPathEvaluator { evaluatorResult.type = EvaluatorResultType.SCALAR_TYPE; switch (xPathResult.resultType) { - case xPathResult.NUMBER_TYPE: + case XPathResultTypes.NUMBER_TYPE: evaluatorResult.result = xPathResult.numberValue; break; - case xPathResult.STRING_TYPE: + case XPathResultTypes.STRING_TYPE: evaluatorResult.result = xPathResult.stringValue; break; - case xPathResult.BOOLEAN_TYPE: + case XPathResultTypes.BOOLEAN_TYPE: evaluatorResult.result = xPathResult.booleanValue; break; - case xPathResult.UNORDERED_NODE_ITERATOR_TYPE: - case xPathResult.ORDERED_NODE_ITERATOR_TYPE: + case XPathResultTypes.UNORDERED_NODE_ITERATOR_TYPE: + case XPathResultTypes.ORDERED_NODE_ITERATOR_TYPE: evaluatorResult.result = xPathResult.booleanValue; let node: Node;