Skip to content

Commit 3415bdd

Browse files
authored
refactor(cmd): Simplify codegen selection logic (#1466)
1 parent c417ff8 commit 3415bdd

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

internal/cmd/generate.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -187,33 +187,25 @@ func Generate(ctx context.Context, e Env, dir, filename string, stderr io.Writer
187187
if debug.Traced {
188188
region = trace.StartRegion(ctx, "codegen")
189189
}
190-
var files map[string]string
191-
var resp *plugin.CodeGenResponse
190+
var genfunc func(req *plugin.CodeGenRequest) (*plugin.CodeGenResponse, error)
192191
var out string
193192
switch {
194193
case sql.Gen.Go != nil:
195194
out = combo.Go.Out
196-
resp, err = golang.Generate(codeGenRequest(result, combo))
195+
genfunc = golang.Generate
197196
case sql.Gen.Kotlin != nil:
198197
out = combo.Kotlin.Out
199-
resp, err = kotlin.Generate(codeGenRequest(result, combo))
198+
genfunc = kotlin.Generate
200199
case sql.Gen.Python != nil:
201200
out = combo.Python.Out
202-
resp, err = python.Generate(codeGenRequest(result, combo))
201+
genfunc = python.Generate
203202
default:
204203
panic("missing language backend")
205204
}
205+
resp, err := genfunc(codeGenRequest(result, combo))
206206
if region != nil {
207207
region.End()
208208
}
209-
210-
if resp != nil {
211-
files = map[string]string{}
212-
for _, file := range resp.Files {
213-
files[file.Name] = string(file.Contents)
214-
}
215-
}
216-
217209
if err != nil {
218210
fmt.Fprintf(stderr, "# package %s\n", name)
219211
fmt.Fprintf(stderr, "error generating code: %s\n", err)
@@ -223,6 +215,10 @@ func Generate(ctx context.Context, e Env, dir, filename string, stderr io.Writer
223215
}
224216
continue
225217
}
218+
files := map[string]string{}
219+
for _, file := range resp.Files {
220+
files[file.Name] = string(file.Contents)
221+
}
226222
for n, source := range files {
227223
filename := filepath.Join(dir, out, n)
228224
output[filename] = source

0 commit comments

Comments
 (0)