removeWhere method

List<T> removeWhere(
  1. bool test(
    1. T data
    )
)

Implementation

List<T> removeWhere(bool Function(T data) test) {
  final _dataList = _dataSubject.value;
  final _data = _dataList.list;
  final count = _dataList.count;

  List<T> result = [];

  _data.removeWhere((element) {
    var _remove = test(element);
    if (_remove) {
      result.add(element);
    }
    return _remove;
  });
  if (result.isNotEmpty) {
    _removeFromSelection(result);
    _setData(_data, count - result.length);
  }
  return result;
}