29 lines
868 B
TypeScript
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();
|
||
|
}
|
||
|
}
|