Norse Polytheistic Mythology

    decliner

    2.0.0 • Public • Published

    decliner.js

    Мини-библиотека для склонения исчисляемых русских слов

    decliner logo

    Установка

    NPM:

    npm i decliner

    Yarn

    yarn add decliner

    Использование

    Импортируйте класс Decliner из пакета в нужный файл.

    import Decliner from 'decliner'

    Конструктор класса принимает два параметра:

    1. Массив склоняемых слов в формате
    ['рубль', 'рубля', 'рублей']
    1. Объект с настройками
    {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

    Написать issue

    Install

    npm i decliner

    DownloadsWeekly Downloads

    9

    Version

    2.0.0

    License

    ISC

    Unpacked Size

    45.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • nmihalyov