Mike Schwörer
af38b06d22
Some checks failed
Build Docker and Deploy / Run goext test-suite (push) Failing after 58s
111 lines
2.8 KiB
Plaintext
111 lines
2.8 KiB
Plaintext
// Code generated by enum-generate.go DO NOT EDIT.
|
|
|
|
package {{.PkgName}}
|
|
|
|
import "gogs.mikescher.com/BlackForestBytes/goext/langext"
|
|
import "gogs.mikescher.com/BlackForestBytes/goext/enums"
|
|
|
|
const ChecksumEnumGenerator = "{{.Checksum}}" // GoExtVersion: {{.GoextVersion}}
|
|
|
|
{{range .Enums}}
|
|
|
|
{{ $hasStr := ( . | hasStr ) }}
|
|
{{ $hasDescr := ( . | hasDescr ) }}
|
|
|
|
// ================================ {{.EnumTypeName}} ================================
|
|
//
|
|
// File: {{.FileRelative}}
|
|
// StringEnum: {{$hasStr | boolToStr}}
|
|
// DescrEnum: {{$hasDescr | boolToStr}}
|
|
//
|
|
|
|
var __{{.EnumTypeName}}Values = []{{.EnumTypeName}}{ {{range .Values}}
|
|
{{.VarName}}, {{end}}
|
|
}
|
|
|
|
{{if $hasDescr}}
|
|
var __{{.EnumTypeName}}Descriptions = map[{{.EnumTypeName}}]string{ {{range .Values}}
|
|
{{.VarName}}: "{{.Description | deref | trimSpace}}", {{end}}
|
|
}
|
|
{{end}}
|
|
|
|
var __{{.EnumTypeName}}Varnames = map[{{.EnumTypeName}}]string{ {{range .Values}}
|
|
{{.VarName}}: "{{.VarName}}", {{end}}
|
|
}
|
|
|
|
func (e {{.EnumTypeName}}) Valid() bool {
|
|
return langext.InArray(e, __{{.EnumTypeName}}Values)
|
|
}
|
|
|
|
func (e {{.EnumTypeName}}) Values() []{{.EnumTypeName}} {
|
|
return __{{.EnumTypeName}}Values
|
|
}
|
|
|
|
func (e {{.EnumTypeName}}) ValuesAny() []any {
|
|
return langext.ArrCastToAny(__{{.EnumTypeName}}Values)
|
|
}
|
|
|
|
func (e {{.EnumTypeName}}) ValuesMeta() []enums.EnumMetaValue {
|
|
return {{.EnumTypeName}}ValuesMeta()
|
|
}
|
|
|
|
{{if $hasStr}}
|
|
func (e {{.EnumTypeName}}) String() string {
|
|
return string(e)
|
|
}
|
|
{{end}}
|
|
|
|
{{if $hasDescr}}
|
|
func (e {{.EnumTypeName}}) Description() string {
|
|
if d, ok := __{{.EnumTypeName}}Descriptions[e]; ok {
|
|
return d
|
|
}
|
|
return ""
|
|
}
|
|
{{end}}
|
|
|
|
func (e {{.EnumTypeName}}) VarName() string {
|
|
if d, ok := __{{.EnumTypeName}}Varnames[e]; ok {
|
|
return d
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (e {{.EnumTypeName}}) Meta() enums.EnumMetaValue {
|
|
{{if $hasDescr}} return enums.EnumMetaValue{VarName: e.VarName(), Value: e, Description: langext.Ptr(e.Description())} {{else}} return enums.EnumMetaValue{VarName: e.VarName(), Value: e, Description: nil} {{end}}
|
|
}
|
|
|
|
{{if $hasDescr}}
|
|
func (e {{.EnumTypeName}}) DescriptionMeta() enums.EnumDescriptionMetaValue {
|
|
return enums.EnumDescriptionMetaValue{VarName: e.VarName(), Value: e.String(), Description: e.Description()}
|
|
}
|
|
{{end}}
|
|
|
|
func Parse{{.EnumTypeName}}(vv string) ({{.EnumTypeName}}, bool) {
|
|
for _, ev := range __{{.EnumTypeName}}Values {
|
|
if string(ev) == vv {
|
|
return ev, true
|
|
}
|
|
}
|
|
return "", false
|
|
}
|
|
|
|
func {{.EnumTypeName}}Values() []{{.EnumTypeName}} {
|
|
return __{{.EnumTypeName}}Values
|
|
}
|
|
|
|
func {{.EnumTypeName}}ValuesMeta() []enums.EnumMetaValue {
|
|
return []enums.EnumMetaValue{ {{range .Values}}
|
|
{{.VarName}}.Meta(), {{end}}
|
|
}
|
|
}
|
|
|
|
{{if $hasDescr}}
|
|
func (e {{.EnumTypeName}}) ValuesDescriptionMeta() []enums.EnumDescriptionMetaValue {
|
|
return []enums.EnumMetaValue{ {{range .Values}}
|
|
{{.VarName}}.DescriptionMeta(), {{end}}
|
|
}
|
|
}
|
|
{{end}}
|
|
|
|
{{end}} |