Код Middle Навигация обновлено
Разбор диплинка в маршрут
Условие
Напишите parseLink(url), которая превращает ссылку в описание экрана. Поддерживаемые адреса (схема myapp:// или домен https://shop.example):
/или пусто:{ "screen": "Home", "params": {} };/item/<id>:{ "screen": "Item", "params": { "id": "<id>" } };/ordersи/orders/<id>:{ "screen": "Orders", "params": {} }или{ "screen": "Order", "params": { "id": "<id>" } }.
Параметры запроса (?ref=push) добавляются в params как строки. Хвостовой / не важен. Чужой домен, другая схема или неизвестный путь: { "screen": "NotFound", "params": {} }.
Примеры
parseLink("myapp://item/42") // {"screen":"Item","params":{"id":"42"}}
parseLink("https://shop.example/item/42") // {"screen":"Item","params":{"id":"42"}}
parseLink("https://shop.example/") // {"screen":"Home","params":{}}
Как подойти
Подсказки: 2
- Сначала отрежьте известный префикс; проверка
startsWith('https://shop.example')без слеша пропустит поддельный домен. - Путь разбейте по
/и выбросьте пустые сегменты.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.