clear method

  1. @override
void clear({
  1. bool notifyListeners = true,
})
override

Removes all entries from the map.

After this, the map is empty.

final planets = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Earth'};
planets.clear(); // {}

Implementation

@override
void clear({bool notifyListeners = true}) {
  final map = notifyListeners ? _toMap() : null;
  value.clear();
  if (notifyListeners) {
    if (hasEvent || hasChangeEvent) {
      final events = <K, V>{};
      map!.forEach((key, value) {
        events.addAll(<K, V>{key: value});
        notifyChangeListeners(
            CollectionChangeEvent(CollectionEventType.removal, key, value));
      });

      if (events.isNotEmpty) {
        notifyEventListeners(
            CollectionEvent<K, V>(CollectionEventType.removal, events));
      }
    }

    if (value.length != map!.length) {
      this.notifyListeners(value);
    }
  }
}