refactor: add handleRegisterServiceWorker fn
This commit is contained in:
parent
44b9874fbe
commit
21f577d471
|
@ -16,8 +16,23 @@ export async function registerServiceWorker(navigator: Navigator, path: string,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface HandleServiceWorkerRegistration {
|
||||||
|
getOptions: () => Options
|
||||||
|
normalize: (url: string, keepTrailing?: boolean) => string
|
||||||
|
registerServiceWorker: (navigator: Navigator, path: string, options: Options) => Promise<void>
|
||||||
|
}
|
||||||
|
|
||||||
|
export function handleServiceWorkerRegistration({
|
||||||
|
getOptions,
|
||||||
|
normalize,
|
||||||
|
registerServiceWorker,
|
||||||
|
}: HandleServiceWorkerRegistration): void {
|
||||||
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
|
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
|
||||||
const options = getOptions()
|
const options = getOptions()
|
||||||
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
|
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
|
||||||
registerServiceWorker(navigator, path, options)
|
registerServiceWorker(navigator, path, options)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Written this way so that it's easier to test
|
||||||
|
handleServiceWorkerRegistration({ getOptions, normalize, registerServiceWorker })
|
||||||
|
|
Loading…
Reference in New Issue