2022-11-07 10:44:35 +00:00
|
|
|
import { initDb } from '../db';
|
|
|
|
|
2022-11-06 16:53:01 +00:00
|
|
|
const self = globalThis as unknown as SharedWorkerGlobalScope;
|
|
|
|
|
2022-11-07 10:44:35 +00:00
|
|
|
const actions = { initDb };
|
|
|
|
|
2022-11-06 16:53:01 +00:00
|
|
|
self.onconnect = function (e) {
|
|
|
|
var port = e.ports[0];
|
|
|
|
|
2022-11-07 10:44:35 +00:00
|
|
|
port.onmessage = async function (e) {
|
|
|
|
console.log(`Worker received ${JSON.stringify(e.data)}`);
|
2022-11-06 16:53:01 +00:00
|
|
|
const { id, payload } = e.data;
|
2022-11-07 10:44:35 +00:00
|
|
|
console.log(`payload.action in actions: ${payload.action in actions}`);
|
|
|
|
var returnValue: any = 'unknownAction';
|
|
|
|
if (payload.action in actions) {
|
|
|
|
returnValue = await actions[<keyof typeof actions>payload.action](
|
|
|
|
payload.params
|
|
|
|
);
|
|
|
|
}
|
|
|
|
port.postMessage({ id: id, payload: returnValue });
|
2022-11-06 16:53:01 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export default self;
|