willpower232/TOTPBTF3

View on GitHub
public_html/sw.js

Summary

Maintainability
A
0 mins
Test Coverage
!function(){if(!self.document){const t="/offline",n="totpbtf3-offline-v1",r="totpbtf3-shared-v1";var e=[n,r,"totpbtf3-criticalcss-v1"];return self.addEventListener("install",function(e){e.waitUntil(fetch(new Request(new URL(t,self.location.href))).then(function(e){return caches.open(n).then(function(n){return n.put(t,e)})}))}),self.addEventListener("activate",function(t){t.waitUntil(self.caches.keys().then(function(t){return Promise.all(t.map(function(t){if(e.indexOf(t)<0)return caches.delete(t)}))}))}),void self.addEventListener("fetch",function(e){"navigate"===e.request.mode||"GET"===e.request.method&&e.request.headers.get("accept").includes("text/html")?e.respondWith(fetch(e.request).catch(function(e){return caches.match(t)})):e.respondWith(self.caches.match(e.request).then(function(t){return t||fetch(e.request).then(function(t){return t.status<400&&e.request.url.match(location.hostname)&&t.headers.has("Content-Type")&&(t.headers.get("Content-Type").match(/^image\//i)||t.headers.get("Content-Type").match(/\/css$/i)||t.headers.get("Content-Type").match(/\/javascript$/i))?self.caches.open(r).then(function(n){return n.put(e.request.url,t.clone()),t}):t})}))})}"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js")})}();