toCode method
Implementation
@override
List<String> toCode() {
var _lines = super.toCode();
var _jsonSerializable = jsonSerializable ?? false;
if (name == null) return _lines;
var baseLine = '';
if ((isExtends ?? false) && (baseName ?? '').isNotEmpty) {
baseLine = 'extends $baseName';
}
var classStartLine = [
if (_jsonSerializable) '@JsonSerializable()',
'class $name $baseLine {'
];
_lines += classStartLine;
fields
?.where((field) => (!(field.superOnly ?? false) && !field.isPrivate))
.forEach((field) {
if (_jsonSerializable) {
_lines.add("@JsonKey(name: '${field.name}')");
}
_lines += field.toCode();
_lines.add('');
});
_lines = _lines + _constructorCode();
if (jsonSerializable ?? false) {
_lines.add('');
var jsFromLine1 = '$name.fromJson(Map<String, dynamic> json)';
var jsFromLine2 = '_\$${name}FromJson(json);';
var jsFromLine = 'factory $jsFromLine1 => $jsFromLine2';
_lines.add(jsFromLine);
}
if (jsonSerializable ?? false) {
_lines.add('');
_lines.add('@override');
_lines.add('Map<String, dynamic> toJson() => _\$${name}ToJson(this);');
}
// class end line
_lines.add('}');
return _lines;
}