evcc-io/tariff/fixed/day_enumer.go
2022-12-29 10:14:24 +01:00

98 lines
2.3 KiB
Go

// Code generated by "enumer -type Day"; DO NOT EDIT.
package fixed
import (
"fmt"
"strings"
)
const _DayName = "SundayMondayTuesdayWednesdayThursdayFridaySaturday"
var _DayIndex = [...]uint8{0, 6, 12, 19, 28, 36, 42, 50}
const _DayLowerName = "sundaymondaytuesdaywednesdaythursdayfridaysaturday"
func (i Day) String() string {
if i < 0 || i >= Day(len(_DayIndex)-1) {
return fmt.Sprintf("Day(%d)", i)
}
return _DayName[_DayIndex[i]:_DayIndex[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 _DayNoOp() {
var x [1]struct{}
_ = x[Sunday-(0)]
_ = x[Monday-(1)]
_ = x[Tuesday-(2)]
_ = x[Wednesday-(3)]
_ = x[Thursday-(4)]
_ = x[Friday-(5)]
_ = x[Saturday-(6)]
}
var _DayValues = []Day{Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}
var _DayNameToValueMap = map[string]Day{
_DayName[0:6]: Sunday,
_DayLowerName[0:6]: Sunday,
_DayName[6:12]: Monday,
_DayLowerName[6:12]: Monday,
_DayName[12:19]: Tuesday,
_DayLowerName[12:19]: Tuesday,
_DayName[19:28]: Wednesday,
_DayLowerName[19:28]: Wednesday,
_DayName[28:36]: Thursday,
_DayLowerName[28:36]: Thursday,
_DayName[36:42]: Friday,
_DayLowerName[36:42]: Friday,
_DayName[42:50]: Saturday,
_DayLowerName[42:50]: Saturday,
}
var _DayNames = []string{
_DayName[0:6],
_DayName[6:12],
_DayName[12:19],
_DayName[19:28],
_DayName[28:36],
_DayName[36:42],
_DayName[42:50],
}
// DayString retrieves an enum value from the enum constants string name.
// Throws an error if the param is not part of the enum.
func DayString(s string) (Day, error) {
if val, ok := _DayNameToValueMap[s]; ok {
return val, nil
}
if val, ok := _DayNameToValueMap[strings.ToLower(s)]; ok {
return val, nil
}
return 0, fmt.Errorf("%s does not belong to Day values", s)
}
// DayValues returns all values of the enum
func DayValues() []Day {
return _DayValues
}
// DayStrings returns a slice of all String values of the enum
func DayStrings() []string {
strs := make([]string, len(_DayNames))
copy(strs, _DayNames)
return strs
}
// IsADay returns "true" if the value is listed in the enum definition. "false" otherwise
func (i Day) IsADay() bool {
for _, v := range _DayValues {
if i == v {
return true
}
}
return false
}