23 lines
688 B
JavaScript
23 lines
688 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;
|
|
|
|
let promise;
|
|
if (method === 'setAppBadge') {
|
|
promise = self.navigator.setAppBadge(1);
|
|
} else if (method === 'clearAppBadge') {
|
|
promise = self.navigator.clearAppBadge();
|
|
} else {
|
|
promise = Promise.resolve();
|
|
}
|
|
|
|
const error = await promise
|
|
.then(() => {
|
|
return `[Badging API ${method}] Unexpectedly started`;
|
|
})
|
|
.catch((e) => e);
|
|
|
|
e.source.postMessage(error);
|
|
});
|