Skip to content

Commit 6eaa8d1

Browse files
committed
bootstrapping kotlin
1 parent f2ad76c commit 6eaa8d1

3 files changed

Lines changed: 1273 additions & 1 deletion

File tree

internal/cmd/generate.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,18 @@ func Generate(dir string, stderr io.Writer) (map[string]string, error) {
110110

111111
}
112112

113-
files, err := dinosql.Generate(result, combo)
113+
var files map[string]string
114+
switch pkg.Language {
115+
case dinosql.LanguageGo:
116+
files, err = dinosql.Generate(result, combo)
117+
case dinosql.LanguageKotlin:
118+
ktRes, ok := result.(dinosql.KtGenerateable)
119+
if !ok {
120+
err = fmt.Errorf("Kotlin not supported")
121+
break
122+
}
123+
files, err = dinosql.KtGenerate(ktRes, combo)
124+
}
114125
if err != nil {
115126
fmt.Fprintf(stderr, "# package %s\n", name)
116127
fmt.Fprintf(stderr, "error generating code: %s\n", err)

internal/dinosql/config.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,17 @@ const (
4141
EnginePostgreSQL Engine = "postgresql"
4242
)
4343

44+
type Language string
45+
46+
const (
47+
LanguageGo Language = "go"
48+
LanguageKotlin Language = "kotlin"
49+
)
50+
4451
type PackageSettings struct {
4552
Name string `json:"name"`
4653
Engine Engine `json:"engine,omitempty"`
54+
Language Language `json:"language,omitempty"`
4755
Path string `json:"path"`
4856
Schema string `json:"schema"`
4957
Queries string `json:"queries"`
@@ -196,6 +204,9 @@ func ParseConfig(rd io.Reader) (GenerateSettings, error) {
196204
if config.Packages[j].Engine == "" {
197205
config.Packages[j].Engine = EnginePostgreSQL
198206
}
207+
if config.Packages[j].Language == "" {
208+
config.Packages[j].Language = LanguageGo
209+
}
199210
}
200211
return config, nil
201212
}

0 commit comments

Comments
 (0)