{"version":3,"sources":["sw-installer.ts"],"sourcesContent":["// deno-lint-ignore-file no-namespace\n\nimport { logger } from \"../utils/global-values.ts\";\n\n// TODO: remove\nexport namespace ServiceWorker {\n\n\tlet activated = false;\n\n\texport async function register (path:string|URL) {\n\t\tif ('serviceWorker' in navigator) {\n\t\t\tconst has_registration = (await navigator.serviceWorker.getRegistrations()).length;\n\t\t\tif (has_registration) {\n\t\t\t\tlogger.debug(\"Service Worker already registered\");\n\t\t\t\treturn; // already registered\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait navigator.serviceWorker.register(path);\n\t\t\t\tlogger.success(\"Service Worker registered\");\n\t\t\t\tactivated = true;\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\tlogger.error(\"Error installing Service Worker: ?\"+  e)\n\t\t\t}\n\t\t}\n\t\telse logger.error(\"Could not register Service Worker\")\n\t}\n\t\n\n\tasync function sendMessage(message:unknown){\n\t\tif (!activated) return false;\n\t\tconst registration = await navigator.serviceWorker.ready;\n\t\tregistration.active?.postMessage(message);\n\t\treturn true;\n\t}\n\n\texport async function clearCache(){\n\t\tfor (const registration of await navigator.serviceWorker.getRegistrations()) {\n            registration.unregister()\n        }\n\t\t// return sendMessage({type:\"clear_cache\"})\n\t}\n}"],"names":["logger","ServiceWorker","register","path","navigator","serviceWorker","getRegistrations","length","debug","success","e","error","clearCache","registration","unregister"],"mappings":"AAEA,SAASA,MAAM,QAAQ,4BAA4B;;UAGlCC;IAIT,eAAeC,SAAUC,IAAe;QAC9C,IAAI,mBAAmBC,WAAW;YAEjC,IADyB,AAAC,CAAA,MAAMA,UAAUC,aAAa,CAACC,gBAAgB,EAAC,EAAGC,MAAM,EAC5D;gBACrBP,OAAOQ,KAAK,CAAC;gBACb;YACD;YACA,IAAI;gBACH,MAAMJ,UAAUC,aAAa,CAACH,QAAQ,CAACC,OACvCH,OAAOS,OAAO,CAAC;YAEhB,EACA,OAAOC,GAAG;gBACTV,OAAOW,KAAK,CAAC,uCAAuCD;YACrD;QACD,OACKV,OAAOW,KAAK,CAAC;IACnB;IAUO,eAAeC;QACrB,KAAK,IAAMC,gBAAgB,CAAA,MAAMT,UAAUC,aAAa,CAACC,gBAAgB,EAAC,EAChEO,aAAaC,UAAU;IAGlC;kBAhCsBZ,WAAAA,wBA2BAU,aAAAA;AAMvB,EArCiBX,kBAAAA","sourceRoot":"/lib/uix-0.4.39/src/sw/","file":"sw-installer.ts"}