Skip to content

Commit 7fa1d71

Browse files
Merge pull request #169 from DotJoshJohnson/undefined-xpath
Fix Undefined XPath Result
2 parents 75733cd + 231fec0 commit 7fa1d71

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

src/xpath/xpath-evaluator.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@ export class EvaluatorResultType {
1212
static NODE_COLLECTION = 1;
1313
}
1414

15+
export class XPathResultTypes {
16+
static ANY_TYPE = 0;
17+
static NUMBER_TYPE = 1;
18+
static STRING_TYPE = 2;
19+
static BOOLEAN_TYPE = 3;
20+
static UNORDERED_NODE_ITERATOR_TYPE = 4;
21+
static ORDERED_NODE_ITERATOR_TYPE = 5;
22+
static UNORDERED_NODE_SNAPSHOT_TYPE = 6;
23+
static ORDERED_NODE_SNAPSHOT_TYPE = 7;
24+
static ANY_UNORDERED_NODE_TYPE = 8;
25+
static FIRST_ORDERED_NODE_TYPE = 9;
26+
}
27+
1528
export class XPathEvaluator {
1629
static evaluate(query: string, xml: string, ignoreDefaultNamespace: boolean): EvaluatorResult {
1730
if (ignoreDefaultNamespace) {
@@ -29,17 +42,17 @@ export class XPathEvaluator {
2942
evaluatorResult.type = EvaluatorResultType.SCALAR_TYPE;
3043

3144
switch (xPathResult.resultType) {
32-
case xPathResult.NUMBER_TYPE:
45+
case XPathResultTypes.NUMBER_TYPE:
3346
evaluatorResult.result = xPathResult.numberValue;
3447
break;
35-
case xPathResult.STRING_TYPE:
48+
case XPathResultTypes.STRING_TYPE:
3649
evaluatorResult.result = xPathResult.stringValue;
3750
break;
38-
case xPathResult.BOOLEAN_TYPE:
51+
case XPathResultTypes.BOOLEAN_TYPE:
3952
evaluatorResult.result = xPathResult.booleanValue;
4053
break;
41-
case xPathResult.UNORDERED_NODE_ITERATOR_TYPE:
42-
case xPathResult.ORDERED_NODE_ITERATOR_TYPE:
54+
case XPathResultTypes.UNORDERED_NODE_ITERATOR_TYPE:
55+
case XPathResultTypes.ORDERED_NODE_ITERATOR_TYPE:
4356
evaluatorResult.result = xPathResult.booleanValue;
4457

4558
let node: Node;

0 commit comments

Comments
 (0)