2025-04-28 10:23:05 -04:00
|
|
|
/// <reference types="@sveltejs/kit" />
|
|
|
|
|
/// <reference no-default-lib="true"/>
|
|
|
|
|
/// <reference lib="esnext" />
|
|
|
|
|
/// <reference lib="webworker" />
|
2025-06-12 19:33:29 -04:00
|
|
|
import { installBroadcastChannelListener } from './broadcast-channel';
|
2025-06-17 13:07:54 -04:00
|
|
|
import { deleteOldCaches, handleFetchEvent } from './fetch-event';
|
2025-04-28 10:23:05 -04:00
|
|
|
|
|
|
|
|
const sw = globalThis as unknown as ServiceWorkerGlobalScope;
|
|
|
|
|
|
2025-06-12 19:33:29 -04:00
|
|
|
const handleActivate = (event: ExtendableEvent) => {
|
2025-04-28 10:23:05 -04:00
|
|
|
event.waitUntil(sw.clients.claim());
|
|
|
|
|
event.waitUntil(deleteOldCaches());
|
2025-06-12 19:33:29 -04:00
|
|
|
};
|
2025-04-28 10:23:05 -04:00
|
|
|
|
2025-06-12 19:33:29 -04:00
|
|
|
const handleInstall = (event: ExtendableEvent) => {
|
|
|
|
|
event.waitUntil(sw.skipWaiting());
|
2025-04-28 10:23:05 -04:00
|
|
|
};
|
2025-06-12 19:33:29 -04:00
|
|
|
|
2025-06-16 11:03:23 -04:00
|
|
|
sw.addEventListener('install', handleInstall, { passive: true });
|
|
|
|
|
sw.addEventListener('activate', handleActivate, { passive: true });
|
|
|
|
|
sw.addEventListener('fetch', handleFetchEvent, { passive: true });
|
2025-06-12 19:33:29 -04:00
|
|
|
installBroadcastChannelListener();
|