Код Middle Модули и npm обновлено
semver: проверка ^ и ~ диапазонов
Условие
Напиши satisfies(version, range) для версий MAJOR.MINOR.PATCH (без пре-релизов). Диапазон один из:
- точная версия
1.2.3; ^1.2.3: совместимые изменения. Разрешены версии>= 1.2.3и< 2.0.0. Для нулевой мажорной правило строже:^0.2.3значит>= 0.2.3 < 0.3.0, а^0.0.3значит только0.0.3;~1.2.3: только патчи,>= 1.2.3 < 1.3.0;>=1.2.3.
Примеры
satisfies("1.4.0", "^1.2.3") // true
satisfies("2.0.0", "^1.2.3") // false
satisfies("1.2.2", "^1.2.3") // false
Как подойти
Подсказки: 2
- Сравнивай версии покомпонентно как числа.
- Для
^верхняя граница: увеличить первый ненулевой компонент.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.