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
|
package cast
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"testing"
|
"testing"
|
||||||
|
@ -1057,6 +1058,7 @@ func TestToStringSliceE(t *testing.T) {
|
||||||
{[]string{"a", "b"}, []string{"a", "b"}, false},
|
{[]string{"a", "b"}, []string{"a", "b"}, false},
|
||||||
{[]interface{}{1, 3}, []string{"1", "3"}, false},
|
{[]interface{}{1, 3}, []string{"1", "3"}, false},
|
||||||
{interface{}(1), []string{"1"}, false},
|
{interface{}(1), []string{"1"}, false},
|
||||||
|
{[]error{errors.New("a"), errors.New("b")}, []string{"a", "b"}, false},
|
||||||
// errors
|
// errors
|
||||||
{nil, nil, true},
|
{nil, nil, true},
|
||||||
{testing.T{}, 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
|
return a, nil
|
||||||
case string:
|
case string:
|
||||||
return strings.Fields(v), nil
|
return strings.Fields(v), nil
|
||||||
|
case []error:
|
||||||
|
for _, err := range i.([]error) {
|
||||||
|
a = append(a, err.Error())
|
||||||
|
}
|
||||||
|
return a, nil
|
||||||
case interface{}:
|
case interface{}:
|
||||||
str, err := ToStringE(v)
|
str, err := ToStringE(v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue