set method Null safety

void set(
  1. String name,
  2. Object value
)

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;
}