Comments (11)
Ещё Куала-Лумпур
А разве есть вообще города, которые до дефиса в названии склоняются?
from lvovich.
Айя-Напа
Айия-Напа
from lvovich.
Давер-Чесволд
from lvovich.
Делта-Джанкшен
from lvovich.
Каунсил-Блафс
from lvovich.
А сити, кажется и вовсе не склоняются.
прим. Кресента-Сити
from lvovich.
К сожалению есть города, которые склоняются до дефиса
https://github.com/nodkz/lvovich/blob/master/src/__tests__/city-test.js#L308-L309
Ростов-на-Дону, Ростове-на-Дону, Ростова-на-Дону, Ростов-на-Дону
Комсомольск-на-Амуре, Комсомольске-на-Амуре, Комсомольска-на-Амуре, Комсомольск-на-Амуре
Каменск-Уральский, Каменске-Уральском, Каменска-Уральского, Каменск-Уральский
Петропавловск-Камчатский, Петропавловске-Камчатском, Петропавловска-Камчатского, Петропавловск-Камчатский
и это только те которые есть в тесте, возможно их гораздо больше.
Я сам не смогу заняться внесением правок. Но вы самостоятельно довольно просто можете это сделать (т.к. код достаточно хорошо покрыт тестами, и отстрелить кому-то ногу, сломав код, будет достаточно сложно):
- Склонировать репку
git clone https://github.com/nodkz/lvovich.git
- Запустить установку пакетов
yarn install
- Запустить тесты в watch режиме
yarn watch
- Перед коммитом прогнать все тесты
yarn test
Сама логика разбивки слов храниться тут https://github.com/nodkz/lvovich/blob/master/src/city.js#L21-L36
А дополнительные правила, по тем частям которые не склоняются находятся здесь https://github.com/nodkz/lvovich/blob/master/src/rules/cityRules.js#L17-L51
Буду очень рад, если у вас получиться внести в код правки, расширить тесты вашими кейсами и открыть Пулл Реквесты.
Пулл реквесты я достаточно быстро принимаю и опубликовать пакет я могу даже с телефона.
from lvovich.
Не сильно разобрался, но как запретить любые склонения если присутствует какая-то часть? Например -сити
from lvovich.
Добавить 'сити' в frozenParts
https://github.com/nodkz/lvovich/blob/master/src/rules/cityRules.js#L17-L51
И добавить строку для теста свой города
https://github.com/nodkz/lvovich/blob/master/src/__tests__/city-test.js#L338
from lvovich.
Я так понимаю, тогда он начнет склонять Москвы-сити, а это не верно.
from lvovich.
Согласен, тогда необходимо допилить метод isFrozen
:
https://github.com/nodkz/lvovich/blob/master/src/city.js#L22
Внутри него делать разбивку по дефису и искать слово сити в конце. Пока можно захардкодить прям в коде, пока новые исключения не появится.
from lvovich.
Related Issues (19)
- Module not found HOT 2
- SyntaxError HOT 8
- A tuple type element list cannot be empty. HOT 1
- Московская область HOT 1
- Санёк HOT 2
- Гузерипль HOT 1
- Анадырь
- Не склоняет имя Любовь, по крайней мере в дательный падеж HOT 1
- Не знает имя Алла
- Отсутствуют некоторые падежи для склонения городов HOT 1
- Use DB to update rules HOT 1
- Крым
- в качестве базы список слов в дательном падеже HOT 2
- Хельсинки HOT 1
- The automated release is failing 🚨
- Камень-на оби HOT 1
- Шушары HOT 1
- Список городов за 3 октября из демки HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lvovich.