Decliner
Decline russian words with Decliner
Install / Use
/learn @nmihalyov/DeclinerREADME
decliner.js
Мини-библиотека для склонения исчисляемых русских слов

Установка
NPM:
npm i decliner
Yarn
yarn add decliner
Использование
Импортируйте класс Decliner из пакета в нужный файл.
import Decliner from 'decliner'
Конструктор класса принимает два параметра:
- Массив склоняемых слов в формате
['рубль', 'рубля', 'рублей']
- Объект с настройками
{format: '{{num}} {{value}}'}
Примеры использования:
const decliner = new Decliner(['рубль', 'рубля', 'рублей']);
decliner.decline(1); // "рубль"
decliner.decline(2); // "рубля"
decliner.decline(5); // "рублей"
const decliner = new Decliner(['рубль', 'рубля', 'рублей'], {format: '{{num}} {{value}}'});
decliner.decline(1); // "1 рубль"
decliner.decline(2); // "2 рубля"
decliner.decline(5); // "5 рублей"
Настройки:
format
Строка, форматирующая возвращаемый методом decline результат, подстроки {{num}} и {{value}} заменяются на число и значение соответственно
format: '{{num}} {{value}}'
Методы
setOptions
Принимает объект, изменяющий настройки и возвращает текущий экземпляр класса.
const decliner = new Decliner(array, {format: '{{num}} {{value}}'});
decliner.setOptions({format: '{{value}} {{num}}'});
decline
Принимает число, по которому необходимо склонить слово из массива. Если форматирование не задано, то возвращает только слово из массива.
const decliner = new Decliner(['рубль', 'рубля', 'рублей']);
decliner.decline(50); // "рублей"
Дополнительно
decliner.js умеет работать и с отрицательными значениями:
decliner.decline(-50); // "-50 рублей"
И с вещественными числами:
decliner.decline(125.4); // "125.4 рубля"
Благодарность можно выразить поставив этому репозиторию звезду, а также зайдя в другие репозитории моего аккаунта
Обратная связь
Почта: nikita.mihalyov@gmail.com
Telegram: @nmihalyov
ВКонтакте: vk.com
Мой сайт: nmihalyov.tk
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
