19 lines
654 B
JavaScript
19 lines
654 B
JavaScript
self.addEventListener('install', e => e.waitUntil(skipWaiting()));
|
|
self.addEventListener('activate', e => e.waitUntil(clients.claim()));
|
|
|
|
self.addEventListener('message', async e => {
|
|
const method = e.data;
|
|
|
|
const promise = method === 'subscribe' ?
|
|
self.registration.pushManager.subscribe({userVisibleOnly: true}) :
|
|
Promise.resolve();
|
|
const message = await promise
|
|
.then(() => {
|
|
return `${method}: Unexpectedly started`;
|
|
})
|
|
.catch((e) => {
|
|
return e.message;
|
|
});
|
|
|
|
e.source.postMessage(message);
|
|
});
|