import * as assert from '../assert.js'; import Builder from '../Builder.js'; const builder = new Builder(); builder.Type().End() .Import() .Global().I32("imp", "global", "immutable").End() .End() .Function().End() .Global().I32(5, "mutable").End() .Export() .Function("getGlobal") .End() .Code() // GetGlobal .Function("getGlobal", { params: [], ret: "i32" }) .GetGlobal(0) .End() .End() const bin = builder.WebAssembly(); bin.trim(); const module = new WebAssembly.Module(bin.get()); const instance = new WebAssembly.Instance(module, { imp: { global: 5 } }); assert.eq(instance.exports.getGlobal(), 5);