1.1.3 • Published 1 year ago

@mdn/watify v1.1.3

Weekly downloads
-
License
MPL-2.0
Repository
github
Last release
1 year ago

Watify

Compile WAT to WASM with WASM 🙇

Usage

For local testing, build the package, then server the project root by running an http server. THe index.html file has this example. The output can be seen in the browser's console.

import init, { watify } from "watify";
const w = `
(module
  (func $fac (export "fac") (param $x i64) (result i64)
    (return_call $fac-aux (local.get $x) (i64.const 1))
  )

  (func $fac-aux (param $x i64) (param $r i64) (result i64)
    (if (result i64) (i64.eqz (local.get $x))
      (then (return (local.get $r)))
      (else
        (return_call $fac-aux
          (i64.sub (local.get $x) (i64.const 1))
          (i64.mul (local.get $x) (local.get $r))
        )
      )
    )
  )
)`;
init().then(() => {
  const wasm = watify(w);
  console.log(wasm);
  WebAssembly.instantiate(wasm, {}).then((result) => {
    const fac = result.instance.exports.fac;
    console.log(fac(5n));
  });
});
1.1.3

1 year ago

1.1.2

1 year ago

1.0.1

1 year ago