Skip to content

Commit 004072e

Browse files
authored
ref: Use optional chaining wherever possible (#17017)
A future version of eslint flagged & auto-fixed these, extracting this out for easier review.
1 parent 9d92e97 commit 004072e

File tree

10 files changed

+17
-21
lines changed

10 files changed

+17
-21
lines changed

packages/browser/src/integrations/spotlight.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ export function isSpotlightInteraction(event: Event): boolean {
8181
return Boolean(
8282
event.type === 'transaction' &&
8383
event.spans &&
84-
event.contexts &&
85-
event.contexts.trace &&
84+
event.contexts?.trace &&
8685
event.contexts.trace.op === 'ui.action.click' &&
8786
event.spans.some(({ description }) => description?.includes('#sentry-spotlight')),
8887
);

packages/browser/src/profiling/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export interface ProfiledEvent extends Event {
9898
}
9999

100100
function getTraceId(event: Event): string {
101-
const traceId: unknown = event.contexts?.trace?.['trace_id'];
101+
const traceId: unknown = event.contexts?.trace?.trace_id;
102102
// Log a warning if the profile has an invalid traceId (should be uuidv4).
103103
// All profiles and transactions are rejected if this is the case and we want to
104104
// warn users that this is happening if they enable debug flag
@@ -333,7 +333,7 @@ export function findProfiledTransactionsFromEnvelope(envelope: Envelope): Event[
333333
for (let j = 1; j < item.length; j++) {
334334
const event = item[j] as Event;
335335

336-
if (event?.contexts && event.contexts['profile'] && event.contexts['profile']['profile_id']) {
336+
if (event?.contexts?.profile?.profile_id) {
337337
events.push(item[j] as Event);
338338
}
339339
}

packages/core/src/fetch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ function endSpan(span: Span, handlerData: HandlerDataFetch): void {
204204
if (handlerData.response) {
205205
setHttpStatus(span, handlerData.response.status);
206206

207-
const contentLength = handlerData.response?.headers && handlerData.response.headers.get('content-length');
207+
const contentLength = handlerData.response?.headers?.get('content-length');
208208

209209
if (contentLength) {
210210
const contentLengthNum = parseInt(contentLength);

packages/core/src/integrations/dedupe.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,5 +176,5 @@ function _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean
176176
}
177177

178178
function _getExceptionFromEvent(event: Event): Exception | undefined {
179-
return event.exception?.values && event.exception.values[0];
179+
return event.exception?.values?.[0];
180180
}

packages/core/src/integrations/rewriteframes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ export const rewriteFramesIntegration = defineIntegration((options: RewriteFrame
8484
function _processStacktrace(stacktrace?: Stacktrace): Stacktrace {
8585
return {
8686
...stacktrace,
87-
frames: stacktrace?.frames && stacktrace.frames.map(f => iteratee(f)),
87+
frames: stacktrace?.frames?.map(f => iteratee(f)),
8888
};
8989
}
9090

packages/core/src/utils/vercelWaitUntil.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ export function vercelWaitUntil(task: Promise<unknown>): void {
1818
// @ts-expect-error This is not typed
1919
GLOBAL_OBJ[Symbol.for('@vercel/request-context')];
2020

21-
const ctx =
22-
vercelRequestContextGlobal?.get && vercelRequestContextGlobal.get() ? vercelRequestContextGlobal.get() : {};
21+
const ctx = vercelRequestContextGlobal?.get?.();
2322

2423
if (ctx?.waitUntil) {
2524
ctx.waitUntil(task);

packages/feedback/src/modal/integration.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ export const feedbackModalIntegration = ((): FeedbackModalIntegration => {
7070
screenshotInput={screenshotInput}
7171
showName={options.showName || options.isNameRequired}
7272
showEmail={options.showEmail || options.isEmailRequired}
73-
defaultName={(userKey && user && user[userKey.name]) || ''}
74-
defaultEmail={(userKey && user && user[userKey.email]) || ''}
73+
defaultName={(userKey && user?.[userKey.name]) || ''}
74+
defaultEmail={(userKey && user?.[userKey.email]) || ''}
7575
onFormClose={() => {
7676
renderContent(false);
7777
options.onFormClose?.();

packages/node-core/src/integrations/spotlight.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ const _spotlightIntegration = ((options: Partial<SpotlightConnectionOptions> = {
2020
return {
2121
name: INTEGRATION_NAME,
2222
setup(client) {
23-
if (
24-
typeof process === 'object' &&
25-
process.env &&
26-
process.env.NODE_ENV &&
27-
process.env.NODE_ENV !== 'development'
28-
) {
29-
logger.warn("[Spotlight] It seems you're not in dev mode. Do you really want to have Spotlight enabled?");
23+
try {
24+
if (process.env.NODE_ENV && process.env.NODE_ENV !== 'development') {
25+
logger.warn("[Spotlight] It seems you're not in dev mode. Do you really want to have Spotlight enabled?");
26+
}
27+
} catch {
28+
// ignore
3029
}
3130
connectToSpotlight(client, _options);
3231
},

packages/replay-internal/src/coreHandlers/handleDom.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ export const handleDomListener: (replay: ReplayContainer) => (handlerData: Handl
3030
if (
3131
isClick &&
3232
replay.clickDetector &&
33-
event &&
34-
event.target &&
33+
event?.target &&
3534
!event.altKey &&
3635
!event.metaKey &&
3736
!event.ctrlKey &&

packages/replay-internal/src/util/isRrwebError.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { Event, EventHint } from '@sentry/core';
44
* Returns true if we think the given event is an error originating inside of rrweb.
55
*/
66
export function isRrwebError(event: Event, hint: EventHint): boolean {
7-
if (event.type || !event.exception || !event.exception.values || !event.exception.values.length) {
7+
if (event.type || !event.exception?.values?.length) {
88
return false;
99
}
1010

0 commit comments

Comments
 (0)