mirror of
https://github.com/denoland/deno.git
synced 2024-11-22 04:51:22 +00:00
Send protobuf
This commit is contained in:
parent
4db5a80ba3
commit
1ad8a2e088
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@ node_modules/
|
|||||||
dist/
|
dist/
|
||||||
deno
|
deno
|
||||||
assets.go
|
assets.go
|
||||||
|
msg.pb.go
|
||||||
|
36
main.go
36
main.go
@ -1,11 +1,13 @@
|
|||||||
// To test: make && ./out/render test_input.js
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
//go:generate protoc --go_out=. msg.proto
|
||||||
//go:generate ./node_modules/.bin/parcel build --out-dir=dist/ --no-minify main.ts
|
//go:generate ./node_modules/.bin/parcel build --out-dir=dist/ --no-minify main.ts
|
||||||
//go:generate go-bindata -pkg $GOPACKAGE -o assets.go dist/
|
//go:generate go-bindata -pkg $GOPACKAGE -o assets.go dist/
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/golang/protobuf/proto"
|
||||||
"github.com/ry/v8worker2"
|
"github.com/ry/v8worker2"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
func recv(msg []byte) []byte {
|
func recv(msg []byte) []byte {
|
||||||
@ -13,20 +15,32 @@ func recv(msg []byte) []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func loadAsset(w *v8worker2.Worker, path string) {
|
||||||
indexFn := "dist/main.js"
|
data, err := Asset(path)
|
||||||
data, err := Asset(indexFn)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic("asset not found")
|
panic("asset not found")
|
||||||
}
|
}
|
||||||
code := string(data)
|
err = w.Load(path, string(data))
|
||||||
|
|
||||||
worker := v8worker2.New(recv)
|
|
||||||
|
|
||||||
// Load up index.js code.
|
|
||||||
err = worker.Load(indexFn, code)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
println("Problem executing Javascript.")
|
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
worker := v8worker2.New(recv)
|
||||||
|
loadAsset(worker, "dist/main.js")
|
||||||
|
|
||||||
|
loadMsg := &Msg{
|
||||||
|
Kind: Msg_LOAD,
|
||||||
|
Argv: os.Args,
|
||||||
|
}
|
||||||
|
out, err := proto.Marshal(loadMsg)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
err = worker.SendBytes(out)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
5
main.ts
5
main.ts
@ -1,4 +1,7 @@
|
|||||||
import * as ts from "typescript";
|
import * as ts from "typescript";
|
||||||
|
|
||||||
|
V8Worker2.recv((ab: ArrayBuffer) {
|
||||||
|
V8Worker2.print("Got array buffer", ab.byteLength);
|
||||||
|
});
|
||||||
|
|
||||||
V8Worker2.print("Hello World");
|
V8Worker2.print("Hello");
|
||||||
|
Loading…
Reference in New Issue
Block a user