d2/d2js/js.go

30 lines
645 B
Go
Raw Normal View History

2024-12-21 01:08:19 +00:00
//go:build js && wasm
2023-04-03 20:40:40 +00:00
package main
import (
"syscall/js"
2024-12-21 01:08:19 +00:00
"oss.terrastruct.com/d2/d2js/d2wasm"
2023-04-03 20:40:40 +00:00
)
func main() {
2024-12-21 01:08:19 +00:00
api := d2wasm.NewD2API()
2023-04-03 20:40:40 +00:00
2024-12-21 01:08:19 +00:00
api.Register("getParentID", d2wasm.GetParentID)
api.Register("getObjOrder", d2wasm.GetObjOrder)
api.Register("getRefRanges", d2wasm.GetRefRanges)
api.Register("compile", d2wasm.Compile)
api.Register("getBoardAtPosition", d2wasm.GetBoardAtPosition)
api.Register("encode", d2wasm.Encode)
api.Register("decode", d2wasm.Decode)
api.Register("version", d2wasm.GetVersion)
2024-09-04 18:20:16 +00:00
2024-12-21 01:08:19 +00:00
api.ExportTo(js.Global())
2024-11-13 19:17:49 +00:00
2024-12-21 01:08:19 +00:00
if cb := js.Global().Get("onWasmInitialized"); !cb.IsUndefined() {
cb.Invoke()
2024-11-13 19:17:49 +00:00
}
2024-12-21 01:08:19 +00:00
select {}
2024-11-13 19:17:49 +00:00
}