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-29 16:50:10 +00:00
|
|
|
api.Register("getCompletions", d2wasm.GetCompletions)
|
2024-12-21 01:08:19 +00:00
|
|
|
api.Register("getParentID", d2wasm.GetParentID)
|
|
|
|
|
api.Register("getObjOrder", d2wasm.GetObjOrder)
|
|
|
|
|
api.Register("getRefRanges", d2wasm.GetRefRanges)
|
2025-01-14 18:55:48 +00:00
|
|
|
api.Register("getELKGraph", d2wasm.GetELKGraph)
|
2024-12-21 01:08:19 +00:00
|
|
|
api.Register("compile", d2wasm.Compile)
|
2024-12-29 21:19:32 +00:00
|
|
|
api.Register("render", d2wasm.Render)
|
2024-12-21 01:08:19 +00:00
|
|
|
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
|
|
|
}
|