summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-git/gcfg/types/bool.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-git/gcfg/types/bool.go')
-rw-r--r--vendor/github.com/go-git/gcfg/types/bool.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/go-git/gcfg/types/bool.go b/vendor/github.com/go-git/gcfg/types/bool.go
new file mode 100644
index 000000000..8dcae0d8c
--- /dev/null
+++ b/vendor/github.com/go-git/gcfg/types/bool.go
@@ -0,0 +1,23 @@
+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
+}