Skip to content

Commit 21f577d

Browse files
committed
refactor: add handleRegisterServiceWorker fn
1 parent 44b9874 commit 21f577d

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/browser/register.ts

+19-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,23 @@ export async function registerServiceWorker(navigator: Navigator, path: string,
1616
}
1717
}
1818

19-
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
20-
const options = getOptions()
21-
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
22-
registerServiceWorker(navigator, path, options)
19+
interface HandleServiceWorkerRegistration {
20+
getOptions: () => Options
21+
normalize: (url: string, keepTrailing?: boolean) => string
22+
registerServiceWorker: (navigator: Navigator, path: string, options: Options) => Promise<void>
2323
}
24+
25+
export function handleServiceWorkerRegistration({
26+
getOptions,
27+
normalize,
28+
registerServiceWorker,
29+
}: HandleServiceWorkerRegistration): void {
30+
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
31+
const options = getOptions()
32+
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
33+
registerServiceWorker(navigator, path, options)
34+
}
35+
}
36+
37+
// Written this way so that it's easier to test
38+
handleServiceWorkerRegistration({ getOptions, normalize, registerServiceWorker })

0 commit comments

Comments
 (0)