js-runtime: Add constructor calling capability (new operator on Js types)

This commit is contained in:
iddev5 2022-07-07 18:33:29 +05:30 committed by Stephen Gutekanst
parent 97e5c57bc8
commit 7ceb30bdf1
2 changed files with 25 additions and 0 deletions

View file

@ -308,6 +308,17 @@ const zig = {
zig.functionCall(values[id], undefined, args, args_len, ret_ptr);
},
zigConstructType(id, args, args_len, ret_ptr) {
let memory = new MemoryBlock(zig.wasm.exports.memory.buffer);
let argv = [];
for (let i = 0; i < args_len; i += 1) {
argv.push(zig.readObject(memory.slice(args + i * 16), memory));
}
const result = zig.addValue(new values[id](argv));
zig.writeObject(memory.slice(ret_ptr), result, 0);
},
wzLogWrite(str, len) {
let memory = new MemoryBlock(zig.wasm.exports.memory.buffer);
log_buf += memory.getString(str, len);