From d6ad1120de0e557b26f5ce5e9b737a515b72f5b9 Mon Sep 17 00:00:00 2001 From: spf13 Date: Mon, 7 Apr 2014 11:42:50 -0400 Subject: [PATCH] Handling complex cases where input matches expected output --- caste.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/caste.go b/caste.go index 80be149..e58d1ae 100644 --- a/caste.go +++ b/caste.go @@ -139,6 +139,8 @@ func ToStringMapStringE(i interface{}) (map[string]string, bool) { for k, val := range v { m[ToString(k)] = ToString(val) } + case map[string]string: + return v, true default: return m, false } @@ -154,6 +156,8 @@ func ToStringMapE(i interface{}) (map[string]interface{}, bool) { for k, val := range v { m[ToString(k)] = val } + case map[string]interface{}: + return v, true default: return m, false } @@ -169,6 +173,8 @@ func ToStringSliceE(i interface{}) ([]string, bool) { for _, u := range v { a = append(a, ToString(u)) } + case []string: + return v, true default: return a, false }