Files
deno_tests/deno_wasm_qr/parse_qr.ts
2020-05-24 22:19:28 +08:00

17 lines
774 B
TypeScript

const wasmCode = await Deno.readFile("./decodeqr/target/wasm32-unknown-unknown/release/decodeqr.wasm");
const wasmModule = new WebAssembly.Module(wasmCode);
const wasmInstance = new WebAssembly.Instance(wasmModule);
const linearMemory = wasmInstance.exports.memory;
// from https://tilman.xyz/blog/2019/12/building-webassembly-for-deno/
function readString(memory, ptr) {
const mem = new Uint8Array(memory.buffer, ptr);
let length;
for (length = 0; mem[length] !== 0; length ++);
return new TextDecoder("utf-8").decode(new Uint8Array(mem.buffer, ptr, length));
}
console.log("DECODED:\n" + readString(linearMemory, wasmInstance.exports.parse_default_qr()));
console.log("DECODED:\n" + readString(linearMemory, wasmInstance.exports.parse_default_qr_2()));