From 231fec0ff7e7a945d592ab17f29dbd3de36cd5bc Mon Sep 17 00:00:00 2001
From: Josh Johnson <josh.johnson@leafyacre.com>
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;