Skip to content

Commit 7047ab8

Browse files
committed
Breaking: Generate function for default select JSON
Using a var is not ideal because the builder can be mutated.
1 parent 071ea62 commit 7047ab8

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

internal/fixtures/repository/mappings_mytype_gen.go

Lines changed: 7 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/generate.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ func Generate(m *StructMapping, goPackage string, goFile string, w io.Writer) (o
9797
Id("r").Qual(m.MappingTypePackage, m.MappingTypeName),
9898
).Params(Id("c").Id(changeSetName)).Block(
9999
toChangeSetBlock...,
100-
)
100+
).Line()
101101

102102
generateDefaultSelectJsonObject(f, m)
103103

@@ -125,9 +125,9 @@ func readColConstId(m *StructMapping, fm FieldMapping) string {
125125
}
126126

127127
func generateDefaultSelectJsonObject(f *File, m *StructMapping) {
128-
varName := firstToLower(m.TargetName + "DefaultSelectJson")
128+
funcName := firstToLower(m.TargetName + "DefaultSelectJson")
129129

130-
code := f.Var().Id(varName).Op("=").Qual("github.com/networkteam/construct/json", "JsonBuildObject").Call()
130+
code := Qual("github.com/networkteam/construct/json", "JsonBuildObject").Call()
131131
for _, fm := range m.FieldMappings {
132132
if fm.ReadColDef != nil {
133133
setExpValue := Lit(fm.ReadColDef.Col)
@@ -140,6 +140,8 @@ func generateDefaultSelectJsonObject(f *File, m *StructMapping) {
140140
code.Op(".").Line().Id("Set").Call(Lit(fm.Name), Qual("github.com/networkteam/construct/json", "Exp").Call(setExpValue))
141141
}
142142
}
143+
144+
f.Func().Id(funcName).Params().Qual("github.com/networkteam/construct/json", "JsonBuildObjectBuilder").Block(Return(code)).Line()
143145
}
144146

145147
func generateScanJsonRow(f *File, m *StructMapping) {

0 commit comments

Comments
 (0)