File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -286,7 +286,7 @@ func (self *JSRE) loadScript(call otto.FunctionCall) otto.Value {
286
286
// uses the "prettyPrint" JS function to format a value
287
287
func (self * JSRE ) PrettyPrint (v interface {}) (val otto.Value , err error ) {
288
288
var method otto.Value
289
- v , err = self .vm . ToValue (v )
289
+ v , err = self .ToValue (v )
290
290
if err != nil {
291
291
return
292
292
}
@@ -297,8 +297,23 @@ func (self *JSRE) PrettyPrint(v interface{}) (val otto.Value, err error) {
297
297
return method .Call (method , v )
298
298
}
299
299
300
- // creates an otto value from a go type
300
+ // creates an otto value from a go type (serialized version)
301
+ func (self * JSRE ) ToValue (v interface {}) (otto.Value , error ) {
302
+ done := make (chan bool )
303
+ req := & evalReq {
304
+ fn : func (res * evalResult ) {
305
+ res .result , res .err = self .vm .ToValue (v )
306
+ },
307
+ done : done ,
308
+ }
309
+ self .evalQueue <- req
310
+ <- done
311
+ return req .res .result , req .res .err
312
+ }
313
+
314
+ // creates an otto value from a go type (non-serialized version)
301
315
func (self * JSRE ) ToVal (v interface {}) otto.Value {
316
+
302
317
result , err := self .vm .ToValue (v )
303
318
if err != nil {
304
319
fmt .Println ("Value unknown:" , err )
You can’t perform that action at this time.
0 commit comments