getValue<T> method
dynamic
getValue<
T>( - dynamic reflectee,
- Symbol key,
- dynamic value
)
Implementation
getValue<T>(dynamic reflectee, Symbol key, dynamic value) {
final r = reflect(reflectee);
var valueType = value.runtimeType;
if (RAW_TYPES.contains(valueType)) {
return value;
}
var def = r.type.declarations[key];
if (def == null || def is! VariableMirror) {
return null;
}
var rType = def.type;
if (rType is! ClassMirror) {
return null;
}
final objectType = MirrorSystem.getName(rType.simpleName).toString();
switch (objectType.toLowerCase()) {
case 'map' || 'set' || 'list':
break;
default:
return rType.newInstance(Symbol('fromEntries'), [value]).reflectee;
}
}