const persianDigits = '۰۱۲۳۴۵۶۷۸۹';
const arabicDigits = '٠١٢٣٤٥٦٧٨٩';
export function toLatinDigits(value) {
    return value.replace(/[۰-۹٠-٩]/g, (char) => {
        const persian = persianDigits.indexOf(char);
        if (persian >= 0)
            return String(persian);
        return String(arabicDigits.indexOf(char));
    });
}
export function normalizePersian(value) {
    return toLatinDigits(String(value ?? ''))
        .normalize('NFKC')
        .replace(/[يى]/g, 'ی')
        .replace(/ك/g, 'ک')
        .replace(/[ۀة]/g, 'ه')
        .replace(/[ـ\u200c\u200f\u200e]/g, ' ')
        .replace(/\s+/g, ' ')
        .trim()
        .toLocaleLowerCase('fa-IR');
}
export function normalizeIdentifier(value) {
    return normalizePersian(value).replace(/\s+/g, '').toUpperCase();
}
export function normalizeUsername(value) {
    return toLatinDigits(value).normalize('NFKC').trim().toLowerCase();
}
export function escapeLike(value) {
    return value.replace(/[\\%_]/g, '\\$&');
}
//# sourceMappingURL=normalization.js.map