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 {