get static method
Returns the value at key in map using dot notation, or defaultValue
when the path is missing.
Top-level keys containing literal dots take precedence over traversal.
List elements can be addressed by integer index, e.g. 'users.0.name'.
Implementation
static dynamic get(Map map, String key, [dynamic defaultValue]) {
if (key.isEmpty) return defaultValue;
if (map.containsKey(key)) return map[key];
dynamic current = map;
for (final segment in key.split('.')) {
if (current is Map) {
if (!current.containsKey(segment)) return defaultValue;
current = current[segment];
} else if (current is List) {
final idx = int.tryParse(segment);
if (idx == null || idx < 0 || idx >= current.length) {
return defaultValue;
}
current = current[idx];
} else {
return defaultValue;
}
}
return current;
}