-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathserviceWorker.min.js
1 lines (1 loc) · 1.08 KB
/
serviceWorker.min.js
1
"use strict";function isFunction(n){return n&&"[object Function]"==={}.toString.call(n)}function runFunctionString(n){if(n.trim().length>0){var i=new Function(n);isFunction(i)&&i()}}self.addEventListener("message",function(n){self.client=n.source}),self.onnotificationclose=function(n){runFunctionString(n.notification.data.onClose),self.client.postMessage(JSON.stringify({id:n.notification.data.id,action:"close"}))},self.onnotificationclick=function(n){var i,t,o;void 0!==n.notification.data.link&&null!==n.notification.data.link&&(t=n.notification.data.origin,i=n.notification.data.link,o=t.substring(0,t.indexOf("/",8))+"/","/"===i[0]&&(i=i.length>1?i.substring(1,i.length):""),n.notification.close(),n.waitUntil(clients.matchAll({type:"window"}).then(function(n){for(var t,c,e=0;e<n.length;e++)if(t=n[e],"/"!==(c=o+i)[c.length-1]&&"/"===t.url[t.url.length-1]&&(c+="/"),t.url===c&&"focus"in t)return t.focus();if(clients.openWindow)return clients.openWindow("/"+i)}).catch(function(n){throw new Error("A ServiceWorker error occurred: "+n.message)}))),runFunctionString(n.notification.data.onClick)};