d2/d2js/js.go

33 lines
788 B
Go
Raw Permalink 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-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
}