Add CombinedConfig.getVal that raises an exception if the config key is not found.
This commit is contained in:
		| @@ -10,7 +10,7 @@ type | ||||
|  | ||||
|   TermColor = ForegroundColor or BackgroundColor | ||||
|  | ||||
| proc getVal*(cfg: CombinedConfig, key, default: string): string = | ||||
| proc getVal*(cfg: CombinedConfig, key: string): string = | ||||
|   let argKey = "--" & key | ||||
|   let envKey = key.replace('-', '_').toUpper | ||||
|   let jsonKey = key.replace(re"(-\w)", proc (m: RegexMatch): string = ($m)[1..1].toUpper) | ||||
| @@ -27,8 +27,11 @@ proc getVal*(cfg: CombinedConfig, key, default: string): string = | ||||
|     of JNull: return "" | ||||
|     of JObject: return $node | ||||
|     of JArray: return $node | ||||
|   else: return default | ||||
|   else: raise newException(ValueError, "cannot find a configuration value for \"" & key & "\"") | ||||
|  | ||||
| proc getVal*(cfg: CombinedConfig, key, default: string): string = | ||||
|   try: return getVal(cfg, key) | ||||
|   except: return default | ||||
|  | ||||
| proc loadEnv*(): StringTableRef = | ||||
|   result = newStringTable() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user