Skip to content

Commit cb0d54d

Browse files
committed
Optimize breaker template
1 parent 0f5a4b1 commit cb0d54d

File tree

1 file changed

+11
-19
lines changed

1 file changed

+11
-19
lines changed

cmd/breaker-cli/breaker.gohtml

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,33 +19,25 @@ func New{{$StructName}}(source {{$PackageName}}.{{$InterfaceName}}) *{{$StructNa
1919
}
2020

2121
{{range .Implemented.Methods -}}
22-
{{$ErrorReturn := "nil" -}}
22+
{{$ErrorReturn := "" -}}
2323
func (b *{{$StructName}}) {{.Name}}({{range $i, $p := .Params}}{{.Name}} {{.Type}}, {{end}}) ({{range .Results}}{{.Type}}, {{end}}) {
24+
{{/* Find the error return */}}
25+
{{- range .Results}}{{- if eq .Type "error" -}}{{$ErrorReturn = .Name}}{{end -}}{{- end -}}
26+
27+
{{- if eq $ErrorReturn "" -}}
28+
return b.source.{{.Name}}({{- range .Params}}{{if eq .Ellipsis true}}{{.Name}}...{{else}}{{.Name}},{{end}}{{end}})
29+
{{- else -}}
2430
var (
2531
{{- range .Results}}
2632
{{.Name}} {{.Type}}
2733
{{- end}}
2834
)
29-
_ = b.breaker.Do(func() error {
30-
{{range $i, $r := .Results -}}
31-
{{- if $i -}}, {{end}}
32-
{{- if eq .Type "error" -}}
33-
{{$ErrorReturn = .Name}}
34-
{{- .Name -}}
35-
{{ else }}
36-
{{- .Name -}}
37-
{{ end }}
38-
{{- end}} = b.source.{{.Name}}(
39-
{{- range .Params -}}
40-
{{- if eq .Ellipsis true -}}
41-
{{- .Name -}}...
42-
{{- else -}}
43-
{{- .Name -}},
44-
{{- end -}}
45-
{{- end -}})
35+
err := b.breaker.Do(func() error {
36+
{{range $i, $r := .Results -}}{{- if $i -}},{{end}}{{.Name}}{{end}} = b.source.{{.Name}}({{range .Params}}{{if eq .Ellipsis true}}{{.Name}}...{{else}}{{.Name}},{{end}}{{end}})
4637
return {{$ErrorReturn}}
4738
})
48-
return {{range $i, $r := .Results}}{{if $i}}, {{end}}{{.Name}}{{end}}
39+
return {{range .Results}}{{if eq .Name $ErrorReturn }}err,{{else}}{{.Name}},{{end}}{{end}}
40+
{{- end -}}
4941
}
5042

5143
{{end -}}

0 commit comments

Comments
 (0)