@@ -89,19 +89,19 @@ const floatThroughText = (element: Node, offset: number, container: Node): [Node
89
89
90
90
const resolveToNextElementOffsetIfPossible = ( element : Node , offset : number ) => {
91
91
if ( isTextOrTextHighlightOrScreenReaderNode ( element ) && element . parentNode && offset === getMaxOffset ( element ) && ( ! element . nextSibling || ! isHighlightOrScreenReaderNode ( element . nextSibling ) ) ) {
92
- return [ element . parentNode , nodeIndex ( element . parentNode . childNodes , element ) + 1 ] ;
92
+ return [ element . parentNode , nodeIndex ( element . parentNode . childNodes , element ) + 1 ] as const ;
93
93
}
94
94
95
- return [ element , offset ] ;
95
+ return [ element , offset ] as const ;
96
96
} ;
97
97
98
98
const resolveToPreviousElementOffsetIfPossible = ( element : Node , offset : number ) => {
99
99
100
100
if ( isTextOrTextHighlightOrScreenReaderNode ( element ) && element . parentNode && offset === 0 && ( ! element . previousSibling || ! isHighlightOrScreenReaderNode ( element . previousSibling ) ) ) {
101
- return [ element . parentNode , nodeIndex ( element . parentNode . childNodes , element ) ] ;
101
+ return [ element . parentNode , nodeIndex ( element . parentNode . childNodes , element ) ] as const ;
102
102
}
103
103
104
- return [ element , offset ] ;
104
+ return [ element , offset ] as const ;
105
105
} ;
106
106
107
107
// kinda copied from https://developer.mozilla.org/en-US/docs/Web/XPath/Snippets#getXPathForElement
@@ -138,15 +138,15 @@ export function getXPathForElement(targetElement: Node, offset: number, referenc
138
138
pos = 1 ;
139
139
140
140
while ( element ) {
141
- // highlights in text change the number of nodes in the nodelist,
141
+ // highlights in text change the number of nodes in the nodelist,z
142
142
// compensate by gobbling adjacent highlights and text
143
143
if ( isTextOrTextHighlightOrScreenReaderNode ( focus ) && isTextOrTextHighlightOrScreenReaderNode ( element ) ) {
144
144
while ( isTextOrTextHighlightOrScreenReaderNode ( element ) ) {
145
145
element = element . previousSibling ! ;
146
146
}
147
147
pos += 1 ;
148
148
} else {
149
- if ( isElementNotHighlight ( focus ) && isElementNotHighlight ( element ) && element . nodeName === focus . nodeName ) {
149
+ if ( isElementNotHighlight ( focus ) && isElementNotHighlight ( element ) && ( element as Node ) . nodeName === ( focus as Node ) . nodeName ) {
150
150
pos += 1 ;
151
151
}
152
152
element = element . previousSibling ! ;
@@ -222,7 +222,7 @@ export function getFirstByXPath(path: string, offset: number, referenceElement:
222
222
node = null ;
223
223
}
224
224
225
- if ( isElement ( node ! ) && node ! . childNodes . length < offset ) {
225
+ if ( isElement ( node ! ) && ( node as Node ) . childNodes . length < offset ) {
226
226
node = null ;
227
227
}
228
228
@@ -234,7 +234,7 @@ function followPart(node: Node, part: string) {
234
234
const findFirst = ( nodeList : NodeList , predicate : ( node : Node ) => boolean ) =>
235
235
Array . prototype . find . call ( nodeList , ( node : Node ) => predicate ( node ) ) ;
236
236
const findFirstAfter = ( nodeList : NodeList , afterThis : Node , predicate : ( node : Node ) => boolean ) => findFirst (
237
- Array . prototype . slice . call ( nodeList , Array . prototype . indexOf . call ( nodeList , afterThis ) + 1 ) ,
237
+ Array . prototype . slice . call ( nodeList , Array . prototype . indexOf . call ( nodeList , afterThis ) + 1 ) as unknown as NodeList ,
238
238
predicate
239
239
) ;
240
240
0 commit comments