typedserver/ts_web_serviceworker_client/lele-serviceworker.classes.globalsw.ts
2024-05-11 12:51:20 +02:00

29 lines
868 B
TypeScript

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();
}
}