-
Robert Knight authored
When resolving a `TextRange` to a DOM `Range` there is an edge case where the `start` or `end` position have an `offset` of `0` and the element contains no text nodes. Before this commit `toRange` would throw an `Offset exceeds text length` error. A more useful behavior though is: - For the `start` position, to resolve it to the start of the next text node after `this.start.element` - For the `end` position, to resolve it to the end of the previous text node before `this.end.element` This commit implements this behavior by first adding a `dir` option to `TextPosition.resolve` to control what happens when the position's offset is 0 and the element has no text and then specifying this option when calling `this.{start, end}.resolve` in `TextRange.toRange`.
3d36ecee