Лёгкая и быстрая библиотека для склонения по падежам русских имён, отчеств и фамилий
Установите npm пакет:
$ npm install sklonenie
И используйте следующим образом:
const sklonenie = require('sklonenie')
// ...
const bulgakov = sklonenie('Михаил', 'Афанасьевич', 'Булгаков')
console.log(`На страницах рукописи ${bulgakov['винительный'].join(' ')} «Мастер и Маргарита» ученые обнаружили следы морфия`)
// На страницах рукописи Михаила Афанасьевича Булгакова «Мастер и Маргарита» ученые обнаружили следы морфия
Получение массива со склонениями имени, отчества и фамилии.
Синтаксис:
sklonenie(имя, отчество, фамилия[, пол])
sklonenie(имя, отчество, фамилия[, пол])[склонение]
Последный аргумент — пол — может принимать значение «1» — мужское имя, или «2» — женское. Не обязателен, но может помочь склонять некоторые имена и фамилии.
Пример:
const adel_1 = sklonenie('Адель', 'Захарович', 'Дельвиг', 1)
const adel_2 = sklonenie('Адель', 'Захаровна', 'Дельвиг', 2)
console.log(adel_1['родительный'])
// ['Аделя', 'Захаровича', 'Дельвига']
console.log(adel_2['родительный'])
// ['Адели', 'Захаровны', 'Дельвиг']
Склонение можно получить по ключу в виде названия или индекса падежа (от 0 до 5).
Пример:
const tolstoy = sklonenie('Лев', 'Николаевич', 'Толстой')
console.log(
tolstoy['дательный'], // получение по названию
tolstoy[2] // получение по индексу (0–5)
)
Также возможно получение части имени из результата
Пример:
const saltikovSchedrin = sklonenie('Михаил', 'Евграфович', 'Салтыков-Щедрин', 1)
console.log(saltikovSchedrin.lastname['винительный'])
// Салтыкова-Щедрина
Получение массива со склонениями имени
Синтаксис:
sklonenie.firstname(имя[, пол])
Пример:
const pavel = sklonenie.firstname('Павел')
console.log(pavel['именительный'])
// Павел
Получение массива со склонениями отчества
Синтаксис:
sklonenie.middlename(отчество[, пол])
Пример:
const mihaylovich = sklonenie.middlename('Михайлович')
const mihalych = sklonenie.middlename('Михалыч')
console.log(mihaylovich['родительный'])
// Михайловича
console.log(mihalych['родительный'])
// Михалыча
Получение массива со склонениями фамилии
Синтаксис:
sklonenie.lastname(фамилия[, пол])
Пример:
const lermontov = sklonenie.lastname('Лермонтов')
const gyote = sklonenie.lastname('Гёте')
console.log(lermontov['дательный'])
// Лермонтову
console.log(gyote['предложный'])
// Гёте