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 }