// Code generated by "enumer -type Capability -linecomment -text"; DO NOT EDIT. package templates import ( "fmt" "strings" ) const _CapabilityName = "iso151182mArfid1p3pbattery-controlmeterdimcurtail" var _CapabilityIndex = [...]uint8{0, 9, 11, 15, 19, 34, 39, 42, 49} const _CapabilityLowerName = "iso151182marfid1p3pbattery-controlmeterdimcurtail" func (i Capability) String() string { i -= 1 if i < 0 || i >= Capability(len(_CapabilityIndex)-1) { return fmt.Sprintf("Capability(%d)", i+1) } return _CapabilityName[_CapabilityIndex[i]:_CapabilityIndex[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 _CapabilityNoOp() { var x [1]struct{} _ = x[CapabilityISO151182-(1)] _ = x[CapabilityMilliAmps-(2)] _ = x[CapabilityRFID-(3)] _ = x[Capability1p3p-(4)] _ = x[CapabilityBatteryControl-(5)] _ = x[CapabilityMeter-(6)] _ = x[CapabilityDim-(7)] _ = x[CapabilityCurtail-(8)] } var _CapabilityValues = []Capability{CapabilityISO151182, CapabilityMilliAmps, CapabilityRFID, Capability1p3p, CapabilityBatteryControl, CapabilityMeter, CapabilityDim, CapabilityCurtail} var _CapabilityNameToValueMap = map[string]Capability{ _CapabilityName[0:9]: CapabilityISO151182, _CapabilityLowerName[0:9]: CapabilityISO151182, _CapabilityName[9:11]: CapabilityMilliAmps, _CapabilityLowerName[9:11]: CapabilityMilliAmps, _CapabilityName[11:15]: CapabilityRFID, _CapabilityLowerName[11:15]: CapabilityRFID, _CapabilityName[15:19]: Capability1p3p, _CapabilityLowerName[15:19]: Capability1p3p, _CapabilityName[19:34]: CapabilityBatteryControl, _CapabilityLowerName[19:34]: CapabilityBatteryControl, _CapabilityName[34:39]: CapabilityMeter, _CapabilityLowerName[34:39]: CapabilityMeter, _CapabilityName[39:42]: CapabilityDim, _CapabilityLowerName[39:42]: CapabilityDim, _CapabilityName[42:49]: CapabilityCurtail, _CapabilityLowerName[42:49]: CapabilityCurtail, } var _CapabilityNames = []string{ _CapabilityName[0:9], _CapabilityName[9:11], _CapabilityName[11:15], _CapabilityName[15:19], _CapabilityName[19:34], _CapabilityName[34:39], _CapabilityName[39:42], _CapabilityName[42:49], } // CapabilityString retrieves an enum value from the enum constants string name. // Throws an error if the param is not part of the enum. func CapabilityString(s string) (Capability, error) { if val, ok := _CapabilityNameToValueMap[s]; ok { return val, nil } if val, ok := _CapabilityNameToValueMap[strings.ToLower(s)]; ok { return val, nil } return 0, fmt.Errorf("%s does not belong to Capability values", s) } // CapabilityValues returns all values of the enum func CapabilityValues() []Capability { return _CapabilityValues } // CapabilityStrings returns a slice of all String values of the enum func CapabilityStrings() []string { strs := make([]string, len(_CapabilityNames)) copy(strs, _CapabilityNames) return strs } // IsACapability returns "true" if the value is listed in the enum definition. "false" otherwise func (i Capability) IsACapability() bool { for _, v := range _CapabilityValues { if i == v { return true } } return false } // MarshalText implements the encoding.TextMarshaler interface for Capability func (i Capability) MarshalText() ([]byte, error) { return []byte(i.String()), nil } // UnmarshalText implements the encoding.TextUnmarshaler interface for Capability func (i *Capability) UnmarshalText(text []byte) error { var err error *i, err = CapabilityString(string(text)) return err }