forked from cotes2020/jekyll-theme-chirpy
-
Notifications
You must be signed in to change notification settings - Fork 1
/
sw.min.js
4 lines (4 loc) · 1.2 KB
/
sw.min.js
1
2
3
4
/*!
* Chirpy v6.4.2 | © 2019 Cotes Chung | MIT Licensed | https://github.com/cotes2020/jekyll-theme-chirpy/
*/
!function(){"use strict";const e="/assets/js/data/swconf.js",t=new URL(location).searchParams,s=t.has("baseurl")?"".concat(t.get("baseurl")).concat(e):e;importScripts(s);const n=swconf.purge;function c(e){if(!function(e){for(const t of swconf.allowHosts)if(RegExp("^http(s)?://".concat(t,"/")).test(e))return!0;return!1}(e))return!1;const t=new URL(e).pathname;for(const e of swconf.denyPaths)if(t.startsWith(e))return!1;return!0}n||swconf.allowHosts.push(location.host),self.addEventListener("install",(e=>{n||e.waitUntil(caches.open(swconf.cacheName).then((e=>e.addAll(swconf.resources))))})),self.addEventListener("activate",(e=>{e.waitUntil(caches.keys().then((e=>Promise.all(e.map((e=>n||e!==swconf.cacheName?caches.delete(e):void 0))))))})),self.addEventListener("message",(e=>{"SKIP_WAITING"===e.data&&self.skipWaiting()})),self.addEventListener("fetch",(e=>{e.respondWith(caches.match(e.request).then((t=>t||fetch(e.request).then((t=>{const s=e.request.url;if(n||"GET"!==e.request.method||!c(s))return t;let a=t.clone();return caches.open(swconf.cacheName).then((t=>{t.put(e.request,a)})),t})))))}))}();