in src/RegExpI18n.ts [83:108]
export function trim(text: string, range: Range): string {
let firstOutOfRange = -1;
let lastOutOfRange = -1;
for (let offset = 0; offset < text.length; ) {
const codePoint = text.charCodeAt(offset);
const outOfRange = range.out(codePoint);
const charCount = codePoint >= MIN_SUPPLEMENTARY_CODE_POINT ? 2 : 1;
if (firstOutOfRange === -1 && outOfRange) {
firstOutOfRange = offset;
}
if (outOfRange) {
lastOutOfRange = offset + charCount;
}
offset += charCount;
}
if (firstOutOfRange === -1 || lastOutOfRange === -1) {
return '';
} else {
return text.substring(firstOutOfRange, lastOutOfRange);
}
}