Handling complex cases where input matches expected output
diff --git a/caste.go b/caste.go
index 80be149..e58d1ae 100644
--- a/caste.go
+++ b/caste.go
@@ -139,6 +139,8 @@
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 @@
for k, val := range v {
m[ToString(k)] = val
}
+ case map[string]interface{}:
+ return v, true
default:
return m, false
}
@@ -169,6 +173,8 @@
for _, u := range v {
a = append(a, ToString(u))
}
+ case []string:
+ return v, true
default:
return a, false
}