UNPKG

diffhtml-middleware-service-worker

Version:

Helps with service workers

1 lines 1.2 kB
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e=e||self).serviceWorker=r()}(this,function(){"use strict";const r=Object["assign"],a=({quiet:r})=>caches.keys().then(e=>Promise.all(e.map(e=>caches.delete(e).then(function(){r||console.warn("diffHTML ServiceWorker: Deleted cache "+e)})))),f=({quiet:i})=>navigator.serviceWorker.getRegistrations().then(e=>{for(var r of e)r.unregister(),i||console.warn("diffHTML ServiceWorker: Unregistering worker",r)});return e=>(({url:i="/service-worker.js",autoClearCaches:o=location.search.includes("diff_autoclear"),disable:t=location.search.includes("diff_disable"),quiet:s=location.search.includes("diff_quiet"),scope:n="/",options:c={}})=>r(()=>{},{displayName:"serviceWorkerTask",subscribe(){const e=navigator["serviceWorker"];let r=Promise.resolve();o&&(r=r.then(()=>a({quiet:s}))),r=(r=t?r.then(()=>f({quiet:s})):r).then(()=>{if(!t)return e.register(i,{scope:n,...c})}),s||r.then(e=>e&&console.warn("diffHTML ServiceWorker: Registration succeeded",e)).catch(e=>e&&console.warn("diffHTML ServiceWorker: Registration failed",e))},unsubscribe(){f({quiet:s})}}))(e||{})});