github.com/machinefi/w3bstream@v1.6.5-rc9.0.20240426031326-b8c7c4876e72/pkg/depends/kit/enumgen/__examples__/sample__generated.go (about) 1 // This is a generated source file. DO NOT EDIT 2 // Source: example/sample__generated.go 3 4 package example 5 6 import ( 7 "bytes" 8 "database/sql/driver" 9 "errors" 10 11 "github.com/machinefi/w3bstream/pkg/depends/kit/enum" 12 ) 13 14 var InvalidSample = errors.New("invalid Sample type") 15 16 func ParseSampleFromString(s string) (Sample, error) { 17 switch s { 18 default: 19 return SAMPLE_UNKNOWN, InvalidSample 20 case "": 21 return SAMPLE_UNKNOWN, nil 22 case "XXX": 23 return SAMPLE__XXX, nil 24 case "YYY": 25 return SAMPLE__YYY, nil 26 case "ZZZ": 27 return SAMPLE__ZZZ, nil 28 } 29 } 30 31 func ParseSampleFromLabel(s string) (Sample, error) { 32 switch s { 33 default: 34 return SAMPLE_UNKNOWN, InvalidSample 35 case "": 36 return SAMPLE_UNKNOWN, nil 37 case "样例XXX": 38 return SAMPLE__XXX, nil 39 case "样例YYY": 40 return SAMPLE__YYY, nil 41 case "样例ZZZ": 42 return SAMPLE__ZZZ, nil 43 } 44 } 45 46 func (v Sample) Int() int { 47 return int(v) 48 } 49 50 func (v Sample) String() string { 51 switch v { 52 default: 53 return "UNKNOWN" 54 case SAMPLE_UNKNOWN: 55 return "" 56 case SAMPLE__XXX: 57 return "XXX" 58 case SAMPLE__YYY: 59 return "YYY" 60 case SAMPLE__ZZZ: 61 return "ZZZ" 62 } 63 } 64 65 func (v Sample) Label() string { 66 switch v { 67 default: 68 return "UNKNOWN" 69 case SAMPLE_UNKNOWN: 70 return "" 71 case SAMPLE__XXX: 72 return "样例XXX" 73 case SAMPLE__YYY: 74 return "样例YYY" 75 case SAMPLE__ZZZ: 76 return "样例ZZZ" 77 } 78 } 79 80 func (v Sample) TypeName() string { 81 return "github.com/machinefi/w3bstream/pkg/depends/kit/enumgen/__examples__.Sample" 82 } 83 84 func (v Sample) ConstValues() []enum.IntStringerEnum { 85 return []enum.IntStringerEnum{SAMPLE__XXX, SAMPLE__YYY, SAMPLE__ZZZ} 86 } 87 88 func (v Sample) MarshalText() ([]byte, error) { 89 s := v.String() 90 if s == "UNKNOWN" { 91 return nil, InvalidSample 92 } 93 return []byte(s), nil 94 } 95 96 func (v *Sample) UnmarshalText(data []byte) error { 97 s := string(bytes.ToUpper(data)) 98 val, err := ParseSampleFromString(s) 99 if err != nil { 100 return err 101 } 102 *(v) = val 103 return nil 104 } 105 106 func (v *Sample) Scan(src interface{}) error { 107 offset := 0 108 o, ok := interface{}(v).(enum.ValueOffset) 109 if ok { 110 offset = o.Offset() 111 } 112 i, err := enum.ScanIntEnumStringer(src, offset) 113 if err != nil { 114 return err 115 } 116 *(v) = Sample(i) 117 return nil 118 } 119 120 func (v Sample) Value() (driver.Value, error) { 121 offset := 0 122 o, ok := interface{}(v).(enum.ValueOffset) 123 if ok { 124 offset = o.Offset() 125 } 126 return int64(v) + int64(offset), nil 127 }