const f1 = x => x + 1; const f2 = x => x - 1; const configureStorage = async ({ navigator, err }) => { const persistent = await navigator.storage?.persist?.(); if (persistent === undefined) { err(`Persistent storage is not supported.`); return; } if (!persistent) { err(`Persistent storage is not enabled.`); return; } }; const registerServiceWorker = async ({ serviceWorkerPath, navigator, err }) => { // FIXME: add explanation for permission before requesting it. try { await navigator.serviceWorker?.register(serviceWorkerPath) } catch (e) { err(`Service worker registration failed: ${e}`); } }; export const main = async ({ serviceWorkerPath = "./service-worker.js", mknavigator = () => navigator, out = console.log, err = console.warn, } = {}) => { const env = { serviceWorkerPath, out, err, navigator: mknavigator(), }; await registerServiceWorker(env); };