viewof worker = {
var dom = html`<div>👔 Worker loading..`;
var sqljs_wasm = await FileAttachment("sql-wasm.wasm").url();
var sqljs_js_text = await FileAttachment("worker.sql-wasm.js").text();
sqljs_js_text = sqljs_js_text.replace(
"'undefined' ? moduleConfig : {};",
`'undefined' ? moduleConfig : {locateFile: filename => "${sqljs_wasm}"};`
);
var blob = new Blob([sqljs_js_text], { type: 'application/javascript' });
var url_obj = URL.createObjectURL(blob);
var worker = new Worker(url_obj);
worker.onerror = () => {
dom.innerHTML = "⛑️ Failed";
dom.value = null;
dom.dispatchEvent(new CustomEvent("input"));
};
worker.onmessage = event => {
dom.innerHTML = "🕶️ DB Loaded to worker";
dom.value = worker;
dom.dispatchEvent(new CustomEvent("input"));
};
worker.postMessage({
action: "open",
buffer: db
});
return dom;
}