getPath method

dynamic getPath(
  1. List<String> keys, [
  2. dynamic def
])

Implementation

dynamic getPath(List<String> keys, [dynamic def]) {
  if (keys.isEmpty) return def;

  if (keys.length == 1) return get(keys[0]);

  var val = getAsMap(keys[0]);
  if (val == null) return def;

  for (var i = 1; i < keys.length; i++) {
    var k = keys[i];
    var v = val?[k] as Map?;
    if (v == null) return def;
    val = v;
  }

  return val;
}