blob: 5a68d567d5c9717e1c659141e3d9af8272833262 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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);
};
|