UNPKG

wat-instantiate

Version:
29 lines (22 loc) 835 B
const wabt = require("wabt")(); const WatInstantiate = function (wat_src, callback, importObject = null, exportObject = null ) { const wasmModule = wabt.parseWat("", wat_src); wasmModule.validate(); const binary_result = wasmModule.toBinary({}).buffer; (async () => { let obj; if( importObject != null ) { obj = await WebAssembly.instantiate( new Uint8Array(binary_result), importObject ); } else { obj = await WebAssembly.instantiate( new Uint8Array(binary_result) ); } if( exportObject != null ) { for( var key in obj.instance.exports ) { exportObject[key] = obj.instance.exports[key]; } } callback(); })(); } module.exports = WatInstantiate;