chore: convert sw.js to typescript
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import INDEX_HTML from "../index.html";
|
||||
|
||||
import { SWReplay } from "@webrecorder/wabac/src/swmain";
|
||||
|
||||
import { WorkerLoader } from "@webrecorder/wabac/src/loaders";
|
||||
|
||||
type Self = Window &
|
||||
typeof globalThis & {
|
||||
registration: { scope: string };
|
||||
sw: SWReplay;
|
||||
};
|
||||
|
||||
if ((self as Self).registration) {
|
||||
const staticData = new Map();
|
||||
|
||||
const prefix = (self as Self).registration.scope;
|
||||
|
||||
staticData.set(prefix, { type: "text/html", content: INDEX_HTML });
|
||||
staticData.set(prefix + "index.html", {
|
||||
type: "text/html",
|
||||
content: INDEX_HTML,
|
||||
});
|
||||
|
||||
const sp = new URLSearchParams(self.location.search);
|
||||
|
||||
const defaultConfig: { injectScripts?: string[] } = {};
|
||||
|
||||
if (sp.get("ruffle") == "1") {
|
||||
defaultConfig.injectScripts = ["ruffle/ruffle.js"];
|
||||
}
|
||||
|
||||
(self as Self).sw = new SWReplay({ staticData, defaultConfig });
|
||||
} else {
|
||||
new WorkerLoader(self);
|
||||
}
|
||||
Reference in New Issue
Block a user