Make the CombinedConfig.getVal function more tolerant of non-string values.

This commit is contained in:
Jonathan Bernard 2018-05-18 11:18:40 -05:00
parent 64fdcb359d
commit cd67f98d8d
2 changed files with 11 additions and 2 deletions

View File

@ -15,7 +15,16 @@ proc getVal*(cfg: CombinedConfig, key, default: string): string =
if cfg.docopt[argKey]: return $cfg.docopt[argKey] if cfg.docopt[argKey]: return $cfg.docopt[argKey]
elif existsEnv(envKey): return getEnv(envKey) elif existsEnv(envKey): return getEnv(envKey)
elif cfg.json.hasKey(jsonKey): return cfg.json[jsonKey].getStr elif cfg.json.hasKey(jsonKey):
let node = cfg.json[jsonKey]
case node.kind
of JString: return node.getStr
of JInt: return $node.getInt
of JFloat: return $node.getFloat
of JBool: return $node.getBool
of JNull: return ""
of JObject: return $node
of JArray: return $node
else: return default else: return default

View File

@ -1,6 +1,6 @@
# Package # Package
version = "0.3.4" version = "0.3.5"
author = "Jonathan Bernard" author = "Jonathan Bernard"
description = "Helper functions for writing command line interfaces." description = "Helper functions for writing command line interfaces."
license = "MIT" license = "MIT"