import 'dart:collection'; import 'package:comunic/models/user.dart'; /// Users list /// /// @author Pierre HUBERT class UsersList extends ListBase { List _list = List(); int get length => _list.length; set length(l) => _list.length = l; @override User operator [](int index) { return _list[index]; } @override void operator []=(int index, User value) { _list[index] = value; } /// Find a user with a specific ID User getUser(int userID) { for (int i = 0; i < this.length; i++) if (this[i].id == userID) return this[i]; throw "User not found in the list!"; } /// Check if the user is included in this list or not bool hasUser(int userID) => any((f) => f.id == userID); /// Get the list of users ID present in this list List get usersID => List.generate(length, (i) => this[i].id); }