Fix wasm output
This commit is contained in:
parent
2e48fbde28
commit
4a9801df5a
1 changed files with 4 additions and 9 deletions
13
wasm/wasm.go
13
wasm/wasm.go
|
|
@ -9,10 +9,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func jsError(err error) interface{} {
|
func jsError(err error) interface{} {
|
||||||
errorConstructor := js.Global().Get("Error")
|
return jsErrorOfString(err.Error())
|
||||||
errorObject := errorConstructor.New(err.Error())
|
|
||||||
|
|
||||||
return errorObject
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func jsErrorOfString(err string) interface{} {
|
func jsErrorOfString(err string) interface{} {
|
||||||
|
|
@ -25,7 +22,6 @@ func jsErrorOfString(err string) interface{} {
|
||||||
func run(this js.Value, args []js.Value) interface{} {
|
func run(this js.Value, args []js.Value) interface{} {
|
||||||
source := args[0].String()
|
source := args[0].String()
|
||||||
outputHandler := args[1]
|
outputHandler := args[1]
|
||||||
doRun := args[2]
|
|
||||||
log.Printf("got source: %s", source)
|
log.Printf("got source: %s", source)
|
||||||
|
|
||||||
lexer := core.NewLexer(source)
|
lexer := core.NewLexer(source)
|
||||||
|
|
@ -61,7 +57,7 @@ func run(this js.Value, args []js.Value) interface{} {
|
||||||
Parameters: []string{"value"},
|
Parameters: []string{"value"},
|
||||||
F: func(v map[string]core.Value) core.Value {
|
F: func(v map[string]core.Value) core.Value {
|
||||||
log.Printf("Writing value: %s", v["value"].String())
|
log.Printf("Writing value: %s", v["value"].String())
|
||||||
outputHandler.Invoke(js.ValueOf(v["value"].String()))
|
outputHandler.Invoke(js.ValueOf(v["value"].String() + "\n"))
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
@ -70,13 +66,12 @@ func run(this js.Value, args []js.Value) interface{} {
|
||||||
Parameters: []string{"value"},
|
Parameters: []string{"value"},
|
||||||
F: func(v map[string]core.Value) core.Value {
|
F: func(v map[string]core.Value) core.Value {
|
||||||
log.Printf("Printing value: %s", v["value"].String())
|
log.Printf("Printing value: %s", v["value"].String())
|
||||||
outputHandler.Invoke(js.ValueOf(v["value"].String() + "\n"))
|
outputHandler.Invoke(js.ValueOf(v["value"].String()))
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
for doRun.Invoke().Bool() && vm.HasNext() {
|
for vm.HasNext() && vm.Next() {
|
||||||
vm.Next()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Finished executing")
|
log.Println("Finished executing")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue