[dart-gen] Fix nullable list item issue (#3192)

This commit is contained in:
fondoger 2023-05-01 15:01:28 +08:00 committed by GitHub
parent b028ed058d
commit 3a66fc038f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 1 deletions

View File

@ -60,7 +60,7 @@ class {{.Name}} {
{{if isDirectType .Type.Name}}
{{lowCamelCase .Name}}
{{else if isClassListType .Type.Name}}
{{lowCamelCase .Name}}{{if isNullableType .Type.Name}}?{{end}}.map((i) => i.toJson())
{{lowCamelCase .Name}}{{if isNullableType .Type.Name}}?{{end}}.map((i) => i{{if isListItemsNullable .Type.Name}}?{{end}}.toJson())
{{else}}
{{lowCamelCase .Name}}{{if isNullableType .Type.Name}}?{{end}}.toJson()
{{end}}

View File

@ -74,6 +74,10 @@ func isClassListType(s string) bool {
return strings.HasPrefix(s, "List<") && !isAtomicType(getCoreType(s))
}
func isListItemsNullable(s string) bool {
return isListType(s) && isNullableType(getCoreType(s))
}
func isMapType(s string) bool {
return strings.HasPrefix(s, "Map<")
}

View File

@ -8,6 +8,7 @@ var funcMap = template.FuncMap{
"isDirectType": isDirectType,
"isNumberType": isNumberType,
"isClassListType": isClassListType,
"isListItemsNullable": isListItemsNullable,
"isNullableType": isNullableType,
"appendNullCoalescing": appendNullCoalescing,
"appendDefaultEmptyValue": appendDefaultEmptyValue,