getParseStr function

String getParseStr(
  1. Property property, {
  2. 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}']);"
        "}";
  }
}