diff options
| author | Adam Soltys <[email protected]> | 2024-05-16 12:49:49 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-05-16 12:49:49 -0700 |
| commit | 448cb11644703ef11f834e1d782bcd27ec806753 (patch) | |
| tree | c00833baa1961fc021139e07ec98c772d6bac3e4 /src | |
| parent | 49c50442146714713f6c7350607be0d735991fa1 (diff) | |
| download | coinos-ui-448cb11644703ef11f834e1d782bcd27ec806753.tar.gz coinos-ui-448cb11644703ef11f834e1d782bcd27ec806753.zip | |
strip down service worker
Diffstat (limited to 'src')
| -rw-r--r-- | src/service-worker.js | 81 |
1 files changed, 3 insertions, 78 deletions
diff --git a/src/service-worker.js b/src/service-worker.js index fa236b28..51cbd1f8 100644 --- a/src/service-worker.js +++ b/src/service-worker.js @@ -1,80 +1,5 @@ -/// <reference types="@sveltejs/kit" /> import { build, files, version } from "$service-worker"; -// Create a unique cache name for this deployment -const CACHE = `cache-${version}`; - -const ASSETS = [ - ...build, // the app itself - ...files, // everything in `static` -]; - -self.addEventListener("install", (event) => { - // Create a new cache and add all files to it - async function addFilesToCache() { - const cache = await caches.open(CACHE); - await cache.addAll(ASSETS); - } - - event.waitUntil(addFilesToCache()); -}); - -self.addEventListener("activate", (event) => { - // Remove previous cached data from disk - async function deleteOldCaches() { - for (const key of await caches.keys()) { - if (key !== CACHE) await caches.delete(key); - } - } - - event.waitUntil(deleteOldCaches()); -}); - -self.addEventListener("fetch", (event) => { - // ignore POST requests etc - if (event.request.method !== "GET") return; - - async function respond() { - const url = new URL(event.request.url); - const cache = await caches.open(CACHE); - - // `build`/`files` can always be served from the cache - if (ASSETS.includes(url.pathname)) { - const response = await cache.match(url.pathname); - - if (response) { - return response; - } - } - - // for everything else, try the network first, but - // fall back to the cache if we're offline - try { - const response = await fetch(event.request); - - // if we're offline, fetch can return a value that is not a Response - // instead of throwing - and we can't pass this non-Response to respondWith - if (!(response instanceof Response)) { - throw new Error("invalid response from fetch"); - } - - if (response.status === 200) { - cache.put(event.request, response.clone()); - } - - return response; - } catch (err) { - const response = await cache.match(event.request); - - if (response) { - return response; - } - - // if there's no cache, then just error out - // as there is nothing we can do to respond to this request - throw err; - } - } - - event.respondWith(respond()); -}); +self.addEventListener("install", (event) => {}); +self.addEventListener("activate", (event) => {}); + self.addEventListener("fetch", (event) => {}); |
