// Code generated by "enumer -type Class -trimprefix Class -transform=lower -text"; DO NOT EDIT. package cmd import ( "fmt" "strings" ) const _ClassName = "meterchargervehicletariffcircuitsitemqttdatabasemodbusproxyeebusjavascriptgohemsinfluxmessengersponsorship" var _ClassIndex = [...]uint8{0, 5, 12, 19, 25, 32, 36, 40, 48, 59, 64, 74, 76, 80, 86, 95, 106} const _ClassLowerName = "meterchargervehicletariffcircuitsitemqttdatabasemodbusproxyeebusjavascriptgohemsinfluxmessengersponsorship" func (i Class) String() string { i -= 1 if i < 0 || i >= Class(len(_ClassIndex)-1) { return fmt.Sprintf("Class(%d)", i+1) } return _ClassName[_ClassIndex[i]:_ClassIndex[i+1]] } // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. func _ClassNoOp() { var x [1]struct{} _ = x[ClassMeter-(1)] _ = x[ClassCharger-(2)] _ = x[ClassVehicle-(3)] _ = x[ClassTariff-(4)] _ = x[ClassCircuit-(5)] _ = x[ClassSite-(6)] _ = x[ClassMqtt-(7)] _ = x[ClassDatabase-(8)] _ = x[ClassModbusProxy-(9)] _ = x[ClassEEBus-(10)] _ = x[ClassJavascript-(11)] _ = x[ClassGo-(12)] _ = x[ClassHEMS-(13)] _ = x[ClassInflux-(14)] _ = x[ClassMessenger-(15)] _ = x[ClassSponsorship-(16)] } var _ClassValues = []Class{ClassMeter, ClassCharger, ClassVehicle, ClassTariff, ClassCircuit, ClassSite, ClassMqtt, ClassDatabase, ClassModbusProxy, ClassEEBus, ClassJavascript, ClassGo, ClassHEMS, ClassInflux, ClassMessenger, ClassSponsorship} var _ClassNameToValueMap = map[string]Class{ _ClassName[0:5]: ClassMeter, _ClassLowerName[0:5]: ClassMeter, _ClassName[5:12]: ClassCharger, _ClassLowerName[5:12]: ClassCharger, _ClassName[12:19]: ClassVehicle, _ClassLowerName[12:19]: ClassVehicle, _ClassName[19:25]: ClassTariff, _ClassLowerName[19:25]: ClassTariff, _ClassName[25:32]: ClassCircuit, _ClassLowerName[25:32]: ClassCircuit, _ClassName[32:36]: ClassSite, _ClassLowerName[32:36]: ClassSite, _ClassName[36:40]: ClassMqtt, _ClassLowerName[36:40]: ClassMqtt, _ClassName[40:48]: ClassDatabase, _ClassLowerName[40:48]: ClassDatabase, _ClassName[48:59]: ClassModbusProxy, _ClassLowerName[48:59]: ClassModbusProxy, _ClassName[59:64]: ClassEEBus, _ClassLowerName[59:64]: ClassEEBus, _ClassName[64:74]: ClassJavascript, _ClassLowerName[64:74]: ClassJavascript, _ClassName[74:76]: ClassGo, _ClassLowerName[74:76]: ClassGo, _ClassName[76:80]: ClassHEMS, _ClassLowerName[76:80]: ClassHEMS, _ClassName[80:86]: ClassInflux, _ClassLowerName[80:86]: ClassInflux, _ClassName[86:95]: ClassMessenger, _ClassLowerName[86:95]: ClassMessenger, _ClassName[95:106]: ClassSponsorship, _ClassLowerName[95:106]: ClassSponsorship, } var _ClassNames = []string{ _ClassName[0:5], _ClassName[5:12], _ClassName[12:19], _ClassName[19:25], _ClassName[25:32], _ClassName[32:36], _ClassName[36:40], _ClassName[40:48], _ClassName[48:59], _ClassName[59:64], _ClassName[64:74], _ClassName[74:76], _ClassName[76:80], _ClassName[80:86], _ClassName[86:95], _ClassName[95:106], } // ClassString retrieves an enum value from the enum constants string name. // Throws an error if the param is not part of the enum. func ClassString(s string) (Class, error) { if val, ok := _ClassNameToValueMap[s]; ok { return val, nil } if val, ok := _ClassNameToValueMap[strings.ToLower(s)]; ok { return val, nil } return 0, fmt.Errorf("%s does not belong to Class values", s) } // ClassValues returns all values of the enum func ClassValues() []Class { return _ClassValues } // ClassStrings returns a slice of all String values of the enum func ClassStrings() []string { strs := make([]string, len(_ClassNames)) copy(strs, _ClassNames) return strs } // IsAClass returns "true" if the value is listed in the enum definition. "false" otherwise func (i Class) IsAClass() bool { for _, v := range _ClassValues { if i == v { return true } } return false } // MarshalText implements the encoding.TextMarshaler interface for Class func (i Class) MarshalText() ([]byte, error) { return []byte(i.String()), nil } // UnmarshalText implements the encoding.TextUnmarshaler interface for Class func (i *Class) UnmarshalText(text []byte) error { var err error *i, err = ClassString(string(text)) return err }