WASM Client

/app/wasm/wasm.go (786 B)

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// $PF_GENERATE_ONCE$
//go:build js
// +build js

package wasm

import (
"time"

"{{{ .Package }}}/app/lib/log"
"{{{ .Package }}}/app/util"
)

type WASM struct {
logger util.Logger
closeCh chan struct{}
}

func NewWASM() (*WASM, error) {
ret := &WASM{CloseCh: make(chan struct{})}

logFn := func(level string, occurred time.Time, loggerName string, message string, caller util.ValueMap, stack string, fields util.ValueMap) {
ret.Log(level, occurred, loggerName, message, caller, stack, fields)
}
l, err := log.InitLogging(true, logFn)
if err != nil {
return nil, err
}
ret.logger = l

t := util.TimerStart()
ret.wireFunctions()
l.Infof("[%s] started in [%s]", util.AppName, t.EndString())

return ret, nil
}

func (w *WASM) Run() error {
<-w.closeCh
return nil
}