const wasmCode = await Deno.readFile(
'target/wasm32-unknown-unknown/release/wasm_basic.wasm'
)
const wasmModule = new WebAssembly.Module(wasmCode)
const wasmInstance = new WebAssembly.Instance(wasmModule)
const {
mystruct_create,
mystruct_get_cstring,
mystruct_get_cstring_len,
mystruct_set_cstring,
mystruct_destroy,
memory,
} = wasmInstance.exports
const mystruct = mystruct_create()
const strPtr = mystruct_get_cstring(mystruct)
const strLen = mystruct_get_cstring_len(mystruct)
const strArray = new Uint8Array(memory.buffer, strPtr, strLen)
const str = new TextDecoder().decode(strArray)
console.log('Current string:', str)
mystruct_destroy(mystruct)
const newStrPtr2 = mystruct_get_cstring(mystruct)
const newStrLen = mystruct_get_cstring_len(mystruct)
const newStrArray2 = new Uint8Array(memory.buffer, newStrPtr2, newStrLen)
const newStr2 = new TextDecoder().decode(newStrArray2)
console.log('New string:', newStr2)