aboutsummaryrefslogtreecommitdiff
path: root/static/service-worker/worker.js
blob: ad5a374bedc97d32fd50d0a938b55a3d43336c97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const putInCache = async (request, response) => {
  const cache = await caches.open("v1");
  await cache.put(request, response);
};

const cacheFirst = async (request, event) => {
  const responseFromCache = await caches.match(request);
  if (responseFromCache) {
    return responseFromCache;
  }
  const responseFromNetwork = await fetch(request);
  event.waitUntil(putInCache(request, responseFromNetwork.clone()));
  return responseFromNetwork;
};

self.addEventListener("fetch", (event) => {
  event.respondWith(cacheFirst(event.request, event));
});