nl_tokens: The methods below are non - standard and invented by me . Sharing a boundary start - to - end or end - to - start does not count as intersection .
pl_tokens: function ( range , touchingIsIntersecting ) { assertRangeValid ( this ) ; if ( getRangeDocument ( range ) != getRangeDocument ( this ) ) { throw new DOMException ( "WRONG_DOCUMENT_ERR" ) ; } var startComparison = dom . comparePoints ( this . startContainer , this . startOffset , range . endContainer , <mask> . endOffset ) , endComparison = dom . comparePoints ( this . endContainer , this . endOffset , range . startContainer , range . startOffset ) ; return touchingIsIntersecting ? startComparison <= 0 && endComparison >= 0 : startComparison < 0 && endComparison > 0 ; }