From f2c8ac53352984c5b3c98f7fa2d111663d3df08b Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Wed, 11 Jan 2023 23:40:04 +0100 Subject: [PATCH] refactor(service-worker): removing some todos (#48707) Removing some outdated/unnecessary todos. PR Close #48707 --- packages/service-worker/src/push.ts | 5 ++--- packages/service-worker/worker/testing/cache.ts | 1 - packages/service-worker/worker/testing/clients.ts | 3 +-- packages/service-worker/worker/testing/mock.ts | 5 ++--- packages/service-worker/worker/testing/scope.ts | 3 +-- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/service-worker/src/push.ts b/packages/service-worker/src/push.ts index 7f2cedaa4e5..92597e61528 100644 --- a/packages/service-worker/src/push.ts +++ b/packages/service-worker/src/push.ts @@ -132,8 +132,7 @@ export class SwPush { return this.sw.isEnabled; } - // TODO(issue/24571): remove '!'. - private pushManager!: Observable; + private pushManager: Observable|null = null; private subscriptionChanges = new Subject(); constructor(private sw: NgswCommChannel) { @@ -163,7 +162,7 @@ export class SwPush { * @returns A Promise that resolves to the new subscription object. */ requestSubscription(options: {serverPublicKey: string}): Promise { - if (!this.sw.isEnabled) { + if (!this.sw.isEnabled || this.pushManager === null) { return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED)); } const pushOptions: PushSubscriptionOptionsInit = {userVisibleOnly: true}; diff --git a/packages/service-worker/worker/testing/cache.ts b/packages/service-worker/worker/testing/cache.ts index 9f2d9824d7f..03f6eba0901 100644 --- a/packages/service-worker/worker/testing/cache.ts +++ b/packages/service-worker/worker/testing/cache.ts @@ -129,7 +129,6 @@ export class MockCache { async match(request: RequestInfo, options?: CacheQueryOptions): Promise { let url = this.getRequestUrl(request); - // TODO: cleanup typings. Typescript doesn't know this can resolve to undefined. let res = this.cache.get(url); if (!res && options?.ignoreSearch) { // check if cache has url by ignoring search diff --git a/packages/service-worker/worker/testing/clients.ts b/packages/service-worker/worker/testing/clients.ts index 9dd4160d79e..f8303cf596d 100644 --- a/packages/service-worker/worker/testing/clients.ts +++ b/packages/service-worker/worker/testing/clients.ts @@ -26,8 +26,7 @@ export class MockClient implements Client { export class MockWindowClient extends MockClient implements WindowClient { readonly focused: boolean = false; - // TODO(crisbeto): change the type here to DocumentVisibilityState when we drop support for TS 4.5 - readonly visibilityState: 'visible'|'hidden' = 'visible'; + readonly visibilityState: DocumentVisibilityState = 'visible'; constructor(id: string, url: string, frameType: FrameType = 'top-level') { super(id, url, 'window', frameType); diff --git a/packages/service-worker/worker/testing/mock.ts b/packages/service-worker/worker/testing/mock.ts index 042ccab64f6..4ae46a69e01 100644 --- a/packages/service-worker/worker/testing/mock.ts +++ b/packages/service-worker/worker/testing/mock.ts @@ -127,8 +127,7 @@ export class MockServerState { private requests: Request[] = []; private gate: Promise = Promise.resolve(); private resolve: Function|null = null; - // TODO(issue/24571): remove '!'. - private resolveNextRequest!: Function; + private resolveNextRequest?: Function; online = true; nextRequest: Promise; @@ -139,7 +138,7 @@ export class MockServerState { } async fetch(req: Request): Promise { - this.resolveNextRequest(req); + this.resolveNextRequest?.(req); this.nextRequest = new Promise(resolve => { this.resolveNextRequest = resolve; }); diff --git a/packages/service-worker/worker/testing/scope.ts b/packages/service-worker/worker/testing/scope.ts index 16328c53439..8b5d736d8a4 100644 --- a/packages/service-worker/worker/testing/scope.ts +++ b/packages/service-worker/worker/testing/scope.ts @@ -51,8 +51,7 @@ export class SwTestHarnessImpl extends Adapter implements private selfMessageQueue: any[] = []; autoAdvanceTime = false; - // TODO(issue/24571): remove '!'. - unregistered!: boolean; + unregistered: boolean = false; readonly notifications: {title: string, options: Object}[] = []; readonly registration: ServiceWorkerRegistration = { active: {