getActiveTranslationConsumers function
Get all active translation consumers from the map.
Implementation
List<ActiveTranslationConsumer> getActiveTranslationConsumers(
Map<String, dynamic> translationProducerMap,
List<TransportType> consumerTransports,
Map<String, String> speakerIdByProducerId,
) {
final results = <ActiveTranslationConsumer>[];
for (final entry in translationProducerMap.entries) {
final producerId = entry.key;
final meta = entry.value;
if (meta is TranslationMeta) {
// Verify we have an active consumer
final hasConsumer = consumerTransports.any(
(t) => t.producerId == producerId,
);
if (hasConsumer) {
results.add(ActiveTranslationConsumer(
speakerId: meta.speakerId,
translationProducerId: producerId,
originalProducerId: meta.originalProducerId,
language: meta.language,
));
}
}
}
return results;
}