getParseStr function
String
getParseStr(
- Property property, {
- String propertyName = "",
})
Implementation
String getParseStr(Property property, {String propertyName = ""}) {
if (property.name.isEmpty) {
return "${TypeUtils.getPropertyNameStr(property)}.fromJson(json['${property.name}'])";
}
String shouldAddNullCover = "";
if (property.canBeNull) {
shouldAddNullCover = "!";
}
if (TypeUtils.isListType(property)) {
return """if (json['${property.name}'] != null) {
${property.name} =[];
json['${property.name}'].forEach((v) {
${property.name}$shouldAddNullCover.add(${FlutterFileUtils.createParseCode(property.subType[0], paramsName: "v")});
});
}""";
} else if (TypeUtils.isMapType(property)) {
// i2!.update(k as String?, (value) =>(v as int),ifAbsent: ()=> (v as int));
return """if (json['${property.name}'] != null) {
${property.name} ={};
json['${property.name}'].forEach((k, v) {
${property.name}$shouldAddNullCover.update(${FlutterFileUtils.createParseCode(property.subType[0], paramsName: "k")}
, (value) => ${FlutterFileUtils.createParseCode(property.subType[1], paramsName: "v")}
, ifAbsent: ()=> ${FlutterFileUtils.createParseCode(property.subType[1], paramsName: "v")});
});
}""";
} else if (TypeUtils.isBaseType(property) || isObject(property)) {
return "${property.name} = json['${property.name}']";
} else {
return "if (json['${property.name}'] != null) {"
"${property.name} = ${TypeUtils.getPropertyNameStr(property)}.fromJson(json['${property.name}']);"
"}";
}
}