{"id":19227449,"url":"https://github.com/nmihalyov/decliner","last_synced_at":"2025-04-21T01:31:34.770Z","repository":{"id":20622396,"uuid":"89993328","full_name":"nmihalyov/decliner","owner":"nmihalyov","description":"Decline russian words with Decliner","archived":false,"fork":false,"pushed_at":"2023-03-06T14:51:10.000Z","size":272,"stargazers_count":39,"open_issues_count":4,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-09T19:20:02.798Z","etag":null,"topics":["javascript","js","library","russian","words"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nmihalyov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-05-02T05:00:57.000Z","updated_at":"2024-05-19T17:47:04.000Z","dependencies_parsed_at":"2023-01-13T21:03:43.652Z","dependency_job_id":"0f779f56-ca62-4f6b-ac49-fa5dcc11ccb9","html_url":"https://github.com/nmihalyov/decliner","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"28cc872e8aa339980b424a329310c87ce4106535"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmihalyov%2Fdecliner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmihalyov%2Fdecliner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmihalyov%2Fdecliner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmihalyov%2Fdecliner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmihalyov","download_url":"https://codeload.github.com/nmihalyov/decliner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249982510,"owners_count":21355704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","js","library","russian","words"],"created_at":"2024-11-09T15:23:20.889Z","updated_at":"2025-04-21T01:31:34.229Z","avatar_url":"https://github.com/nmihalyov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# decliner.js\n### Мини-библиотека для склонения исчисляемых русских слов\n![decliner logo](decliner.png)\n\n## Установка\n### NPM: \n```bash\nnpm i decliner\n```\n### Yarn \n```bash\nyarn add decliner\n```\n\n## Использование\nИмпортируйте класс `Decliner` из пакета в нужный файл.\n```javascript\nimport Decliner from 'decliner'\n```\n\nКонструктор класса принимает два параметра:\n1. Массив склоняемых слов в формате\n```javascript\n['рубль', 'рубля', 'рублей']\n```\n2. Объект с настройками\n```javascript\n{format: '{{num}} {{value}}'}\n```\n\nПримеры использования:\n```javascript\nconst decliner = new Decliner(['рубль', 'рубля', 'рублей']);\n\ndecliner.decline(1); // \"рубль\"\ndecliner.decline(2); // \"рубля\"\ndecliner.decline(5); // \"рублей\"\n```\n```javascript\nconst decliner = new Decliner(['рубль', 'рубля', 'рублей'], {format: '{{num}} {{value}}'});\n\ndecliner.decline(1); // \"1 рубль\"\ndecliner.decline(2); // \"2 рубля\"\ndecliner.decline(5); // \"5 рублей\"\n```\n\n\n## Настройки:\n### `format`\nСтрока, форматирующая возвращаемый методом `decline` результат, подстроки `{{num}}` и `{{value}}` заменяются на число и значение соответственно\n```javascript\nformat: '{{num}} {{value}}'\n```\n\n## Методы\n### `setOptions`\nПринимает объект, изменяющий настройки и возвращает текущий экземпляр класса.\n```javascript\nconst decliner = new Decliner(array, {format: '{{num}} {{value}}'});\n\ndecliner.setOptions({format: '{{value}} {{num}}'});\n```\n\n### `decline`\nПринимает число, по которому необходимо склонить слово из массива. Если форматирование не задано, то возвращает только слово из массива.\n```javascript\nconst decliner = new Decliner(['рубль', 'рубля', 'рублей']);\n\ndecliner.decline(50); // \"рублей\"\n```\n\n## Дополнительно\n**decliner.js** умеет работать и с отрицательными значениями:\n```javascript\ndecliner.decline(-50); // \"-50 рублей\"\n```\n\nИ с вещественными числами:\n```javascript\ndecliner.decline(125.4); // \"125.4 рубля\"\n```\n\nБлагодарность можно выразить поставив этому репозиторию звезду, а также зайдя в другие репозитории моего аккаунта\n\n## Обратная связь\nПочта: [nikita.mihalyov@gmail.com](mailto:nikita.mihalyov@gmail.com)\n\nTelegram: [@nmihalyov](http://t.me/nmihalyov)\n\nВКонтакте: [vk.com](https://vk.com/nmihalyov)\n\nМой сайт: [nmihalyov.tk](https://nmihalyov.tk)\n\n[Написать issue](https://github.com/nmihalyov/decliner/issues/new)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmihalyov%2Fdecliner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmihalyov%2Fdecliner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmihalyov%2Fdecliner/lists"}