Вопрос - что гуглить, что бы "слушать" 2+ стрима в одном, испрользуя dart:async?
Суть: есть conversation, у которого есть lastMessage. Это 2 разные сущности. conversation живет в одной таблице, его lastMessage живет в другой (messages).
Драйвер БД отдает поток со списком разговоров - Stream<List<Conversation>>. К нему можно применить .map/.transform, что бы для каждого Conversation найти LastMessage, используя Stream<Message> findByConversationId(String cId).
Но мне надо сделать так, что бы при изменении хотя бы одного LastMessage (второй поток в цепи), финальный поток оповещал всех обзерверов об измененях.
в котлине это с flow решается на раз-два с flatMapMerge, но мне теперь надо такое же найти для dart'a, но я без понятия что искать вообще. asyncMap, addStream, StreamZip с виду не подходят