valueOfKey method

dynamic valueOfKey(
  1. dynamic aKey
)

Implementation

dynamic valueOfKey(dynamic aKey) {
  if (aKey == null) return null;

  bool varArraySameValues(List a1, List a2) {
    // This only works for one-dimensional vararrays with a lower bound
    // of 0 ... (original comment, semantics kept as-is)
    if (a1.length != a2.length) return false;
    for (var i = 0; i < a1.length; i++) {
      if (a1[i] != a2[i]) return false;
    }
    return true;
  }

  var i = _list.length - 1;
  if (aKey is List) {
    while (i >= 0 &&
        !(_list[i].key is List &&
            varArraySameValues(_list[i].key as List, aKey))) {
      i--;
    }
  } else {
    while (i >= 0 && _list[i].key != aKey) {
      i--;
    }
  }
  return i >= 0 ? _list[i].value : null;
}