newInstance method
dynamic
newInstance(
)
override
Implementation
@override
dynamic newInstance() {
Map<Symbol, dynamic> args = {};
// fetch all required values
var typeDescriptor = mapper.type;
for (var constructorParameter in typeDescriptor.constructorParameters) {
var name = constructorParameter.name;
var child = findChild(name);
if ( child != null) {
// take the value from the mapped child widget
args[Symbol(name)] = child.value;
}
else {
// take it from the original - not mapped - object property
args[Symbol(name)] = typeDescriptor.get(mapper.instance, name);
}
}
return Function.apply(typeDescriptor.constructor!, [], args);
}