set method Null safety
Set name
and value
to fields.
Implementation
void set(String name, Object value) {
if (name == 'createDate' || name == 'updateDate') {
value = DateTime.parse(value as String);
}
if (name == 'acl') {
if (!(value is NCMBAcl)) {
var acl = new NCMBAcl();
acl.sets(value as Map);
value = acl;
}
}
if (value.runtimeType.toString() == '_JsonMap' ||
value.runtimeType.toString() ==
'_InternalLinkedHashMap<String, dynamic>') {
var map = value as Map;
if (map['className'] != null) {
NCMBObject obj = NCMBObject(map['className']);
map.remove('className');
map.remove('__type');
obj.sets(map);
value = obj;
}
if (map.containsKey('__type') && map['__type'] == 'GeoPoint') {
var geo = NCMBGeoPoint(
map['latitude'].toDouble(), map['longitude'].toDouble());
value = geo;
}
if (map.containsKey('__type') && map['__type'] == 'Date') {
var format = new DateFormat("yyyy-MM-ddTHH:mm:ss.S'Z'");
value = format.parseStrict(map['iso']);
}
}
_fields[name] = value;
}