// when running the harness we need to make sure to uncommon this out... export function makeLoad(url, deps, fusedImports, initIt) { let alreadyLoaded = false; return async (callbackIndex, callbackData) => { await Promise.all(deps.map((dep) => dep())); if (alreadyLoaded) return; try { const response = await fetch(url); const initSync = initIt || window.__wasm_split_main_initSync; const mainExports = initSync(undefined, undefined); let imports = { env: { memory: mainExports.memory, }, __wasm_split: { __indirect_function_table: mainExports.__indirect_function_table, __stack_pointer: mainExports.__stack_pointer, __tls_base: mainExports.__tls_base, memory: mainExports.memory, }, }; for (let mainExport in mainExports) { imports["__wasm_split"][mainExport] = mainExports[mainExport]; } for (let name in fusedImports) { imports["__wasm_split"][name] = fusedImports[name]; } let new_exports = await WebAssembly.instantiateStreaming( response, imports ); alreadyLoaded = true; for (let name in new_exports.instance.exports) { fusedImports[name] = new_exports.instance.exports[name]; } if (callbackIndex !== undefined) { mainExports.__indirect_function_table.get(callbackIndex)( callbackData, true ); } } catch (e) { console.error( "Failed to load wasm-split module", e, url, deps, fusedImports ); return; } }; } let fusedImports = {};