(text: string, offset: number)
| 117 | } |
| 118 | |
| 119 | export const getWordBackward = (text: string, offset: number) => { |
| 120 | let currentChar = getCharFromGraphemeBreaker(text, offset, true) |
| 121 | let backwardOffset = offset - 1 |
| 122 | for (; backwardOffset >= 0; ) { |
| 123 | const backwardChar = getCharFromGraphemeBreaker(text, backwardOffset, true) |
| 124 | if (equalOfCharacterType(currentChar, backwardChar)) { |
| 125 | backwardOffset -= backwardChar.length |
| 126 | } else break |
| 127 | } |
| 128 | if (offset - backwardOffset > 1) { |
| 129 | const wordText = text.substring(backwardOffset, offset) |
| 130 | const { offset: wordOffset } = splitTextOfWord(wordText) |
| 131 | backwardOffset += wordOffset |
| 132 | } |
| 133 | return text.substring(backwardOffset < 0 ? 0 : backwardOffset, offset) |
| 134 | } |
| 135 | |
| 136 | export const getWordOffsetBackward = (text: string, offset: number) => { |
| 137 | return offset - getWordBackward(text, offset).length |
no test coverage detected
searching dependent graphs…