removeWhere method

void removeWhere(
  1. TestPredicate<CalendarEventData<T>> test
)

Implementation

void removeWhere(TestPredicate<CalendarEventData<T>> test) {
  final _predicates = <CalendarEventData<T>, bool>{};

  bool wrappedPredicate(CalendarEventData<T> event) {
    return _predicates[event] = test(event);
  }

  for (final e in _singleDayEvents.values) {
    e.removeWhere(wrappedPredicate);
  }

  _rangingEventList.removeWhere(wrappedPredicate);
  _fullDayEventList.removeWhere(wrappedPredicate);

  _eventList.removeWhere((event) => _predicates[event] ?? false);
}