@@ -13,6 +13,7 @@ import (
1313 "unicode"
1414
1515 "github.com/kyleconroy/sqlc/internal/catalog"
16+ "github.com/kyleconroy/sqlc/internal/config"
1617 core "github.com/kyleconroy/sqlc/internal/pg"
1718
1819 "github.com/jinzhu/inflection"
@@ -159,12 +160,12 @@ type GoQuery struct {
159160}
160161
161162type Generateable interface {
162- Structs (settings CombinedSettings ) []GoStruct
163- GoQueries (settings CombinedSettings ) []GoQuery
164- Enums (settings CombinedSettings ) []GoEnum
163+ Structs (settings config. CombinedSettings ) []GoStruct
164+ GoQueries (settings config. CombinedSettings ) []GoQuery
165+ Enums (settings config. CombinedSettings ) []GoEnum
165166}
166167
167- func UsesType (r Generateable , typ string , settings CombinedSettings ) bool {
168+ func UsesType (r Generateable , typ string , settings config. CombinedSettings ) bool {
168169 for _ , strct := range r .Structs (settings ) {
169170 for _ , f := range strct .Fields {
170171 fType := strings .TrimPrefix (f .Type , "[]" )
@@ -176,7 +177,7 @@ func UsesType(r Generateable, typ string, settings CombinedSettings) bool {
176177 return false
177178}
178179
179- func UsesArrays (r Generateable , settings CombinedSettings ) bool {
180+ func UsesArrays (r Generateable , settings config. CombinedSettings ) bool {
180181 for _ , strct := range r .Structs (settings ) {
181182 for _ , f := range strct .Fields {
182183 if strings .HasPrefix (f .Type , "[]" ) {
@@ -187,7 +188,7 @@ func UsesArrays(r Generateable, settings CombinedSettings) bool {
187188 return false
188189}
189190
190- func Imports (r Generateable , settings CombinedSettings ) func (string ) [][]string {
191+ func Imports (r Generateable , settings config. CombinedSettings ) func (string ) [][]string {
191192 return func (filename string ) [][]string {
192193 if filename == "db.go" {
193194 imps := []string {"context" , "database/sql" }
@@ -209,7 +210,7 @@ func Imports(r Generateable, settings CombinedSettings) func(string) [][]string
209210 }
210211}
211212
212- func InterfaceImports (r Generateable , settings CombinedSettings ) [][]string {
213+ func InterfaceImports (r Generateable , settings config. CombinedSettings ) [][]string {
213214 gq := r .GoQueries (settings )
214215 uses := func (name string ) bool {
215216 for _ , q := range gq {
@@ -246,10 +247,10 @@ func InterfaceImports(r Generateable, settings CombinedSettings) [][]string {
246247 pkg := make (map [string ]struct {})
247248 overrideTypes := map [string ]string {}
248249 for _ , o := range settings .Overrides {
249- if o .goBasicType {
250+ if o .GoBasicType {
250251 continue
251252 }
252- overrideTypes [o .GoTypeName ] = o .goPackage
253+ overrideTypes [o .GoTypeName ] = o .GoPackage
253254 }
254255
255256 _ , overrideNullTime := overrideTypes ["pq.NullTime" ]
@@ -283,7 +284,7 @@ func InterfaceImports(r Generateable, settings CombinedSettings) [][]string {
283284 return [][]string {stds , pkgs }
284285}
285286
286- func ModelImports (r Generateable , settings CombinedSettings ) [][]string {
287+ func ModelImports (r Generateable , settings config. CombinedSettings ) [][]string {
287288 std := make (map [string ]struct {})
288289 if UsesType (r , "sql.Null" , settings ) {
289290 std ["database/sql" ] = struct {}{}
@@ -302,10 +303,10 @@ func ModelImports(r Generateable, settings CombinedSettings) [][]string {
302303 pkg := make (map [string ]struct {})
303304 overrideTypes := map [string ]string {}
304305 for _ , o := range settings .Overrides {
305- if o .goBasicType {
306+ if o .GoBasicType {
306307 continue
307308 }
308- overrideTypes [o .GoTypeName ] = o .goPackage
309+ overrideTypes [o .GoTypeName ] = o .GoPackage
309310 }
310311
311312 _ , overrideNullTime := overrideTypes ["pq.NullTime" ]
@@ -339,7 +340,7 @@ func ModelImports(r Generateable, settings CombinedSettings) [][]string {
339340 return [][]string {stds , pkgs }
340341}
341342
342- func QueryImports (r Generateable , settings CombinedSettings , filename string ) [][]string {
343+ func QueryImports (r Generateable , settings config. CombinedSettings , filename string ) [][]string {
343344 // for _, strct := range r.Structs() {
344345 // for _, f := range strct.Fields {
345346 // if strings.HasPrefix(f.Type, "[]") {
@@ -437,10 +438,10 @@ func QueryImports(r Generateable, settings CombinedSettings, filename string) []
437438 pkg := make (map [string ]struct {})
438439 overrideTypes := map [string ]string {}
439440 for _ , o := range settings .Overrides {
440- if o .goBasicType {
441+ if o .GoBasicType {
441442 continue
442443 }
443- overrideTypes [o .GoTypeName ] = o .goPackage
444+ overrideTypes [o .GoTypeName ] = o .GoPackage
444445 }
445446
446447 if sliceScan () {
@@ -489,7 +490,7 @@ func enumValueName(value string) string {
489490 return name
490491}
491492
492- func (r Result ) Enums (settings CombinedSettings ) []GoEnum {
493+ func (r Result ) Enums (settings config. CombinedSettings ) []GoEnum {
493494 var enums []GoEnum
494495 for name , schema := range r .Catalog .Schemas {
495496 if name == "pg_catalog" {
@@ -522,7 +523,7 @@ func (r Result) Enums(settings CombinedSettings) []GoEnum {
522523 return enums
523524}
524525
525- func StructName (name string , settings CombinedSettings ) string {
526+ func StructName (name string , settings config. CombinedSettings ) string {
526527 if rename := settings .Global .Rename [name ]; rename != "" {
527528 return rename
528529 }
@@ -537,7 +538,7 @@ func StructName(name string, settings CombinedSettings) string {
537538 return out
538539}
539540
540- func (r Result ) Structs (settings CombinedSettings ) []GoStruct {
541+ func (r Result ) Structs (settings config. CombinedSettings ) []GoStruct {
541542 var structs []GoStruct
542543 for name , schema := range r .Catalog .Schemas {
543544 if name == "pg_catalog" {
@@ -572,7 +573,7 @@ func (r Result) Structs(settings CombinedSettings) []GoStruct {
572573 return structs
573574}
574575
575- func (r Result ) goType (col core.Column , settings CombinedSettings ) string {
576+ func (r Result ) goType (col core.Column , settings config. CombinedSettings ) string {
576577 // package overrides have a higher precedence
577578 for _ , oride := range settings .Overrides {
578579 if oride .Column != "" && oride .ColumnName == col .Name && oride .Table == col .Table {
@@ -586,7 +587,7 @@ func (r Result) goType(col core.Column, settings CombinedSettings) string {
586587 return typ
587588}
588589
589- func (r Result ) goInnerType (col core.Column , settings CombinedSettings ) string {
590+ func (r Result ) goInnerType (col core.Column , settings config. CombinedSettings ) string {
590591 columnType := col .DataType
591592 notNull := col .NotNull || col .IsArray
592593
@@ -741,7 +742,7 @@ func (r Result) goInnerType(col core.Column, settings CombinedSettings) string {
741742// JSON tags: count, count_2, count_2
742743//
743744// This is unlikely to happen, so don't fix it yet
744- func (r Result ) columnsToStruct (name string , columns []core.Column , settings CombinedSettings ) * GoStruct {
745+ func (r Result ) columnsToStruct (name string , columns []core.Column , settings config. CombinedSettings ) * GoStruct {
745746 gs := GoStruct {
746747 Name : name ,
747748 }
@@ -801,7 +802,7 @@ func compareFQN(a *core.FQN, b *core.FQN) bool {
801802 return a .Catalog == b .Catalog && a .Schema == b .Schema && a .Rel == b .Rel
802803}
803804
804- func (r Result ) GoQueries (settings CombinedSettings ) []GoQuery {
805+ func (r Result ) GoQueries (settings config. CombinedSettings ) []GoQuery {
805806 structs := r .Structs (settings )
806807
807808 qs := make ([]GoQuery , 0 , len (r .Queries ))
@@ -1182,7 +1183,7 @@ type tmplCtx struct {
11821183 Enums []GoEnum
11831184 Structs []GoStruct
11841185 GoQueries []GoQuery
1185- Settings GenerateSettings
1186+ Settings config. GenerateSettings
11861187
11871188 // TODO: Race conditions
11881189 SourceName string
@@ -1198,7 +1199,7 @@ func LowerTitle(s string) string {
11981199 return string (a )
11991200}
12001201
1201- func Generate (r Generateable , settings CombinedSettings ) (map [string ]string , error ) {
1202+ func Generate (r Generateable , settings config. CombinedSettings ) (map [string ]string , error ) {
12021203 funcMap := template.FuncMap {
12031204 "lowerTitle" : LowerTitle ,
12041205 "imports" : Imports (r , settings ),
0 commit comments