Программист Алексей отрефакторил REST API сервис, нанеся проекту огромную пользу. К сожалению, в ходе рефакторинга была нарушена обратная совместимость. Приложение перестало работать (404 на любой запрос). Алексей ушёл в отпуск, и теперь вам нужно срочно перевести фронтенд на новые пути. Для каждой сущности изменилась структура:
/{projectName}-{subproject}/{entityId}_{entityName}?a=1&b=2
стало:
/{projectName}/{subproject}/{entityName}/{entityId}?a=1&b=2
Нужно написать модуль, который для любых projectName, subproject, entityId и entityName поменяет пути.
То есть из:
/sails-111/333_ball?a=1&b=2
Сделает:
/sails/111/ball/333?a=1&b=2
Важно: путь entityId не обязателен. Ссылка может иметь вид:
/{projectName}-{subproject}/{entityName}?a=1&b=2
Тогда результирующая:
/projectName/subproject/entityName?a=1&b=2
Решение должно быть оформлено в виде commonJS-модуля:
module.exports = function(input) {
}