Initial commit
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
commit
fc6fc03dbc
10 changed files with 714 additions and 0 deletions
15
cmd/server/main.go
Normal file
15
cmd/server/main.go
Normal file
|
@ -0,0 +1,15 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("listening on http://localhost:9090/")
|
||||
err := http.ListenAndServe(":9090", http.FileServer(http.Dir("./assets")))
|
||||
if err != nil {
|
||||
fmt.Println("Failed to start server", err)
|
||||
return
|
||||
}
|
||||
}
|
46
cmd/wasm/main.go
Normal file
46
cmd/wasm/main.go
Normal file
|
@ -0,0 +1,46 @@
|
|||
//go:build js && wasm
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"syscall/js"
|
||||
)
|
||||
|
||||
func main() {
|
||||
js.Global().Set("formatJSON", jsonWrapper())
|
||||
fmt.Println("loaded golang wasm")
|
||||
<-make(chan struct{})
|
||||
}
|
||||
|
||||
func prettyJson(input string) (string, error) {
|
||||
var raw any
|
||||
if err := json.Unmarshal([]byte(input), &raw); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
pretty, err := json.MarshalIndent(raw, "", " ")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return string(pretty), nil
|
||||
}
|
||||
|
||||
func jsonWrapper() js.Func {
|
||||
jsonFunc := js.FuncOf(func(this js.Value, args []js.Value) any {
|
||||
if len(args) != 1 {
|
||||
return "Invalid no of arguments passed"
|
||||
}
|
||||
inputJSON := args[0].String()
|
||||
fmt.Printf("input %s\n", inputJSON)
|
||||
pretty, err := prettyJson(inputJSON)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to convert to json %s\n", err)
|
||||
return err.Error()
|
||||
}
|
||||
return pretty
|
||||
})
|
||||
return jsonFunc
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue