diff --git a/packages/pluralize/README.md b/packages/pluralize/README.md new file mode 100644 index 0000000..44710be --- /dev/null +++ b/packages/pluralize/README.md @@ -0,0 +1,11 @@ +# is + +Склонение существительных в зависимости от чила + +## Использование + +```js +import { pluralize } from '@advdominion/pluralize'; + +console.log(pluralize(1, ['яблоко', 'яблока', 'яблок'])); +``` diff --git a/packages/pluralize/index.js b/packages/pluralize/index.js new file mode 100644 index 0000000..72f762d --- /dev/null +++ b/packages/pluralize/index.js @@ -0,0 +1,14 @@ +export const pluralize = (count, words) => { + count = Math.abs(count) % 100; + const count10 = count % 10; + if (count > 10 && count < 20) { + return words[2]; + } + if (count10 > 1 && count10 < 5) { + return words[1]; + } + if (count10 === 1) { + return words[0]; + } + return words[2]; +}; diff --git a/packages/pluralize/package.json b/packages/pluralize/package.json new file mode 100644 index 0000000..647839b --- /dev/null +++ b/packages/pluralize/package.json @@ -0,0 +1,14 @@ +{ + "name": "@advdominion/pluralize", + "version": "1.0.0", + "type": "module", + "main": "index.js", + "repository": { + "type": "git", + "url": "https://gitea.optiweb.ru/public/helpers.git" + }, + "license": "MIT", + "publishConfig": { + "access": "public" + } +}