fix: expose allowed values of the enum (#10386)

* fix: expose allowed values of the enum

Fixes #10385

* chore: update examples
This commit is contained in:
Wojciech Trocki 2021-09-21 04:58:38 +01:00 committed by GitHub
parent 1947f130c0
commit a939676c0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 40 additions and 32 deletions

View File

@ -12,7 +12,8 @@ const (
{{/allowableValues}} {{/allowableValues}}
) )
var allowed{{{classname}}}EnumValues = []{{{classname}}}{ // All allowed values of {{{classname}}} enum
var Allowed{{{classname}}}EnumValues = []{{{classname}}}{
{{#allowableValues}} {{#allowableValues}}
{{#enumVars}} {{#enumVars}}
{{{value}}}, {{{value}}},
@ -27,7 +28,7 @@ func (v *{{{classname}}}) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := {{{classname}}}(value) enumTypeValue := {{{classname}}}(value)
for _, existing := range allowed{{{classname}}}EnumValues { for _, existing := range Allowed{{{classname}}}EnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -44,13 +45,13 @@ func New{{{classname}}}FromValue(v {{{format}}}{{^format}}{{dataType}}{{/format}
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for {{{classname}}}: valid values are %v", v, allowed{{{classname}}}EnumValues) return nil, fmt.Errorf("invalid value '%v' for {{{classname}}}: valid values are %v", v, Allowed{{{classname}}}EnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v {{{classname}}}) IsValid() bool { func (v {{{classname}}}) IsValid() bool {
for _, existing := range allowed{{{classname}}}EnumValues { for _, existing := range Allowed{{{classname}}}EnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
XYZ EnumClass = "(xyz)" XYZ EnumClass = "(xyz)"
) )
var allowedEnumClassEnumValues = []EnumClass{ // All allowed values of EnumClass enum
var AllowedEnumClassEnumValues = []EnumClass{
"_abc", "_abc",
"-efg", "-efg",
"(xyz)", "(xyz)",
@ -38,7 +39,7 @@ func (v *EnumClass) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := EnumClass(value) enumTypeValue := EnumClass(value)
for _, existing := range allowedEnumClassEnumValues { for _, existing := range AllowedEnumClassEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewEnumClassFromValue(v string) (*EnumClass, error) {
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for EnumClass: valid values are %v", v, allowedEnumClassEnumValues) return nil, fmt.Errorf("invalid value '%v' for EnumClass: valid values are %v", v, AllowedEnumClassEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v EnumClass) IsValid() bool { func (v EnumClass) IsValid() bool {
for _, existing := range allowedEnumClassEnumValues { for _, existing := range AllowedEnumClassEnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
DELIVERED OuterEnum = "delivered" DELIVERED OuterEnum = "delivered"
) )
var allowedOuterEnumEnumValues = []OuterEnum{ // All allowed values of OuterEnum enum
var AllowedOuterEnumEnumValues = []OuterEnum{
"placed", "placed",
"approved", "approved",
"delivered", "delivered",
@ -38,7 +39,7 @@ func (v *OuterEnum) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := OuterEnum(value) enumTypeValue := OuterEnum(value)
for _, existing := range allowedOuterEnumEnumValues { for _, existing := range AllowedOuterEnumEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewOuterEnumFromValue(v string) (*OuterEnum, error) {
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for OuterEnum: valid values are %v", v, allowedOuterEnumEnumValues) return nil, fmt.Errorf("invalid value '%v' for OuterEnum: valid values are %v", v, AllowedOuterEnumEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v OuterEnum) IsValid() bool { func (v OuterEnum) IsValid() bool {
for _, existing := range allowedOuterEnumEnumValues { for _, existing := range AllowedOuterEnumEnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
ENUMCLASS_XYZ EnumClass = "(xyz)" ENUMCLASS_XYZ EnumClass = "(xyz)"
) )
var allowedEnumClassEnumValues = []EnumClass{ // All allowed values of EnumClass enum
var AllowedEnumClassEnumValues = []EnumClass{
"_abc", "_abc",
"-efg", "-efg",
"(xyz)", "(xyz)",
@ -38,7 +39,7 @@ func (v *EnumClass) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := EnumClass(value) enumTypeValue := EnumClass(value)
for _, existing := range allowedEnumClassEnumValues { for _, existing := range AllowedEnumClassEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewEnumClassFromValue(v string) (*EnumClass, error) {
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for EnumClass: valid values are %v", v, allowedEnumClassEnumValues) return nil, fmt.Errorf("invalid value '%v' for EnumClass: valid values are %v", v, AllowedEnumClassEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v EnumClass) IsValid() bool { func (v EnumClass) IsValid() bool {
for _, existing := range allowedEnumClassEnumValues { for _, existing := range AllowedEnumClassEnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
OUTERENUM_DELIVERED OuterEnum = "delivered" OUTERENUM_DELIVERED OuterEnum = "delivered"
) )
var allowedOuterEnumEnumValues = []OuterEnum{ // All allowed values of OuterEnum enum
var AllowedOuterEnumEnumValues = []OuterEnum{
"placed", "placed",
"approved", "approved",
"delivered", "delivered",
@ -38,7 +39,7 @@ func (v *OuterEnum) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := OuterEnum(value) enumTypeValue := OuterEnum(value)
for _, existing := range allowedOuterEnumEnumValues { for _, existing := range AllowedOuterEnumEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewOuterEnumFromValue(v string) (*OuterEnum, error) {
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for OuterEnum: valid values are %v", v, allowedOuterEnumEnumValues) return nil, fmt.Errorf("invalid value '%v' for OuterEnum: valid values are %v", v, AllowedOuterEnumEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v OuterEnum) IsValid() bool { func (v OuterEnum) IsValid() bool {
for _, existing := range allowedOuterEnumEnumValues { for _, existing := range AllowedOuterEnumEnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
OUTERENUMDEFAULTVALUE_DELIVERED OuterEnumDefaultValue = "delivered" OUTERENUMDEFAULTVALUE_DELIVERED OuterEnumDefaultValue = "delivered"
) )
var allowedOuterEnumDefaultValueEnumValues = []OuterEnumDefaultValue{ // All allowed values of OuterEnumDefaultValue enum
var AllowedOuterEnumDefaultValueEnumValues = []OuterEnumDefaultValue{
"placed", "placed",
"approved", "approved",
"delivered", "delivered",
@ -38,7 +39,7 @@ func (v *OuterEnumDefaultValue) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := OuterEnumDefaultValue(value) enumTypeValue := OuterEnumDefaultValue(value)
for _, existing := range allowedOuterEnumDefaultValueEnumValues { for _, existing := range AllowedOuterEnumDefaultValueEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewOuterEnumDefaultValueFromValue(v string) (*OuterEnumDefaultValue, error)
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for OuterEnumDefaultValue: valid values are %v", v, allowedOuterEnumDefaultValueEnumValues) return nil, fmt.Errorf("invalid value '%v' for OuterEnumDefaultValue: valid values are %v", v, AllowedOuterEnumDefaultValueEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v OuterEnumDefaultValue) IsValid() bool { func (v OuterEnumDefaultValue) IsValid() bool {
for _, existing := range allowedOuterEnumDefaultValueEnumValues { for _, existing := range AllowedOuterEnumDefaultValueEnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
OUTERENUMINTEGER__2 OuterEnumInteger = 2 OUTERENUMINTEGER__2 OuterEnumInteger = 2
) )
var allowedOuterEnumIntegerEnumValues = []OuterEnumInteger{ // All allowed values of OuterEnumInteger enum
var AllowedOuterEnumIntegerEnumValues = []OuterEnumInteger{
0, 0,
1, 1,
2, 2,
@ -38,7 +39,7 @@ func (v *OuterEnumInteger) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := OuterEnumInteger(value) enumTypeValue := OuterEnumInteger(value)
for _, existing := range allowedOuterEnumIntegerEnumValues { for _, existing := range AllowedOuterEnumIntegerEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewOuterEnumIntegerFromValue(v int32) (*OuterEnumInteger, error) {
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for OuterEnumInteger: valid values are %v", v, allowedOuterEnumIntegerEnumValues) return nil, fmt.Errorf("invalid value '%v' for OuterEnumInteger: valid values are %v", v, AllowedOuterEnumIntegerEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v OuterEnumInteger) IsValid() bool { func (v OuterEnumInteger) IsValid() bool {
for _, existing := range allowedOuterEnumIntegerEnumValues { for _, existing := range AllowedOuterEnumIntegerEnumValues {
if existing == v { if existing == v {
return true return true
} }

View File

@ -25,7 +25,8 @@ const (
OUTERENUMINTEGERDEFAULTVALUE__2 OuterEnumIntegerDefaultValue = 2 OUTERENUMINTEGERDEFAULTVALUE__2 OuterEnumIntegerDefaultValue = 2
) )
var allowedOuterEnumIntegerDefaultValueEnumValues = []OuterEnumIntegerDefaultValue{ // All allowed values of OuterEnumIntegerDefaultValue enum
var AllowedOuterEnumIntegerDefaultValueEnumValues = []OuterEnumIntegerDefaultValue{
0, 0,
1, 1,
2, 2,
@ -38,7 +39,7 @@ func (v *OuterEnumIntegerDefaultValue) UnmarshalJSON(src []byte) error {
return err return err
} }
enumTypeValue := OuterEnumIntegerDefaultValue(value) enumTypeValue := OuterEnumIntegerDefaultValue(value)
for _, existing := range allowedOuterEnumIntegerDefaultValueEnumValues { for _, existing := range AllowedOuterEnumIntegerDefaultValueEnumValues {
if existing == enumTypeValue { if existing == enumTypeValue {
*v = enumTypeValue *v = enumTypeValue
return nil return nil
@ -55,13 +56,13 @@ func NewOuterEnumIntegerDefaultValueFromValue(v int32) (*OuterEnumIntegerDefault
if ev.IsValid() { if ev.IsValid() {
return &ev, nil return &ev, nil
} else { } else {
return nil, fmt.Errorf("invalid value '%v' for OuterEnumIntegerDefaultValue: valid values are %v", v, allowedOuterEnumIntegerDefaultValueEnumValues) return nil, fmt.Errorf("invalid value '%v' for OuterEnumIntegerDefaultValue: valid values are %v", v, AllowedOuterEnumIntegerDefaultValueEnumValues)
} }
} }
// IsValid return true if the value is valid for the enum, false otherwise // IsValid return true if the value is valid for the enum, false otherwise
func (v OuterEnumIntegerDefaultValue) IsValid() bool { func (v OuterEnumIntegerDefaultValue) IsValid() bool {
for _, existing := range allowedOuterEnumIntegerDefaultValueEnumValues { for _, existing := range AllowedOuterEnumIntegerDefaultValueEnumValues {
if existing == v { if existing == v {
return true return true
} }