in tpgtools/property.go [376:414]
func (p Property) flattenGetterWithParent(parent string) string {
switch p.Type.String() {
case SchemaTypeBool:
fallthrough
case SchemaTypeString:
fallthrough
case SchemaTypeInt:
fallthrough
case SchemaTypeFloat:
fallthrough
case SchemaTypeMap:
if p.EnumBool {
return fmt.Sprintf("tpgdclresource.FlattenEnumBool(%s.%s)", parent, p.PackageName)
}
return fmt.Sprintf("%s.%s", parent, p.PackageName)
case SchemaTypeList, SchemaTypeSet:
if p.Type.IsEnumArray() {
return fmt.Sprintf("flatten%s%sArray(obj.%s)", p.resource.PathType(), p.PackagePath(), p.PackageName)
}
if p.Type.IsComplexMap() {
return fmt.Sprintf("flatten%s%sMap(%s.%s)", p.resource.PathType(), p.PackagePath(), parent, p.PackageName)
}
if p.Type.typ.Items != nil && p.Type.typ.Items.Type == "integer" {
return fmt.Sprintf("%s.%s", parent, p.PackageName)
}
if p.Type.typ.Items != nil && p.Type.typ.Items.Type == "string" {
return fmt.Sprintf("%s.%s", parent, p.PackageName)
}
if p.Type.typ.Items != nil && len(p.Properties) > 0 {
return fmt.Sprintf("flatten%s%sArray(%s.%s)", p.resource.PathType(), p.PackagePath(), parent, p.PackageName)
}
}
if p.typ.Type == "object" {
return fmt.Sprintf("flatten%s%s(%s.%s)", p.resource.PathType(), p.PackagePath(), parent, p.PackageName)
}
return "<unknown>"
}