fromMap method
Copies the value of the specified Map to this record.
Implementation
Record fromMap(Map<String,Object?>? map){
if(map == null || _schema == null){
return this;
}
if(_schema!.length <= map.length){
for(String name in _schema!.fieldMap.keys){
if(map.containsKey(name)){
Object? value = map[name];
FieldSchema field = _schema!.fieldMap[name]!;
if(!field.isView){
if(field.isRecord){
if(value is Map && _dataSet != null && field.schema != null){
setByName(name, _dataSet!.createNestedRecord(field.schema!).fromMap(value as Map<String,Object?>?));
}
}else if(field.isRecordList){
if(_dataSet != null && field.schema != null){
if(value is List){
setByName(name, _dataSet!.createNestedRecordList(field.schema!).fromMap(value));
}else if(value is Map){
setByName(name, _dataSet!.createNestedRecordList(field.schema!).fromMapByMap(value));
}
}
}else{
setByName(name, value);
}
}
}
}
}else{
map.forEach(
(name, value){
if(containsName(name)){
FieldSchema field = _schema!.fieldMap[name]!;
if(!field.isView){
if(field.isRecord){
if(value is Map && _dataSet != null && field.schema != null){
setByName(name, _dataSet!.createNestedRecord(field.schema!).fromMap(value as Map<String, Object?>?));
}
}else if(field.isRecordList){
if(_dataSet != null && field.schema != null){
if(value is List){
setByName(name, _dataSet!.createNestedRecordList(field.schema!).fromMap(value));
}else if(value is Map){
setByName(name, _dataSet!.createNestedRecordList(field.schema!).fromMapByMap(value));
}
}
}else{
setByName(name, value);
}
}
}
}
);
}
return this;
}