| package types |
| |
| // BoolValues defines the name and value mappings for ParseBool. |
| var BoolValues = map[string]interface{}{ |
| "true": true, "yes": true, "on": true, "1": true, |
| "false": false, "no": false, "off": false, "0": false, |
| } |
| |
| var boolParser = func() *EnumParser { |
| ep := &EnumParser{} |
| ep.AddVals(BoolValues) |
| return ep |
| }() |
| |
| // ParseBool parses bool values according to the definitions in BoolValues. |
| // Parsing is case-insensitive. |
| func ParseBool(s string) (bool, error) { |
| v, err := boolParser.Parse(s) |
| if err != nil { |
| return false, err |
| } |
| return v.(bool), nil |
| } |