feat: load arguments only if arguments are present

This commit is contained in:
Stefan Martinov 2020-03-29 20:34:11 +02:00
parent 1cc04aea5e
commit 2f24c705fb

27
go.go
View File

@ -290,20 +290,21 @@ func renderTSRPCServiceProxies(services ServiceList, fullPackageName string, pac
callArgs = append(callArgs, argName)
skipArgI++
}
g.l("var (")
for _, argDecl := range argsDecls {
g.l(argDecl)
if len(args) > 0 {
g.l("var (")
for _, argDecl := range argsDecls {
g.l(argDecl)
}
g.l(")")
g.l("args = []interface{}{" + strings.Join(args, ", ") + "}")
g.l("err := gotsrpc.LoadArgs(&args, callStats, r)")
g.l("if err != nil {")
g.ind(1)
g.l("gotsrpc.ErrorCouldNotLoadArgs(w)")
g.l("return")
g.ind(-1)
g.l("}")
}
g.l(")")
g.l("args = []interface{}{" + strings.Join(args, ", ") + "}")
g.l("err := gotsrpc.LoadArgs(&args, callStats, r)")
g.l("if err != nil {")
g.ind(1)
g.l("gotsrpc.ErrorCouldNotLoadArgs(w)")
g.l("return")
g.ind(-1)
g.l("}")
}
returnValueNames := []string{}
for retI, retField := range method.Return {