import Builder from '../Builder.js' import * as assert from '../assert.js' const b = new Builder(); b.Type().End() .Function().End() .Memory().InitialMaxPages(1, 1).End() .Export().Function("foo").End() .Code() .Function("foo", { params: ["i32", "i32"], ret: "i32" }) .GetLocal(1) .GetLocal(0) .I32Store(2, 0) .GetLocal(1) .I32Load8S(0, 0) .Return() .End() .End() const bin = b.WebAssembly().get(); const foo = (new WebAssembly.Instance(new WebAssembly.Module(bin))).exports.foo; assert.eq(foo(0, 10), 0); assert.eq(foo(100, 112), 100); assert.eq(foo(1000000, 10), 0x40);