var workerResponded = false, workerCallbackId = -1;
(() => {
var messageBuffer = null, buffer = 0;
function flushMessages() {
if (!messageBuffer) return;
if (runtimeInitialized) {
var temp = messageBuffer;
messageBuffer = null;
temp.forEach((message) => onmessage(message));
}
}
function messageResender() {
flushMessages();
if (messageBuffer) {
setTimeout(messageResender, 100);
}
}
onmessage = (msg) => {
if (!runtimeInitialized) {
if (!messageBuffer) {
messageBuffer = [];
setTimeout(messageResender, 100);
}
messageBuffer.push(msg);
return;
}
flushMessages();
var func = Module['_' + msg.data['funcName']];
if (!func) abort('invalid worker function to call: ' + msg.data['funcName']);
var data = msg.data['data'];
if (data) {
if (!data.byteLength) data = new Uint8Array(data);
buffer = _realloc(buffer, data.length);
HEAPU8.set(data, buffer);
}
workerResponded = false;
workerCallbackId = msg.data['callbackId'];
if (data) {
func(buffer, data.length);
} else {
func(0, 0);
}
}
})();