evcc-io/cmd/implement/implement.tpl

32 lines
736 B
Smarty

package implement
// Code generated by github.com/evcc-io/evcc/api/implement/caps.go. DO NOT EDIT.
import (
"github.com/evcc-io/evcc/api"
)
{{range .Types}}
{{- $t := .Type}}
func {{$t}}( {{range .Functions}} {{.VarName}} {{.Signature}}, {{end}} ) api.{{$t}} {
if {{range $i, $f := .Functions}}{{if $i}} || {{end}}{{$f.VarName}} == nil{{end}} {
return nil
}
return &i{{$t}}{ {{range .Functions}} {{.VarName}}, {{end}} }
}
type i{{$t}} struct {
{{range .Functions}}
{{.VarName}} {{.Signature}}
{{- end}}
}
{{range .Functions}}
func (i *i{{$t}}) {{.Function}}( {{range .Params}} {{.VarName}} {{.Signature}}, {{end}} ) {{.ReturnTypes}} {
return i.{{.VarName}}( {{range .Params}} {{.VarName}}, {{end}} )
}
{{end}}
{{end}}