This is an automated email from the ASF dual-hosted git repository.

gerben pushed a commit to branch dom-tests
in repository https://gitbox.apache.org/repos/asf/incubator-annotator.git

commit 76cc9c80accdeddf150d5a5504f717b7fee1400c
Author: Gerben <[email protected]>
AuthorDate: Fri May 22 15:54:27 2020 +0200

    Update to dom-seek v5, improve its type declaration
    
    Fixes failing tests due to not seeking at all. Although perhaps we
    should not rely on dom-seek to keep its exact behaviour as is?
---
 @types/dom-seek/index.d.ts           |  2 +-
 packages/dom/package.json            |  2 +-
 packages/dom/src/text-quote/match.ts | 39 ++++++++++++++----------------------
 yarn.lock                            | 21 ++++---------------
 4 files changed, 21 insertions(+), 43 deletions(-)

diff --git a/@types/dom-seek/index.d.ts b/@types/dom-seek/index.d.ts
index 0ba0753..5bc1bc2 100644
--- a/@types/dom-seek/index.d.ts
+++ b/@types/dom-seek/index.d.ts
@@ -1,3 +1,3 @@
 declare module 'dom-seek' {
-  export default function seek(iter: NodeIterator, where: number | Node): 
number;
+  export default function seek(iter: NodeIterator, where: number | Text): 
number;
 }
diff --git a/packages/dom/package.json b/packages/dom/package.json
index fb1f5a6..fb1aede 100644
--- a/packages/dom/package.json
+++ b/packages/dom/package.json
@@ -16,7 +16,7 @@
     "cartesian": "^1.0.1",
     "core-js": "^3.6.4",
     "dom-node-iterator": "^3.5.3",
-    "dom-seek": "^4.0.3"
+    "dom-seek": "^5.1.0"
   },
   "engines": {
     "node": ">=10.0.0"
diff --git a/packages/dom/src/text-quote/match.ts 
b/packages/dom/src/text-quote/match.ts
index 2657a6f..4118fd0 100644
--- a/packages/dom/src/text-quote/match.ts
+++ b/packages/dom/src/text-quote/match.ts
@@ -58,18 +58,15 @@ export function createTextQuoteSelectorMatcher(selector: 
TextQuoteSelector): Dom
       // Seek to the start of the match.
       referenceNodeIndex += seek(iter, matchStartIndex - referenceNodeIndex);
 
-      // Normalize the reference to the start of the match.
-      if (!iter.pointerBeforeReferenceNode) {
-        // Peek forward and skip over any empty nodes.
-        if (iter.nextNode()) {
-          while ((iter.referenceNode.nodeValue as String).length === 0) {
-            iter.nextNode();
-          }
-
-          // The iterator now points to the end of the reference node.
-          // Move the iterator back to the start of the reference node.
-          iter.previousNode();
+      // Peek forward and skip over any empty nodes.
+      if (iter.nextNode()) {
+        while ((iter.referenceNode.nodeValue as String).length === 0) {
+          iter.nextNode();
         }
+
+        // The iterator now points to the end of the reference node.
+        // Move the iterator back to the start of the reference node.
+        iter.previousNode();
       }
 
       // Record the start container and offset.
@@ -78,21 +75,15 @@ export function createTextQuoteSelectorMatcher(selector: 
TextQuoteSelector): Dom
       // Seek to the end of the match.
       referenceNodeIndex += seek(iter, matchEndIndex - referenceNodeIndex);
 
-      // Normalize the reference to the end of the match.
-      if (!iter.pointerBeforeReferenceNode) {
-        // Peek forward and skip over any empty nodes.
-        if (iter.nextNode()) {
-          while ((iter.referenceNode.nodeValue as String).length === 0) {
-            iter.nextNode();
-          }
-
-          // The iterator now points to the end of the reference node.
-          // Move the iterator back to the start of the reference node.
-          iter.previousNode();
+      // Peek forward and skip over any empty nodes.
+      if (iter.nextNode()) {
+        while ((iter.referenceNode.nodeValue as String).length === 0) {
+          iter.nextNode();
         }
 
-        // Maybe seek backwards to the start of the node.
-        referenceNodeIndex += seek(iter, iter.referenceNode);
+        // The iterator now points to the end of the reference node.
+        // Move the iterator back to the start of the reference node.
+        iter.previousNode();
       }
 
       // Record the end container and offset.
diff --git a/yarn.lock b/yarn.lock
index 7a68012..c20b2b2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2212,11 +2212,6 @@ ajv@^6.12.0:
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
 
[email protected]:
-  version "0.0.3"
-  resolved 
"https://registry.yarnpkg.com/ancestors/-/ancestors-0.0.3.tgz#124eb944447d68b302057047d15d077a9da5179d";
-  integrity sha1-Ek65RER9aLMCBXBH0V0Hep2lF50=
-
 [email protected]:
   version "3.2.3"
   resolved 
"https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813";
@@ -3959,13 +3954,10 @@ dom-node-iterator@^3.5.3:
   resolved 
"https://registry.yarnpkg.com/dom-node-iterator/-/dom-node-iterator-3.5.3.tgz#32b68aa440962f1734487029f544a3db704637b7";
   integrity sha1-MraKpECWLxc0SHAp9USj23BGN7c=
 
-dom-seek@^4.0.3:
-  version "4.0.3"
-  resolved 
"https://registry.yarnpkg.com/dom-seek/-/dom-seek-4.0.3.tgz#f14dddf04b3fb062d901c7b00b0c142a06e0a94b";
-  integrity sha1-8U3d8Es/sGLZAcewCwwUKgbgqUs=
-  dependencies:
-    ancestors "0.0.3"
-    index-of "^0.2.0"
+dom-seek@^5.1.0:
+  version "5.1.1"
+  resolved 
"https://registry.yarnpkg.com/dom-seek/-/dom-seek-5.1.1.tgz#4e35bee763b6ba082f372345823ec9665d1fbf26";
+  integrity 
sha512-1strSwd201Gfhfkfsk77SX9xyJGzu12gqUo5Q0W3Njtj2QxcfQTwCDOynZ6npZ4ASUFRQq0asjYDRlFxYPKwTA==
 
 domain-browser@^1.1.1:
   version "1.2.0"
@@ -5657,11 +5649,6 @@ indent-string@^4.0.0:
   resolved 
"https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251";
   integrity 
sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
 
-index-of@^0.2.0:
-  version "0.2.0"
-  resolved 
"https://registry.yarnpkg.com/index-of/-/index-of-0.2.0.tgz#38c1e2367ea55dffad3b6eb592ec1cc3090d7d65";
-  integrity sha1-OMHiNn6lXf+tO261kuwcwwkNfWU=
-
 indexes-of@^1.0.1:
   version "1.0.1"
   resolved 
"https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607";

Reply via email to