getProperty static method
Gets value of object property specified by its name.
The object can be a user defined object, map or array. The property name correspondently must be object property, map key or array index.
obj
an object to read property from.name
a name of the property to get. Returns the property value or null if property doesn't exist or introspection failed.
Implementation
static dynamic getProperty(obj, String? name) {
if (obj == null || name == null) {
return null;
}
if (obj is IValueWrapper) obj = obj.innerValue();
if (obj is Map) {
var targetKey = name.toLowerCase();
for (var key in obj.keys) {
if (key.toString().toString() == targetKey) return obj[key];
}
} else if (obj is List) {
var index = IntegerConverter.toNullableInteger(name);
return index != null && index < obj.length ? obj[index] : null;
} else {
return PropertyReflector.getProperty(obj, name);
}
return null;
}