34 lines
950 B
Cheetah

{{- /*gotype: efprojects.com/kitten-ipc/kitcom/internal/golang.goGenData*/ -}}
// Code generated by kitcom. DO NOT EDIT.
package {{ .PkgName }}
import (
"fmt"
kittenipc "efprojects.com/kitten-ipc"
)
{{ range $e := .Api.Endpoints }}
type {{ .Name }} struct {
Ipc kittenipc.Callable
}
{{ range $mtd := $e.Methods }}
func ({{ $e.Name | receiver }} *{{ $e.Name }}) {{ $mtd.Name }}(
{{ range $mtd.Params }}{{ .Name }} {{ .Type | typedef }}, {{ end }}
) (
{{ range $mtd.Ret }}{{ .Type | typedef }}, {{ end }}error,
) {
results, err := {{ $e.Name | receiver }}.Ipc.Call("{{ $e.Name }}.{{ $mtd.Name }}"{{ range $mtd.Params }}, {{ .Name }}{{ end }})
if err != nil {
return {{ range $mtd.Ret }}{{ .Type | zerovalue }}, {{ end }} fmt.Errorf("call to {{ $e.Name }}.{{ $mtd.Name }} failed: %w", err)
}
_ = results
return {{ range $idx, $ret := $mtd.Ret }}{{ convtype ( printf "results[%d]" $idx ) $ret.Type }}, {{ end }}nil
}
{{ end }}
{{ end }}