53 lines
1.9 KiB
JavaScript
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;
|
|
});
|