github.com/infraboard/keyauth@v0.8.1/apps/user/enum.pb_enum_generate.go (about) 1 // Code generated by github.com/infraboard/mcube 2 // DO NOT EDIT 3 4 package user 5 6 import ( 7 "bytes" 8 "fmt" 9 "strings" 10 ) 11 12 // ParseGenderFromString Parse Gender from string 13 func ParseGenderFromString(str string) (Gender, error) { 14 key := strings.Trim(string(str), `"`) 15 v, ok := Gender_value[strings.ToUpper(key)] 16 if !ok { 17 return 0, fmt.Errorf("unknown Gender: %s", str) 18 } 19 20 return Gender(v), nil 21 } 22 23 // Equal type compare 24 func (t Gender) Equal(target Gender) bool { 25 return t == target 26 } 27 28 // IsIn todo 29 func (t Gender) IsIn(targets ...Gender) bool { 30 for _, target := range targets { 31 if t.Equal(target) { 32 return true 33 } 34 } 35 36 return false 37 } 38 39 // MarshalJSON todo 40 func (t Gender) MarshalJSON() ([]byte, error) { 41 b := bytes.NewBufferString(`"`) 42 b.WriteString(strings.ToUpper(t.String())) 43 b.WriteString(`"`) 44 return b.Bytes(), nil 45 } 46 47 // UnmarshalJSON todo 48 func (t *Gender) UnmarshalJSON(b []byte) error { 49 ins, err := ParseGenderFromString(string(b)) 50 if err != nil { 51 return err 52 } 53 *t = ins 54 return nil 55 } 56 57 // ParseCreateTypeFromString Parse CreateType from string 58 func ParseCreateTypeFromString(str string) (CreateType, error) { 59 key := strings.Trim(string(str), `"`) 60 v, ok := CreateType_value[strings.ToUpper(key)] 61 if !ok { 62 return 0, fmt.Errorf("unknown CreateType: %s", str) 63 } 64 65 return CreateType(v), nil 66 } 67 68 // Equal type compare 69 func (t CreateType) Equal(target CreateType) bool { 70 return t == target 71 } 72 73 // IsIn todo 74 func (t CreateType) IsIn(targets ...CreateType) bool { 75 for _, target := range targets { 76 if t.Equal(target) { 77 return true 78 } 79 } 80 81 return false 82 } 83 84 // MarshalJSON todo 85 func (t CreateType) MarshalJSON() ([]byte, error) { 86 b := bytes.NewBufferString(`"`) 87 b.WriteString(strings.ToUpper(t.String())) 88 b.WriteString(`"`) 89 return b.Bytes(), nil 90 } 91 92 // UnmarshalJSON todo 93 func (t *CreateType) UnmarshalJSON(b []byte) error { 94 ins, err := ParseCreateTypeFromString(string(b)) 95 if err != nil { 96 return err 97 } 98 *t = ins 99 return nil 100 }