Created
February 3, 2018 20:29
-
-
Save sunho/17dc40b62571b4ef722479d47d79f1e5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func LoadParsers(customParsers map[reflect.Type]Parser) (map[reflect.Type]Parser, error) { | |
parsers := map[reflect.Type]Parser{} | |
var boolParser BoolValue | |
parsers[reflect.TypeOf(true)] = &boolParser | |
var intParser IntValue | |
parsers[reflect.TypeOf(1)] = &intParser | |
var int64Parser Int64Value | |
parsers[reflect.TypeOf(int64(1))] = &int64Parser | |
var uintParser UintValue | |
parsers[reflect.TypeOf(uint(1))] = &uintParser | |
var uint64Parser Uint64Value | |
parsers[reflect.TypeOf(uint64(1))] = &uint64Parser | |
var stringParser StringValue | |
parsers[reflect.TypeOf("")] = &stringParser | |
var float64Parser Float64Value | |
parsers[reflect.TypeOf(float64(1.5))] = &float64Parser | |
var durationParser Duration | |
parsers[reflect.TypeOf(Duration(time.Second))] = &durationParser | |
var timeParser TimeValue | |
parsers[reflect.TypeOf(time.Now())] = &timeParser | |
for rType, parser := range customParsers { | |
parsers[rType] = parser | |
} | |
return parsers, nil | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment