var wwParams;
function startWasmWorker(props) {
#if RUNTIME_DEBUG
dbg('startWasmWorker', props);
#endif
wwParams = props;
wasmMemory = props.wasmMemory;
updateMemoryViews();
#if MINIMAL_RUNTIME
Module ||= {};
Module['wasm'] = props.wasm;
loadModule()
#else
wasmModule = props.wasm;
#if MODULARIZE == 'instance'
init();
#else
createWasm();
run();
#endif
#endif
props.wasm = props.wasmMemory = 0;
}
#if AUDIO_WORKLET
if (ENVIRONMENT_IS_WASM_WORKER && !ENVIRONMENT_IS_AUDIO_WORKLET) {
#else
if (ENVIRONMENT_IS_WASM_WORKER) {
#endif
#if RUNTIME_DEBUG
dbg('wasm worker starting ...');
#endif
#if ENVIRONMENT_MAY_BE_NODE
if (ENVIRONMENT_IS_NODE) {
var wrappedHandlers = new WeakMap();
globalThis.onmessage = null;
function wrapMsgHandler(h) {
var f = wrappedHandlers.get(h)
if (!f) {
f = (msg) => h({data: msg});
wrappedHandlers.set(h, f);
}
return f;
}
Object.assign(globalThis, {
addEventListener: (name, handler) => parentPort['on'](name, wrapMsgHandler(handler)),
removeEventListener: (name, handler) => parentPort['off'](name, wrapMsgHandler(handler)),
});
}
#endif
onmessage = (d) => {
onmessage = null;
#if RUNTIME_DEBUG
dbg('wasm worker initial onmessage');
#endif
startWasmWorker(d.data);
}
}