import { buildRegExp, PatternExpression } from 'regexp-composer' export function roundToDigits(val: number, digits = 3) { const multiplier = 10 ** digits return Math.round(val * multiplier) / multiplier } export function listAllCharsMatching(charPattern: PatternExpression) { const regExp = buildRegExp(charPattern) const matchingChars: string[] = [] for (let codepoint = 0; codepoint < 1114111; codepoint++) { const char = String.fromCodePoint(codepoint) if (regExp.test(char)) { matchingChars.push(char) } } return matchingChars } export function extractSuppressions(entries: { suppression: string}[]) { const suppressions: string[] = [] for (const entry of entries) { suppressions.push(entry.suppression) } return suppressions } export function getShortLanguageCode(langCode: string) { const dashIndex = langCode.indexOf('-') if (dashIndex == -1) { return langCode } return langCode.substring(0, dashIndex).toLowerCase() }