js-wasm
This project wants to be a simple, easy to learn, technology-agnostic way to call JavaScript from WebAssembly.
Use any WebAssembly programming language out of the box:
See a demo of it working!
How It Works
Load WebAssembly like JavaScript.
...
Create JavaScript functions and invoke them
Rust:
[]
= "0.2"
let fn_log = register_function;
let msg = "Hello World!";
fn_log.invoke_2;
C/C++:
= ;
;
JSFunction fnLog
In your JS function context this
contains several functions handle most issues you'll encounter
readUtf8FromMemory(start,length)
- Extract utf-8 text from your program's memory.writeUtf8ToMemory(start,str)
- Write utf-8 to a memory location you are sure it should go.readCStringFromMemory(start,length)
- Extract C string text from your program's memory.writeCStringToMemory(start,str)
- Write C string to a memory location you are sure it should go.readUint8ArrayFromMemory(start)
- Read a list of uint8 from a pointer to a location of a number of elements, followed by a pointer to bytes in memory.storeObject(object)
- Store an object in your context for later reference, get a handle you can give to WebAssembly.getObject(handle)
- Retreive and object from your context with a handle.releaseObject(handle)
- Release a stored object so it's memory can be freed.module
- Get access to your program so you can call methods on it.