Generate enum types for sqlbuilder.

This commit is contained in:
zer0sub 2019-06-03 17:05:29 +02:00
parent 7c98fb508c
commit ca5a30983e
6 changed files with 64 additions and 17 deletions

View file

@ -70,6 +70,12 @@ func Generate(destDir string, genData GeneratorData) error {
return err
}
err = generate(schemaInfo, destDir, "enum", enumTypeTemplate, schemaInfo.EnumInfos)
if err != nil {
return err
}
return nil
}

View file

@ -124,3 +124,17 @@ func (e {{camelize $.Name}}) String() string {
}
`
var enumTypeTemplate = `package enum
import "github.com/sub0zero/go-sqlbuilder/sqlbuilder"
var {{camelize $.Name}} = &struct {
{{- range $index, $element := .Values}}
{{camelize $element}} sqlbuilder.StringExpression
{{- end}}
} {
{{- range $index, $element := .Values}}
{{camelize $element}}: sqlbuilder.NewEnumValue("{{$element}}"),
{{- end}}
}
`