Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nmihalyov/decliner
Decline russian words with Decliner
https://github.com/nmihalyov/decliner
javascript js library russian words
Last synced: 11 days ago
JSON representation
Decline russian words with Decliner
- Host: GitHub
- URL: https://github.com/nmihalyov/decliner
- Owner: nmihalyov
- Created: 2017-05-02T05:00:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-06T14:51:10.000Z (over 1 year ago)
- Last Synced: 2024-10-31T16:12:05.558Z (20 days ago)
- Topics: javascript, js, library, russian, words
- Language: JavaScript
- Homepage:
- Size: 266 KB
- Stars: 39
- Watchers: 7
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# decliner.js
### Мини-библиотека для склонения исчисляемых русских слов
![decliner logo](decliner.png)## Установка
### NPM:
```bash
npm i decliner
```
### Yarn
```bash
yarn add decliner
```## Использование
Импортируйте класс `Decliner` из пакета в нужный файл.
```javascript
import Decliner from 'decliner'
```Конструктор класса принимает два параметра:
1. Массив склоняемых слов в формате
```javascript
['рубль', 'рубля', 'рублей']
```
2. Объект с настройками
```javascript
{format: '{{num}} {{value}}'}
```Примеры использования:
```javascript
const decliner = new Decliner(['рубль', 'рубля', 'рублей']);decliner.decline(1); // "рубль"
decliner.decline(2); // "рубля"
decliner.decline(5); // "рублей"
```
```javascript
const decliner = new Decliner(['рубль', 'рубля', 'рублей'], {format: '{{num}} {{value}}'});decliner.decline(1); // "1 рубль"
decliner.decline(2); // "2 рубля"
decliner.decline(5); // "5 рублей"
```## Настройки:
### `format`
Строка, форматирующая возвращаемый методом `decline` результат, подстроки `{{num}}` и `{{value}}` заменяются на число и значение соответственно
```javascript
format: '{{num}} {{value}}'
```## Методы
### `setOptions`
Принимает объект, изменяющий настройки и возвращает текущий экземпляр класса.
```javascript
const decliner = new Decliner(array, {format: '{{num}} {{value}}'});decliner.setOptions({format: '{{value}} {{num}}'});
```### `decline`
Принимает число, по которому необходимо склонить слово из массива. Если форматирование не задано, то возвращает только слово из массива.
```javascript
const decliner = new Decliner(['рубль', 'рубля', 'рублей']);decliner.decline(50); // "рублей"
```## Дополнительно
**decliner.js** умеет работать и с отрицательными значениями:
```javascript
decliner.decline(-50); // "-50 рублей"
```И с вещественными числами:
```javascript
decliner.decline(125.4); // "125.4 рубля"
```Благодарность можно выразить поставив этому репозиторию звезду, а также зайдя в другие репозитории моего аккаунта
## Обратная связь
Почта: [[email protected]](mailto:[email protected])Telegram: [@nmihalyov](http://t.me/nmihalyov)
ВКонтакте: [vk.com](https://vk.com/nmihalyov)
Мой сайт: [nmihalyov.tk](https://nmihalyov.tk)
[Написать issue](https://github.com/nmihalyov/decliner/issues/new)