mapToggleValue<K, V> static method

void mapToggleValue<K, V>(
  1. Map<K, List<V>> map,
  2. K key,
  3. V value, {
  4. bool? add,
})

Toggles a value in a map of lists.

If add is null, toggles based on current presence. If add is true, adds the value. If false, removes it.

Implementation

static void mapToggleValue<K, V>(Map<K, List<V>> map, K key, V value, {bool? add}) {
  if (value == null) return;
  add ??= !mapContainsValue(map, key, value);
  if (add) {
    mapAddValue(map, key, value);
  } else {
    mapRemoveValue(map, key, value);
  }
}