Participants.fromJson constructor
Participants.fromJson( - Map<String, dynamic> json
)
Implementation
factory Participants.fromJson(Map<String, dynamic> json) {
final remoteParticipants = Map.fromEntries(
json.entries.expand<MapEntry<ParticipantId, Participant>>((entry) sync* {
if (entry.key != 'local') {
final participant = Participant.fromJson(entry.value);
if (!participant.info.isLocal) {
yield MapEntry(participant.id, participant);
}
}
}),
);
// ignore: avoid_as
final localParticipant = (json['local'] as Map<String, dynamic>?)?.let(Participant.fromJson);
if (localParticipant == null) throw ArgumentError('Could not find local participant');
return Participants(
local: localParticipant,
remote: Map.unmodifiable(remoteParticipants),
all: Map.unmodifiable({localParticipant.id: localParticipant, ...remoteParticipants}),
);
}