kittenipc/kitcom/go_gen.tmpl
2025-10-23 10:19:07 +03:00

31 lines
847 B
Cheetah

{{- /*gotype: efprojects.com/kitten-ipc/kitcom.goGenData*/ -}}
// Code generated by kitcom. DO NOT EDIT.
package {{.PkgName}}
import kittenipc "efprojects.com/kitten-ipc"
{{range $e := .Api.Endpoints}}
type {{.Name}} struct {
Ipc *kittenipc.KittenIPC
}
{{range $mtd := .Methods}}
func ({{$e.Name | receiver}} *{{$e.Name}}) {{$mtd.Name}}(
{{- range $mtd.Params}}{{.Name}} {{.Type | typedef}}, {{end -}}
) (
{{- range $mtd.Ret}}{{.Type | typedef}}, {{end -}}
) {
results, err := {{$e.Name | receiver}}.Ipc.Call("{{$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}}