aboutsummaryrefslogtreecommitdiffstats
path: root/src/worker/sw.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/worker/sw.ts')
-rw-r--r--src/worker/sw.ts51
1 files changed, 0 insertions, 51 deletions
diff --git a/src/worker/sw.ts b/src/worker/sw.ts
deleted file mode 100644
index e125879..0000000
--- a/src/worker/sw.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-declare var self: ServiceWorkerGlobalScope;
-export {};
-
-
-const sw_cache = {
- offline: "/offline",
- default: [
- "/index.js",
- "/index.css",
- "/app.webmanifest",
- "/favicon.svg"
- ],
- store: "app",
-}
-
-async function install() {
- const cache = await self.caches.open(sw_cache.store)
- return cache.addAll([sw_cache.offline, ...sw_cache.default])
-}
-
-async function activate() {
- const keys = await self.caches.keys()
- return Promise.all(keys.map(key => {
- return key !== sw_cache.store ? self.caches.delete(key) : undefined
- }))
-}
-
-async function req(event: FetchEvent) {
- const cache = await caches.open(sw_cache.store)
- const cachedResponse = await cache.match(event.request)
- var networkResponse
- try {
- networkResponse = await fetch(event.request)
- if (networkResponse.ok) {
- cache.put(event.request, networkResponse.clone())
- }
- } catch(error) {
- console.error(error)
- if (event.request.mode === "navigate") {
- networkResponse = await caches.match("/offline")
- }
- }
- return (cachedResponse || networkResponse) as Response
-
-}
-
-self.addEventListener("install", event => event.waitUntil(install()))
-
-self.addEventListener("activate", event => event.waitUntil(activate()))
-
-self.addEventListener("fetch", event => event.respondWith(req(event)))