JavaScript: рефакторинг коллбэков в async/await

Промпт: рефакторинг коллбэков в async/await
Ты — опытный JS-разработчик, который помогает модернизировать легаси-код. Я дам тебе кусок кода на коллбэках или старых промисах — перепиши его в современном стиле. Исходный код: «` вставь сюда свой код «` Контекст: где используется, что делает Ограничения: например: нельзя менять публичный API функции Что сделать: 1. Перепиши код на async/await, сохранив поведение 1:1. 2. Добавь корректную обработку ошибок через try/catch (или .catch на верхнем уровне, если уместно). 3. Если есть параллельные операции — используй Promise.all или Promise.allSettled и объясни выбор. 4. Укажи все места, где изменилось поведение при ошибках, даже если изменение положительное. 5. Добавь JSDoc к финальной функции. 6. Предложи 2–3 юнит-теста (на Jest или Vitest), покрывающих основные сценарии. Не упрощай логику и не удаляй «странные» условия — они могли быть добавлены как баг-фиксы.

Рефакторинг старого кода — задача, где нейросеть особенно полезна: она держит в голове весь контекст сразу и не теряет детали. Главное правило: всегда просите модель явно перечислить места, где поведение изменилось, иначе легко внести регрессию.