2022-11-26 18:36:55 +00:00
|
|
|
/// <reference lib="webworker" />
|
|
|
|
import { initDb } from '../db';
|
|
|
|
import {
|
|
|
|
putNewGpx,
|
|
|
|
existsGpx,
|
|
|
|
pruneAndSaveImportedGpx,
|
|
|
|
getGpxesForViewport,
|
|
|
|
getGpx,
|
2022-11-27 13:32:21 +00:00
|
|
|
getAllGpxes,
|
2022-11-26 18:36:55 +00:00
|
|
|
} from '../db/gpx';
|
|
|
|
import { getTrk, putNewTrk } from '../db/trk';
|
|
|
|
import { getTrkseg } from '../db/trkseg';
|
|
|
|
|
2022-11-27 13:32:21 +00:00
|
|
|
//const self = globalThis as unknown as WorkerGlobalScope;
|
2022-11-26 18:36:55 +00:00
|
|
|
|
|
|
|
const actions = {
|
|
|
|
initDb,
|
|
|
|
putNewGpx,
|
|
|
|
putNewTrk,
|
|
|
|
existsGpx,
|
|
|
|
pruneAndSaveImportedGpx,
|
2022-11-27 13:32:21 +00:00
|
|
|
getAllGpxes,
|
2022-11-26 18:36:55 +00:00
|
|
|
getGpxesForViewport,
|
|
|
|
getGpx,
|
|
|
|
getTrk,
|
|
|
|
getTrkseg,
|
|
|
|
};
|
|
|
|
|
|
|
|
console.log({ caller: 'dispatcher-worker', actions });
|
|
|
|
|
|
|
|
onmessage = async function (e) {
|
|
|
|
console.log({ caller: 'dispatcher-worker / onmessage', e });
|
|
|
|
const { id, payload } = e.data;
|
|
|
|
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
|
|
|
|
);
|
|
|
|
}
|
|
|
|
postMessage({ id: id, payload: returnValue });
|
|
|
|
};
|
|
|
|
|
|
|
|
//export default self;
|