template update
This commit is contained in:
parent
1e29c54030
commit
c7652ac4ba
@ -14,14 +14,16 @@ type {{.Name}} struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{{range $mtd := .Methods}}
|
{{range $mtd := .Methods}}
|
||||||
func ({{$e.Name | receiver}} *{{$e.Name}}) {{$mtd.Name}} (
|
func ({{$e.Name | receiver}} *{{$e.Name}}) {{$mtd.Name}}(
|
||||||
{{range $mtd.Params}}{{.Name}} {{.Type | typedef}}, {{end}}
|
{{- range $mtd.Params}}{{.Name}} {{.Type | typedef}}, {{end -}}
|
||||||
) (
|
) (
|
||||||
{{range $mtd.Ret}}{{.Type | typedef}}, {{end}}
|
{{- range $mtd.Ret}}{{.Type | typedef}}, {{end -}}
|
||||||
) {
|
) {
|
||||||
return {{$e.Name | receiver}}.Ipc.Call(
|
results, err := {{$e.Name | receiver}}.Ipc.Call("{{$mtd.Name}}"{{range $mtd.Params}}, {{.Name}}{{end}})
|
||||||
"{{$mtd.Name}}", {{range $mtd.Params}}{{.Name}}, {{end}}
|
if err != nil {
|
||||||
)
|
return {{range $idx, $ret := $mtd.Ret}}{{zerovalue $ret.Type}}, {{end}}, fmt.Errorf("call to {{$e.Name}}.{{$mtd.Name}} failed: %w", err)
|
||||||
|
}
|
||||||
|
return {{range $idx, $ret := $mtd.Ret}}results[{{$idx}}].({{$ret.Type | typedef}}), {{end}}
|
||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
|
|||||||
@ -40,6 +40,17 @@ func (g *GoApiGenerator) Generate(api *Api, destFile string) error {
|
|||||||
}
|
}
|
||||||
return td, nil
|
return td, nil
|
||||||
},
|
},
|
||||||
|
"zerovalue": func(t ValType) (string, error) {
|
||||||
|
v, ok := map[ValType]string{
|
||||||
|
TInt: "0",
|
||||||
|
TString: `""`,
|
||||||
|
TBool: "false",
|
||||||
|
}[t]
|
||||||
|
if !ok {
|
||||||
|
return "", fmt.Errorf("cannot generate zero value for type %v", t)
|
||||||
|
}
|
||||||
|
return v, nil
|
||||||
|
},
|
||||||
})
|
})
|
||||||
tpl = template.Must(tpl.ParseFiles("./go_gen.tmpl"))
|
tpl = template.Must(tpl.ParseFiles("./go_gen.tmpl"))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user