Convert error slice to string slice

* feat: added test case for error slice to parse to string

* feat: added handler to convert an error slice to string slice
This commit is contained in:
Paco Preciado Mendoza 2020-07-23 16:45:38 -05:00 committed by GitHub
parent 580a25aa7d
commit 8d17101741
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View File

@ -6,6 +6,7 @@
package cast
import (
"errors"
"fmt"
"html/template"
"testing"
@ -1057,6 +1058,7 @@ func TestToStringSliceE(t *testing.T) {
{[]string{"a", "b"}, []string{"a", "b"}, false},
{[]interface{}{1, 3}, []string{"1", "3"}, false},
{interface{}(1), []string{"1"}, false},
{[]error{errors.New("a"), errors.New("b")}, []string{"a", "b"}, false},
// errors
{nil, nil, true},
{testing.T{}, nil, true},

View File

@ -1161,6 +1161,11 @@ func ToStringSliceE(i interface{}) ([]string, error) {
return a, nil
case string:
return strings.Fields(v), nil
case []error:
for _, err := range i.([]error) {
a = append(a, err.Error())
}
return a, nil
case interface{}:
str, err := ToStringE(v)
if err != nil {