forked from mirror/cast
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:
parent
580a25aa7d
commit
8d17101741
|
@ -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},
|
||||
|
|
5
caste.go
5
caste.go
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue