add support for scalar types in rpc methods

This commit is contained in:
Predrag Cicic 2018-11-20 16:13:53 +01:00
parent cfd1d92efd
commit 04596aa359

18
go.go
View File

@ -140,13 +140,13 @@ func extractImports(fields []*Field, fullPackageName string, aliases map[string]
r := strings.NewReplacer(".", "_", "/", "_", "-", "_")
extractImport := func(st *StructType) {
if st.Package != fullPackageName {
alias, ok := aliases[st.Package]
extractImport := func(packageName string) {
if packageName!= fullPackageName {
alias, ok := aliases[packageName]
if !ok {
packageParts := strings.Split(st.Package, "/")
packageParts := strings.Split(packageName, "/")
beautifulAlias := packageParts[len(packageParts)-1]
uglyAlias := r.Replace(st.Package)
uglyAlias := r.Replace(packageName)
alias = uglyAlias //beautifulAlias
for _, otherAlias := range aliases {
if otherAlias == beautifulAlias {
@ -154,16 +154,18 @@ func extractImports(fields []*Field, fullPackageName string, aliases map[string]
break
}
}
aliases[st.Package] = alias
aliases[packageName] = alias
}
}
}
for _, f := range fields {
if f.Value.StructType != nil {
extractImport(f.Value.StructType)
extractImport(f.Value.StructType.Package)
} else if f.Value.Array != nil && f.Value.Array.Value.StructType != nil {
extractImport(f.Value.Array.Value.StructType)
extractImport(f.Value.Array.Value.StructType.Package)
} else if f.Value.Scalar != nil {
extractImport(f.Value.Scalar.Package)
}
}
}