StringToSlice: empty string is empty slice
diff --git a/decode_hooks.go b/decode_hooks.go
index 2bbd54a..087a392 100644
--- a/decode_hooks.go
+++ b/decode_hooks.go
@@ -43,6 +43,10 @@
}
raw := data.(string)
+ if raw == "" {
+ return []string{}, nil
+ }
+
return strings.Split(raw, sep), nil
}
}
diff --git a/decode_hooks_test.go b/decode_hooks_test.go
index 454d1f3..b417dee 100644
--- a/decode_hooks_test.go
+++ b/decode_hooks_test.go
@@ -96,6 +96,13 @@
[]string{"foo", "bar", "baz"},
false,
},
+ {
+ reflect.String,
+ reflect.Slice,
+ "",
+ []string{},
+ false,
+ },
}
for i, tc := range cases {