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

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

commit 9ccb88c4a198c41104bf3839146eff8bdf55fd6d
Author: Gerben <[email protected]>
AuthorDate: Fri Nov 20 13:02:16 2020 +0100

    Compare *extra* pre/suffix lengths (ignore sunk costs)
---
 packages/dom/src/text-quote/describe.ts | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/packages/dom/src/text-quote/describe.ts 
b/packages/dom/src/text-quote/describe.ts
index ae79ad0..81cc4fa 100644
--- a/packages/dom/src/text-quote/describe.ts
+++ b/packages/dom/src/text-quote/describe.ts
@@ -95,20 +95,17 @@ async function abstractDescribeTextQuote<TChunk extends 
Chunk<string>>(
     seeker1.seekToChunk(target.startChunk, target.startIndex - prefix.length);
     seeker2.seekToChunk(unintendedMatch.startChunk, unintendedMatch.startIndex 
- prefix.length);
     const extraPrefix = readUntilDifferent(seeker1, seeker2, true);
-    let sufficientPrefix = extraPrefix !== undefined ? extraPrefix + prefix : 
undefined;
 
     // Count how many characters we’d need as a suffix to disqualify this 
match.
     seeker1.seekToChunk(target.endChunk, target.endIndex + suffix.length);
     seeker2.seekToChunk(unintendedMatch.endChunk, unintendedMatch.endIndex + 
suffix.length);
     const extraSuffix = readUntilDifferent(seeker1, seeker2, false);
-    let sufficientSuffix = extraSuffix !== undefined ? suffix + extraSuffix : 
undefined;
 
     // Use either the prefix or suffix, whichever is shortest.
-    if (sufficientPrefix !== undefined && (sufficientSuffix === undefined || 
sufficientPrefix.length <= sufficientSuffix.length)) {
-      prefix = sufficientPrefix;
-      // seeker.seekBy(sufficientPrefix.length - prefix.length) // Would be 
required if we’d skip the processed part.
-    } else if (sufficientSuffix !== undefined) {
-      suffix = sufficientSuffix;
+    if (extraPrefix !== undefined && (extraSuffix === undefined || 
extraPrefix.length <= extraSuffix.length)) {
+      prefix = extraPrefix + prefix;
+    } else if (extraSuffix !== undefined) {
+      suffix = suffix + extraSuffix;
     } else {
       throw new Error('Target cannot be disambiguated; how could that have 
happened‽');
     }

Reply via email to