diff --git a/value_boolean.go b/value_boolean.go index 3040f41..b631507 100644 --- a/value_boolean.go +++ b/value_boolean.go @@ -4,6 +4,7 @@ import ( "fmt" "math" "reflect" + "unicode/utf16" ) func (value Value) bool() bool { @@ -32,6 +33,8 @@ func (value Value) bool() bool { return true case string: return 0 != len(value) + case []uint16: + return 0 != len(utf16.Decode(value)) } if value.IsObject() { return true diff --git a/value_test.go b/value_test.go index 2a4ad84..f0c6ef0 100644 --- a/value_test.go +++ b/value_test.go @@ -98,6 +98,8 @@ func TestToBoolean(t *testing.T) { //is(toValue(newObject()), true) is(UndefinedValue(), false) is(NullValue(), false) + is([]uint16{}, false) + is([]uint16{0x68, 0x65, 0x6c, 0x6c, 0x6f}, true) }) }