webapp/src/intl/translit.ts
2024-07-05 17:08:12 +03:00

24 lines
468 B
TypeScript

import translitConfig from './abc-translit.json'
const ru2en: { [key: string]: string } = translitConfig
export const translit = (str: string) => {
if (!str) {
return ''
}
const isCyrillic = /[ЁА-яё]/.test(str)
if (!isCyrillic) {
return str
}
return [...str].map((c) => ru2en[c] || c).join('')
}
export const slugify = (text: string) => {
return translit(text.toLowerCase())
.replaceAll(' ', '-')
.replaceAll(/[^\da-z]/g, '')
}