parseEnumValue returns a parser function that looks up the input value in a map. The input value is trimmed before lookup. It assumes that m contains lowercase keys.
(m map[string]T)
| 26 | // parseEnumValue returns a parser function that looks up the input value in a map. |
| 27 | // The input value is trimmed before lookup. It assumes that m contains lowercase keys. |
| 28 | func parseEnumValue[T any](m map[string]T) ParseFn[T] { |
| 29 | return func(env string) (T, error) { |
| 30 | var zero T |
| 31 | env = strings.ToLower(env) |
| 32 | if val, ok := m[env]; ok { |
| 33 | return val, nil |
| 34 | } |
| 35 | return zero, fmt.Errorf("invalid value %q", env) |
| 36 | } |
| 37 | } |
| 38 | |
| 39 | // parseFloat parses the environment variable value as a 64-bit float. |
| 40 | func parseFloat(env string) (float64, error) { |