Enum defines enum value env var descriptor that maps string keys to values of type T. The format string is generated from the map keys.
(name string, m map[string]T)
| 39 | // Enum defines enum value env var descriptor that maps string keys to values of type T. |
| 40 | // The format string is generated from the map keys. |
| 41 | func Enum[T any](name string, m map[string]T) EnumVar[T] { |
| 42 | keys := slices.Collect(maps.Keys(m)) |
| 43 | |
| 44 | return EnumVar[T]{ |
| 45 | Name: name, |
| 46 | format: strings.Join(keys, "|"), |
| 47 | parseFn: parseEnumValue(m), |
| 48 | } |
| 49 | } |
| 50 | |
| 51 | // Bool defines boolean env var descriptor |
| 52 | func Bool(name string) BoolVar { |