dynamic resolve(Map<String, dynamic> map) { var path = name.split('.'); dynamic result = map; for (var part in path) { result = result[part]; } return result; }