import * as plugins from './lele-serviceworker.plugins.js'; import { LosslessServiceworker } from './lele-serviceworker.classes.serviceworker.js'; export class GlobalSW { losslessSw: LosslessServiceworker; constructor(losslessServiceWorkerInstanceArg: LosslessServiceworker) { this.losslessSw = losslessServiceWorkerInstanceArg; globalThis.globalSw = this; }; /** * purges the cache of the app's serviceworker * @returns */ public async purgeCache() { await this.losslessSw.actionManager.waitForServiceWorkerConnection(); console.log(`purgeCache() was executed via globalThis.globalSw`); const result = await this.losslessSw.actionManager.purgeServiceWorkerCache(); return result; } /** * attempts to reload the app */ public async reloadApp() { await this.purgeCache(); window.location.reload(); } }