Files
mail-front/sw.js

53 lines
1.9 KiB
JavaScript

if (!self.define) {
let currentScriptUrl;
const registry = {};
const loadModule = (moduleName, baseUrl) => (
moduleName = new URL(`${moduleName}.js`, baseUrl).href,
registry[moduleName] || new Promise((resolve) => {
if ("document" in self) {
const script = document.createElement("script");
script.src = moduleName;
script.onload = resolve;
document.head.appendChild(script);
} else {
currentScriptUrl = moduleName;
importScripts(moduleName);
currentScriptUrl = undefined;
resolve();
}
}).then(() => {
const module = registry[moduleName];
if (!module) throw new Error(`Module ${moduleName} didn't register its module`);
return module;
})
);
self.define = (dependencies, factory) => {
const moduleUrl = currentScriptUrl || ("document" in self ? document.currentScript.src : "") || location.href;
if (registry[moduleUrl]) return;
const exports = {};
const require = (moduleName) => loadModule(moduleName, moduleUrl);
const module = { module: { uri: moduleUrl }, exports, require };
registry[moduleUrl] = Promise.all(dependencies.map((dependency) => module[dependency] || require(dependency)))
.then((resolvedDependencies) => {
factory(...resolvedDependencies);
return exports;
});
};
}
define(["./workbox-0f8a451b"], function (workbox) {
"use strict";
self.addEventListener("message", (event) => {
if (event.data && event.data.type === "SKIP_WAITING") self.skipWaiting();
});
workbox.precacheAndRoute([
{ url: "favicon.ico", revision: "006d965d6cd776fde2178cf134e64b52" },
{ url: "logo.png", revision: "6acd34212a0a29dd613205a15c6d1d58" },
{ url: "logo.svg", revision: "7790e9db89655f18d978f9cfec947e78" },
{ url: "manifest.webmanifest", revision: "25ff3fcbdc53ecf9f19ab969b6d5f2b4" }
], {});
workbox.cleanupOutdatedCaches();
self.__WB_DISABLE_DEV_LOGS = true;
});