gitlab.com/evatix-go/core@v1.3.55/enums/versionindexes/Index.go (about)

     1  package versionindexes
     2  
     3  import (
     4  	"gitlab.com/evatix-go/core/coredata/corejson"
     5  	"gitlab.com/evatix-go/core/coreinterface/enuminf"
     6  	"gitlab.com/evatix-go/core/defaulterr"
     7  )
     8  
     9  type Index byte
    10  
    11  const (
    12  	Major   Index = iota
    13  	Minor   Index = 1
    14  	Patch   Index = 2
    15  	Build   Index = 3
    16  	Invalid Index = 4
    17  )
    18  
    19  func (it Index) AllNameValues() []string {
    20  	return BasicEnumImpl.AllNameValues()
    21  }
    22  
    23  func (it Index) OnlySupportedErr(names ...string) error {
    24  	return BasicEnumImpl.OnlySupportedErr(names...)
    25  }
    26  
    27  func (it Index) OnlySupportedMsgErr(message string, names ...string) error {
    28  	return BasicEnumImpl.OnlySupportedMsgErr(message, names...)
    29  }
    30  
    31  func (it Index) ValueUInt16() uint16 {
    32  	return uint16(it)
    33  }
    34  
    35  func (it Index) IntegerEnumRanges() []int {
    36  	return BasicEnumImpl.IntegerEnumRanges()
    37  }
    38  
    39  func (it Index) MinMaxAny() (min, max interface{}) {
    40  	return BasicEnumImpl.MinMaxAny()
    41  }
    42  
    43  func (it Index) MinValueString() string {
    44  	return BasicEnumImpl.MinValueString()
    45  }
    46  
    47  func (it Index) MaxValueString() string {
    48  	return BasicEnumImpl.MaxValueString()
    49  }
    50  
    51  func (it Index) MaxInt() int {
    52  	return BasicEnumImpl.MaxInt()
    53  }
    54  
    55  func (it Index) MinInt() int {
    56  	return BasicEnumImpl.MinInt()
    57  }
    58  
    59  func (it Index) RangesDynamicMap() map[string]interface{} {
    60  	return BasicEnumImpl.RangesDynamicMap()
    61  }
    62  
    63  func (it Index) IsByteValueEqual(value byte) bool {
    64  	return byte(it) == value
    65  }
    66  
    67  func (it Index) Format(format string) (compiled string) {
    68  	return BasicEnumImpl.Format(format, it)
    69  }
    70  
    71  func (it Index) IsEnumEqual(enum enuminf.BasicEnumer) bool {
    72  	return it.ValueByte() == enum.ValueByte()
    73  }
    74  
    75  func (it *Index) IsAnyEnumsEqual(enums ...enuminf.BasicEnumer) bool {
    76  	for _, enum := range enums {
    77  		if it.IsEnumEqual(enum) {
    78  			return true
    79  		}
    80  	}
    81  
    82  	return false
    83  }
    84  
    85  func (it Index) IsValueEqual(value byte) bool {
    86  	return it.ValueByte() == value
    87  }
    88  
    89  func (it Index) IsAnyValuesEqual(anyByteValues ...byte) bool {
    90  	for _, valByte := range anyByteValues {
    91  		if it.IsValueEqual(valByte) {
    92  			return true
    93  		}
    94  	}
    95  
    96  	return false
    97  }
    98  
    99  func (it Index) IsNameEqual(name string) bool {
   100  	return it.Name() == name
   101  }
   102  
   103  func (it Index) IsAnyNamesOf(names ...string) bool {
   104  	for _, name := range names {
   105  		if it.IsNameEqual(name) {
   106  			return true
   107  		}
   108  	}
   109  
   110  	return false
   111  }
   112  
   113  func (it Index) ValueInt8() int8 {
   114  	return int8(it)
   115  }
   116  
   117  func (it Index) ValueInt16() int16 {
   118  	return int16(it)
   119  }
   120  
   121  func (it Index) ValueInt32() int32 {
   122  	return int32(it)
   123  }
   124  
   125  func (it Index) ValueString() string {
   126  	return it.ToNumberString()
   127  }
   128  
   129  func (it Index) IsValid() bool {
   130  	return it != Invalid
   131  }
   132  
   133  func (it Index) IsInvalid() bool {
   134  	return it == Invalid
   135  }
   136  
   137  func (it Index) Name() string {
   138  	return BasicEnumImpl.ToEnumString(it.ValueByte())
   139  }
   140  
   141  func (it Index) NameValue() string {
   142  	return BasicEnumImpl.NameWithValue(it)
   143  }
   144  
   145  func (it Index) ToNumberString() string {
   146  	return BasicEnumImpl.ToNumberString(it.ValueByte())
   147  }
   148  
   149  func (it Index) UnmarshallEnumToValue(
   150  	jsonUnmarshallingValue []byte,
   151  ) (byte, error) {
   152  	return BasicEnumImpl.UnmarshallToValue(
   153  		isMappedToDefault,
   154  		jsonUnmarshallingValue)
   155  }
   156  
   157  func (it Index) String() string {
   158  	return BasicEnumImpl.ToEnumString(it.ValueByte())
   159  }
   160  
   161  func (it Index) RangeNamesCsv() string {
   162  	return BasicEnumImpl.RangeNamesCsv()
   163  }
   164  
   165  func (it Index) TypeName() string {
   166  	return BasicEnumImpl.TypeName()
   167  }
   168  
   169  func (it Index) MarshalJSON() ([]byte, error) {
   170  	return BasicEnumImpl.ToEnumJsonBytes(it.ValueByte())
   171  }
   172  
   173  func (it *Index) UnmarshalJSON(data []byte) error {
   174  	rawScriptType, err := it.UnmarshallEnumToValue(
   175  		data)
   176  
   177  	if err == nil {
   178  		*it = Index(rawScriptType)
   179  	}
   180  
   181  	return err
   182  }
   183  
   184  func (it Index) Json() corejson.Result {
   185  	return corejson.New(it)
   186  }
   187  
   188  func (it Index) JsonPtr() *corejson.Result {
   189  	return corejson.NewPtr(it)
   190  }
   191  
   192  func (it *Index) JsonParseSelfInject(jsonResult *corejson.Result) error {
   193  	if jsonResult == nil {
   194  		return defaulterr.UnmarshallingFailedDueToNilOrEmpty
   195  	}
   196  
   197  	if jsonResult.HasError() {
   198  		return jsonResult.MeaningfulError()
   199  	}
   200  
   201  	v, err := it.UnmarshallEnumToValue(jsonResult.Bytes)
   202  
   203  	if err == nil {
   204  		*it = Index(v)
   205  	}
   206  
   207  	return err
   208  }
   209  
   210  func (it *Index) AsJsonContractsBinder() corejson.JsonContractsBinder {
   211  	return it
   212  }
   213  
   214  func (it Index) AsBasicEnumContractsBinder() enuminf.BasicEnumContractsBinder {
   215  	return &it
   216  }
   217  
   218  func (it *Index) MaxByte() byte {
   219  	return BasicEnumImpl.Max()
   220  }
   221  
   222  func (it *Index) MinByte() byte {
   223  	return BasicEnumImpl.Min()
   224  }
   225  
   226  func (it Index) ValueByte() byte {
   227  	return byte(it)
   228  }
   229  
   230  func (it Index) ValueInt() int {
   231  	return int(it)
   232  }
   233  
   234  func (it *Index) RangesByte() []byte {
   235  	return BasicEnumImpl.Ranges()
   236  }
   237  
   238  func (it Index) IsMajor() bool {
   239  	return it == Major
   240  }
   241  
   242  func (it Index) IsMinor() bool {
   243  	return it == Minor
   244  }
   245  
   246  func (it Index) IsPatch() bool {
   247  	return it == Patch
   248  }
   249  
   250  func (it Index) IsBuild() bool {
   251  	return it == Build
   252  }
   253  
   254  func (it Index) EnumType() enuminf.EnumTyper {
   255  	return BasicEnumImpl.EnumType()
   256  }
   257  
   258  func (it Index) AsBasicByteEnumContractsBinder() enuminf.BasicByteEnumContractsBinder {
   259  	return &it
   260  }
   261  
   262  func (it Index) ToPtr() *Index {
   263  	return &it
   264  }