// 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}} } 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}} } } {{end}}