import 'package:comunic/lists/abstract_list.dart'; import 'package:comunic/models/call_member.dart'; /// Call members list /// /// @author Pierre Hubert class CallMembersList extends AbstractList { /// Get the IDs of the users in this list Set get usersID => this.map((f) => f.userID).toSet(); /// Remove a specific member from this list void removeUser(int? userID) => this.removeWhere((f) => f.userID == userID); /// Get the connection of a specific user CallMember getUser(int? userID) => this.firstWhere((f) => f.userID == userID); /// Extract ready peers from this list CallMembersList get readyPeers => CallMembersList()..addAll(where((f) => f.status == MemberStatus.READY)); }