1package types 2 3// BoolValues defines the name and value mappings for ParseBool. 4var BoolValues = map[string]interface{}{ 5 "true": true, "yes": true, "on": true, "1": true, 6 "false": false, "no": false, "off": false, "0": false, 7} 8 9var boolParser = func() *EnumParser { 10 ep := &EnumParser{} 11 ep.AddVals(BoolValues) 12 return ep 13}() 14 15// ParseBool parses bool values according to the definitions in BoolValues. 16// Parsing is case-insensitive. 17func ParseBool(s string) (bool, error) { 18 v, err := boolParser.Parse(s) 19 if err != nil { 20 return false, err 21 } 22 return v.(bool), nil 23} 24