/// import { initDb } from '../db'; import { cancelWatch, getAndWatch } from '../db/change-handler'; import { putNewGpx, existsGpx, pruneAndSaveImportedGpx, getGpx, putGpx, appendTrk, getAllGpxes, getAllGpxesWithSummary, } from '../db/gpx'; import { getState, setState } from '../db/state'; import { getTrk, putNewTrk } from '../db/trk'; import { getTrkseg, appendTrkpt } from '../db/trkseg'; import { getWpt, putWpt } from '../db/wpt'; //const self = globalThis as unknown as WorkerGlobalScope; console.log({ caller: 'dispatcher-worker' }); onmessage = async function (e) { const actions = { initDb, putNewGpx, putNewTrk, existsGpx, pruneAndSaveImportedGpx, getAllGpxes, getAllGpxesWithSummary, getGpx, putGpx, appendTrk, getTrk, getTrkseg, appendTrkpt, getWpt, putWpt, getState, setState, getAndWatch, cancelWatch, }; console.log({ caller: 'dispatcher-worker / onmessage', e }); const { id, payload } = e.data; var returnValue: any = 'unknownAction'; if (payload.action in actions) { console.log({ caller: 'dispatcher-worker / awaiting', id, payload }); returnValue = await actions[payload.action]({ ...payload.params, _dispatchId: id, }); } postMessage({ id: id, payload: returnValue }); console.log({ caller: 'dispatcher-worker / response sent', id, returnValue }); }; export const returnAgain = (id: number, returnValue: any) => { console.log({ caller: 'dispatcher-worker / returnAgain', id, returnValue }); postMessage({ id: id, payload: returnValue }); }; //export default self;