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  }