github.com/machinefi/w3bstream@v1.6.5-rc9.0.20240426031326-b8c7c4876e72/pkg/enums/flow_sink__generated.go (about) 1 // This is a generated source file. DO NOT EDIT 2 // Source: enums/flow_sink__generated.go 3 4 package enums 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 InvalidFlowSink = errors.New("invalid FlowSink type") 15 16 func ParseFlowSinkFromString(s string) (FlowSink, error) { 17 switch s { 18 default: 19 return FLOW_SINK_UNKNOWN, InvalidFlowSink 20 case "": 21 return FLOW_SINK_UNKNOWN, nil 22 case "RMDB": 23 return FLOW_SINK__RMDB, nil 24 case "BLOCKCHAIN": 25 return FLOW_SINK__BLOCKCHAIN, nil 26 } 27 } 28 29 func ParseFlowSinkFromLabel(s string) (FlowSink, error) { 30 switch s { 31 default: 32 return FLOW_SINK_UNKNOWN, InvalidFlowSink 33 case "": 34 return FLOW_SINK_UNKNOWN, nil 35 case "RMDB": 36 return FLOW_SINK__RMDB, nil 37 case "BLOCKCHAIN": 38 return FLOW_SINK__BLOCKCHAIN, nil 39 } 40 } 41 42 func (v FlowSink) Int() int { 43 return int(v) 44 } 45 46 func (v FlowSink) String() string { 47 switch v { 48 default: 49 return "UNKNOWN" 50 case FLOW_SINK_UNKNOWN: 51 return "" 52 case FLOW_SINK__RMDB: 53 return "RMDB" 54 case FLOW_SINK__BLOCKCHAIN: 55 return "BLOCKCHAIN" 56 } 57 } 58 59 func (v FlowSink) Label() string { 60 switch v { 61 default: 62 return "UNKNOWN" 63 case FLOW_SINK_UNKNOWN: 64 return "" 65 case FLOW_SINK__RMDB: 66 return "RMDB" 67 case FLOW_SINK__BLOCKCHAIN: 68 return "BLOCKCHAIN" 69 } 70 } 71 72 func (v FlowSink) TypeName() string { 73 return "github.com/machinefi/w3bstream/pkg/enums.FlowSink" 74 } 75 76 func (v FlowSink) ConstValues() []enum.IntStringerEnum { 77 return []enum.IntStringerEnum{FLOW_SINK__RMDB, FLOW_SINK__BLOCKCHAIN} 78 } 79 80 func (v FlowSink) MarshalText() ([]byte, error) { 81 s := v.String() 82 if s == "UNKNOWN" { 83 return nil, InvalidFlowSink 84 } 85 return []byte(s), nil 86 } 87 88 func (v *FlowSink) UnmarshalText(data []byte) error { 89 s := string(bytes.ToUpper(data)) 90 val, err := ParseFlowSinkFromString(s) 91 if err != nil { 92 return err 93 } 94 *(v) = val 95 return nil 96 } 97 98 func (v *FlowSink) Scan(src interface{}) error { 99 offset := 0 100 o, ok := interface{}(v).(enum.ValueOffset) 101 if ok { 102 offset = o.Offset() 103 } 104 i, err := enum.ScanIntEnumStringer(src, offset) 105 if err != nil { 106 return err 107 } 108 *(v) = FlowSink(i) 109 return nil 110 } 111 112 func (v FlowSink) Value() (driver.Value, error) { 113 offset := 0 114 o, ok := interface{}(v).(enum.ValueOffset) 115 if ok { 116 offset = o.Offset() 117 } 118 return int64(v) + int64(offset), nil 119 }