fromJsonExpr method
Right-hand side that reads this field out of a JSON map.
Implementation
String fromJsonExpr() {
final key = "json['$name']";
if (_isList) {
if (isModel) {
final mapEl = '(e) => $listElement.fromJson(e as Map<String, dynamic>)';
return nullable
? "($key as List<dynamic>?)?.map($mapEl).toList()"
: "($key as List<dynamic>).map($mapEl).toList()";
}
return nullable
? "($key as List<dynamic>?)?.cast<$listElement>()"
: "($key as List<dynamic>).cast<$listElement>()";
}
if (isModel) {
final parse = '$type.fromJson($key as Map<String, dynamic>)';
return nullable ? '$key == null ? null : $parse' : parse;
}
if (_isDateTime) {
return nullable
? "$key == null ? null : DateTime.parse($key as String)"
: "DateTime.parse($key as String)";
}
return '$key as $fullType';
}