getNested static method
dynamic
getNested(
- dynamic input,
- String path
)
Implementation
static dynamic getNested(dynamic input, String path) {
if (path.isEmpty) return input;
final parts = path.split('.');
if (parts.isEmpty) return input;
final key = parts.first;
final restPath = parts.sublist(1).join('.');
// Try to parse key as int for List index access
final index = int.tryParse(key);
if (input == null) return null;
// Handle Map case
if (input is Map<String, dynamic> && index == null) {
if (!input.containsKey(key)) return null;
if (restPath.isEmpty) return input[key];
return getNested(input[key], restPath);
}
// Handle List case
else if (input is List && index != null && index >= 0 && index < input.length) {
if (restPath.isEmpty) return input[index];
return getNested(input[index], restPath);
}
// Leaf or invalid access
return null;
}