getKeyFromValue method

K? getKeyFromValue(
  1. Object? value
)

Returns the key associated with a given value, if still alive.

Implementation

K? getKeyFromValue(Object? value) {
  if (value == null || value is! V) return null;

  var v = _EntryKey<V, K>(value);
  // ignore: collection_methods_unrelated_type
  var valueEntry = _mapValues[v];
  if (valueEntry == null) return null;

  var eKey = valueEntry.payload;
  var eValue = valueEntry.target;

  if (eKey == null || eValue == null) {
    _map.remove(valueEntry.keyEntry);
    _mapValues.remove(valueEntry);
    ++_unpurgedCount;
    return null;
  }

  return eKey;
}