From 6d3f55bdc4b8f00e15bd25dea0f0042f937e2cd9 Mon Sep 17 00:00:00 2001 From: Niklas Fasching Date: Tue, 16 Apr 2019 17:34:31 +0200 Subject: [PATCH] Update github pages demo for go 1.12+ - go 1.12 optimizes memory allocation for wasm - see https://github.com/golang/go/issues/27462. This was causing the demo to OOM on memory restricted devices (e.g. phones). - js namespace changed so we need to adapt to that --- etc/gh-pages/_js.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/etc/gh-pages/_js.go b/etc/gh-pages/_js.go index 90cd65a..375b4cc 100644 --- a/etc/gh-pages/_js.go +++ b/etc/gh-pages/_js.go @@ -16,22 +16,23 @@ func main() { document := js.Global().Get("document") in := document.Call("getElementById", "gowen-input") out := document.Call("getElementById", "gowen-output") - js.Global().Set("gowenRun", js.NewCallback(func([]js.Value) { + js.Global().Set("gowenRun", js.FuncOf(func(js.Value, []js.Value) interface{} { nodes, err := gowen.Parse(in.Get("value").String()) if err != nil { out.Set("textContent", fmt.Sprintf("%s", err)) - return + return nil } results, err := gowen.EvalMultiple(nodes, env) if err != nil { out.Set("textContent", fmt.Sprintf("%s", err)) - return + return nil } s := "" for _, result := range results { s += pretty.Sprint(result.ToGo()) + "\n" } out.Set("textContent", s) + return nil })) <-make(chan struct{}) // stay alive