wasmoon
wasmoon copied to clipboard
A real lua 5.4 VM with JS bindings made with webassembly
I have noticed that, differently from Pyodide and MicroPython for WASM, where some of these utilities are hidden behind a `_module` field, I can't seem to find these commonly available...
so basically code is ```js const factory = new LuaFactory() const engine = await factory.createEngine(); const fn= await engine.doString(` return function () return '22', '33', {}; end; `); const result...
There's [a lengthy discussion in TC39](https://es.discourse.group/t/function-prototype-new/1772/) around classes instantiations and I've realized wasmoon wraps these as arrow function which can't ever be used with `new` in general, but it also...
in a normal lua environment, my understanding is that the normal way to remove a key from a hash is to set its value to nil, like this: ``` lua...
Adding arrays to the environment leads to unexpected behavior: - `table.remove` will not shift the array - Arrays have a `length` key when using `pairs`, however `ipairs` does not have...
 Clone repo locally. build with instruction. run test multiple times. OS: win11
**Problem** Failed to initialize LuaFactory in Vercel with custom wasm file path. **Demo code** ```ts // This way we could load the wasm file in Vercel production environment. const luaWasmFile...
I use coroutine.create(func) create one coroutine, using :await() in func, when JS promise is resolved,but in coroutine' await() not return; my code is: function LedFlashFunc() local isOn = true while...
Hi, I am trying to pass \0 values through the interop layer e.g. I want to call a javascript method with an string argument. The string should act as a...
-- test.lua -- ``` require 'a' function getAA() local aa = aa() return aa end ``` -- a.lua -- ``` function aa() return 'aa' end ``` -- test.js -- ```...