Как реализовать обработку side эффектов в чистом MVI?
Попал на проект с использованием MVI Orbit. Привык, полюбил. До этого никогда не использовал MVI.
Хочу сделать pet project реализации чистого MVI с использованием ViewModel и Kotlin Flow.
Нигде не могу найти пример как обработать side эффекты. Например нажатие на кнопку приводит к отправке запроса на бэк. Если он вернул 200 -> навигация на след экран. Как это реализовать или подскажите где посмотреть?
Нужно создать отдельную сущность, которая будет обрабатывать сайдэффекты, обычно она называется middleware.
Например есть middleware для запроса в сеть, он бросает стейт progress перед запросом и стейт error/result после выполнения запроса.