18 lines
540 B
JavaScript
18 lines
540 B
JavaScript
'use strict';
|
||
|
||
const MAP = {
|
||
а: 'a', б: 'b', в: 'v', г: 'g', д: 'd', е: 'e', ё: 'e', ж: 'zh', з: 'z',
|
||
и: 'i', й: 'y', к: 'k', л: 'l', м: 'm', н: 'n', о: 'o', п: 'p', р: 'r',
|
||
с: 's', т: 't', у: 'u', ф: 'f', х: 'kh', ц: 'ts', ч: 'ch', ш: 'sh',
|
||
щ: 'shch', ъ: '', ы: 'y', ь: '', э: 'e', ю: 'yu', я: 'ya'
|
||
};
|
||
|
||
function translit(value) {
|
||
return String(value || '')
|
||
.toLowerCase()
|
||
.split('')
|
||
.map((ch) => (MAP[ch] !== undefined ? MAP[ch] : ''))
|
||
.join('');
|
||
}
|
||
|
||
module.exports = { translit }; |