|
@@ -799,7 +799,7 @@ reflect based types.
|
|
func (r *Runtime) ToValue(i interface{}) Value {
|
|
func (r *Runtime) ToValue(i interface{}) Value {
|
|
switch i := i.(type) {
|
|
switch i := i.(type) {
|
|
case nil:
|
|
case nil:
|
|
- return _undefined
|
|
|
|
|
|
+ return _null
|
|
case Value:
|
|
case Value:
|
|
// TODO: prevent importing Objects from a different runtime
|
|
// TODO: prevent importing Objects from a different runtime
|
|
return i
|
|
return i
|
|
@@ -884,6 +884,10 @@ func (r *Runtime) ToValue(i interface{}) Value {
|
|
value = reflect.Indirect(value)
|
|
value = reflect.Indirect(value)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if !value.IsValid() {
|
|
|
|
+ return _null
|
|
|
|
+ }
|
|
|
|
+
|
|
switch value.Kind() {
|
|
switch value.Kind() {
|
|
case reflect.Map:
|
|
case reflect.Map:
|
|
if value.Type().Name() == "" {
|
|
if value.Type().Name() == "" {
|