Skip to content

Commit f84cacd

Browse files
authored
Update error handling to account for TS v4.4 auto unknown variable in catch block (#6320)
1 parent d4b52b6 commit f84cacd

File tree

9 files changed

+22
-21
lines changed

9 files changed

+22
-21
lines changed

packages/app-check/src/client.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ describe('client', () => {
107107
const firebaseError = ERROR_FACTORY.create(
108108
AppCheckError.FETCH_NETWORK_ERROR,
109109
{
110-
originalErrorMessage: originalError.message
110+
originalErrorMessage: (originalError as Error)?.message
111111
}
112112
);
113113

@@ -164,7 +164,7 @@ describe('client', () => {
164164
const firebaseError = ERROR_FACTORY.create(
165165
AppCheckError.FETCH_PARSE_ERROR,
166166
{
167-
originalErrorMessage: originalError.message
167+
originalErrorMessage: (originalError as Error)?.message
168168
}
169169
);
170170

@@ -178,7 +178,7 @@ describe('client', () => {
178178
expect(e).has.property('message', firebaseError.message);
179179
expect(e).has.nested.property(
180180
'customData.originalErrorMessage',
181-
originalError.message
181+
(originalError as Error)?.message
182182
);
183183
}
184184
});

packages/app-check/src/client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export async function exchangeToken(
6767
response = await fetch(url, options);
6868
} catch (originalError) {
6969
throw ERROR_FACTORY.create(AppCheckError.FETCH_NETWORK_ERROR, {
70-
originalErrorMessage: originalError.message
70+
originalErrorMessage: (originalError as Error)?.message
7171
});
7272
}
7373

@@ -83,7 +83,7 @@ export async function exchangeToken(
8383
responseBody = await response.json();
8484
} catch (originalError) {
8585
throw ERROR_FACTORY.create(AppCheckError.FETCH_PARSE_ERROR, {
86-
originalErrorMessage: originalError.message
86+
originalErrorMessage: (originalError as Error)?.message
8787
});
8888
}
8989

packages/app-check/src/indexeddb.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function getDBPromise(): Promise<IDBDatabase> {
6363
} catch (e) {
6464
reject(
6565
ERROR_FACTORY.create(AppCheckError.STORAGE_OPEN, {
66-
originalErrorMessage: e.message
66+
originalErrorMessage: (e as Error)?.message
6767
})
6868
);
6969
}

packages/app/src/indexeddb.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export async function readHeartbeatsFromIndexedDB(
6666
.get(computeKey(app)) as Promise<HeartbeatsInIndexedDB | undefined>;
6767
} catch (e) {
6868
throw ERROR_FACTORY.create(AppError.STORAGE_GET, {
69-
originalErrorMessage: e.message
69+
originalErrorMessage: (e as Error)?.message
7070
});
7171
}
7272
}
@@ -83,7 +83,7 @@ export async function writeHeartbeatsToIndexedDB(
8383
return tx.done;
8484
} catch (e) {
8585
throw ERROR_FACTORY.create(AppError.STORAGE_WRITE, {
86-
originalErrorMessage: e.message
86+
originalErrorMessage: (e as Error)?.message
8787
});
8888
}
8989
}

packages/remote-config/src/client/rest_client.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,11 @@ export class RestClient implements RemoteConfigFetchClient {
120120
response = await fetchPromise;
121121
} catch (originalError) {
122122
let errorCode = ErrorCode.FETCH_NETWORK;
123-
if (originalError.name === 'AbortError') {
123+
if ((originalError as Error)?.name === 'AbortError') {
124124
errorCode = ErrorCode.FETCH_TIMEOUT;
125125
}
126126
throw ERROR_FACTORY.create(errorCode, {
127-
originalErrorMessage: originalError.message
127+
originalErrorMessage: (originalError as Error)?.message
128128
});
129129
}
130130

@@ -144,7 +144,7 @@ export class RestClient implements RemoteConfigFetchClient {
144144
responseBody = await response.json();
145145
} catch (originalError) {
146146
throw ERROR_FACTORY.create(ErrorCode.FETCH_PARSE, {
147-
originalErrorMessage: originalError.message
147+
originalErrorMessage: (originalError as Error)?.message
148148
});
149149
}
150150
config = responseBody['entries'];

packages/remote-config/src/client/retrying_client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export class RetryingClient implements RemoteConfigFetchClient {
124124

125125
return response;
126126
} catch (e) {
127-
if (!isRetriableError(e)) {
127+
if (!isRetriableError(e as Error)) {
128128
throw e;
129129
}
130130

packages/remote-config/src/storage/storage.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { FirebaseError } from '@firebase/util';
2929
function toFirebaseError(event: Event, errorCode: ErrorCode): FirebaseError {
3030
const originalError = (event.target as IDBRequest).error || undefined;
3131
return ERROR_FACTORY.create(errorCode, {
32-
originalErrorMessage: originalError && originalError.message
32+
originalErrorMessage: originalError && (originalError as Error)?.message
3333
});
3434
}
3535

@@ -101,7 +101,7 @@ export function openDatabase(): Promise<IDBDatabase> {
101101
} catch (error) {
102102
reject(
103103
ERROR_FACTORY.create(ErrorCode.STORAGE_OPEN, {
104-
originalErrorMessage: error
104+
originalErrorMessage: (error as Error)?.message
105105
})
106106
);
107107
}
@@ -203,7 +203,7 @@ export class Storage {
203203
} catch (e) {
204204
reject(
205205
ERROR_FACTORY.create(ErrorCode.STORAGE_GET, {
206-
originalErrorMessage: e && e.message
206+
originalErrorMessage: (e as Error)?.message
207207
})
208208
);
209209
}
@@ -230,7 +230,7 @@ export class Storage {
230230
} catch (e) {
231231
reject(
232232
ERROR_FACTORY.create(ErrorCode.STORAGE_SET, {
233-
originalErrorMessage: e && e.message
233+
originalErrorMessage: (e as Error)?.message
234234
})
235235
);
236236
}
@@ -254,7 +254,7 @@ export class Storage {
254254
} catch (e) {
255255
reject(
256256
ERROR_FACTORY.create(ErrorCode.STORAGE_DELETE, {
257-
originalErrorMessage: e && e.message
257+
originalErrorMessage: (e as Error)?.message
258258
})
259259
);
260260
}

packages/remote-config/test/client/rest_client.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ describe('RestClient', () => {
128128
const fetchPromise = client.fetch(DEFAULT_REQUEST);
129129

130130
const firebaseError = ERROR_FACTORY.create(ErrorCode.FETCH_NETWORK, {
131-
originalErrorMessage: originalError.message
131+
originalErrorMessage: (originalError as Error)?.message
132132
});
133133

134134
await expect(fetchPromise)

packages/util/test/errors.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,9 @@ describe('FirebaseError', () => {
8888
try {
8989
throw e;
9090
} catch (error) {
91-
assert.isDefined(error.stack);
91+
assert.isDefined((error as Error).stack);
9292
// Multi-line match trick - .* does not match \n
93-
assert.match(error.stack, /FirebaseError[\s\S]/);
93+
assert.match((error as Error).stack!, /FirebaseError[\s\S]/);
9494
}
9595
});
9696

@@ -100,7 +100,8 @@ describe('FirebaseError', () => {
100100
assert.ok(false);
101101
} catch (e) {
102102
assert.instanceOf(e, FirebaseError);
103-
assert.match(e.stack, /dummy2[\s\S]*?dummy1/);
103+
assert.isDefined((e as FirebaseError).stack);
104+
assert.match((e as FirebaseError).stack!, /dummy2[\s\S]*?dummy1/);
104105
}
105106
});
106107
});

0 commit comments

Comments
 (0)