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

Dependencies (0)

    Dev Dependencies (3)

    Package Sidebar

    Install

    npm i decliner

    Weekly Downloads

    1

    Version

    2.0.0

    License

    ISC

    Unpacked Size

    45.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • nmihalyov