export function trim()

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);
    }
}