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  }