[dart-gen] Fix lists containing atomic types (#3210)
This commit is contained in:
@@ -45,8 +45,10 @@ class {{.Name}} {
|
|||||||
return {{.Name}}(
|
return {{.Name}}(
|
||||||
{{range .Members}}
|
{{range .Members}}
|
||||||
{{lowCamelCase .Name}}: {{appendNullCoalescing .}}
|
{{lowCamelCase .Name}}: {{appendNullCoalescing .}}
|
||||||
{{if isDirectType .Type.Name}}
|
{{if isAtomicType .Type.Name}}
|
||||||
m['{{getPropertyFromMember .}}'] {{appendDefaultEmptyValue .Type.Name}}
|
m['{{getPropertyFromMember .}}'] {{appendDefaultEmptyValue .Type.Name}}
|
||||||
|
{{else if isAtomicListType .Type.Name}}
|
||||||
|
m['{{getPropertyFromMember .}}']?.cast<{{getCoreType .Type.Name}}>() {{appendDefaultEmptyValue .Type.Name}}
|
||||||
{{else if isClassListType .Type.Name}}
|
{{else if isClassListType .Type.Name}}
|
||||||
((m['{{getPropertyFromMember .}}'] {{appendDefaultEmptyValue .Type.Name}}) as List<dynamic>).map((i) => {{getCoreType .Type.Name}}.fromJson(i)).toList()
|
((m['{{getPropertyFromMember .}}'] {{appendDefaultEmptyValue .Type.Name}}) as List<dynamic>).map((i) => {{getCoreType .Type.Name}}.fromJson(i)).toList()
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|||||||
@@ -71,7 +71,11 @@ func isListType(s string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func isClassListType(s string) bool {
|
func isClassListType(s string) bool {
|
||||||
return strings.HasPrefix(s, "List<") && !isAtomicType(getCoreType(s))
|
return isListType(s) && !isAtomicType(getCoreType(s))
|
||||||
|
}
|
||||||
|
|
||||||
|
func isAtomicListType(s string) bool {
|
||||||
|
return isListType(s) && isAtomicType(getCoreType(s))
|
||||||
}
|
}
|
||||||
|
|
||||||
func isListItemsNullable(s string) bool {
|
func isListItemsNullable(s string) bool {
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ var funcMap = template.FuncMap{
|
|||||||
"getBaseName": getBaseName,
|
"getBaseName": getBaseName,
|
||||||
"getPropertyFromMember": getPropertyFromMember,
|
"getPropertyFromMember": getPropertyFromMember,
|
||||||
"isDirectType": isDirectType,
|
"isDirectType": isDirectType,
|
||||||
|
"isAtomicType": isAtomicType,
|
||||||
"isNumberType": isNumberType,
|
"isNumberType": isNumberType,
|
||||||
"isClassListType": isClassListType,
|
"isClassListType": isClassListType,
|
||||||
|
"isAtomicListType": isAtomicListType,
|
||||||
"isListItemsNullable": isListItemsNullable,
|
"isListItemsNullable": isListItemsNullable,
|
||||||
"isNullableType": isNullableType,
|
"isNullableType": isNullableType,
|
||||||
"appendNullCoalescing": appendNullCoalescing,
|
"appendNullCoalescing": appendNullCoalescing,
|
||||||
|
|||||||
Reference in New Issue
Block a user