You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
979 B
45 lines
979 B
package envconf |
|
|
|
type dataTypeInfo struct { |
|
parser func(string, string, int) cValue |
|
name string |
|
} |
|
|
|
var tInfo map[DataType]dataTypeInfo |
|
|
|
func init() { |
|
tInfo = make(map[DataType]dataTypeInfo) |
|
var intInfo dataTypeInfo |
|
var metricInfo dataTypeInfo |
|
var durInfo dataTypeInfo |
|
var strInfo dataTypeInfo |
|
var dirInfo dataTypeInfo |
|
var hexInfo dataTypeInfo |
|
|
|
var boolInfo dataTypeInfo |
|
|
|
intInfo.name = "int" |
|
metricInfo.name = "metric" |
|
durInfo.name = "duration" |
|
dirInfo.name = "directory" |
|
strInfo.name = "string" |
|
hexInfo.name = "hex" |
|
boolInfo.name = "bool" |
|
|
|
intInfo.parser = parseInt |
|
metricInfo.parser = parseMetric |
|
durInfo.parser = parseDuration |
|
dirInfo.parser = parseDirectory |
|
strInfo.parser = parseString |
|
|
|
hexInfo.parser = parseHex |
|
boolInfo.parser = parseBool |
|
|
|
tInfo[TypeInt] = intInfo |
|
tInfo[TypeMetric] = metricInfo |
|
tInfo[TypeDuration] = durInfo |
|
tInfo[TypeString] = strInfo |
|
tInfo[TypeDirectory] = dirInfo |
|
tInfo[TypeHex] = hexInfo |
|
tInfo[TypeBool] = boolInfo |
|
}
|
|
|