Skip to content

Commit c9e82ec

Browse files
committed
minor feedback refactor to fix eslint
1 parent 1b871ad commit c9e82ec

File tree

2 files changed

+44
-53
lines changed

2 files changed

+44
-53
lines changed

packages/core/test/lib/exports.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Hub, Scope, makeMain, withScope, getCurrentScope } from '../../src';
1+
import { Hub, Scope, getCurrentScope, makeMain, withScope } from '../../src';
22
import { TestClient, getDefaultTestClientOptions } from '../mocks/client';
33

44
function getTestClient(): TestClient {
@@ -42,12 +42,12 @@ describe('withScope', () => {
4242
expect(res).toBe('foo');
4343
});
4444

45-
it('works with an async function',async () => {
45+
it('works with an async function', async () => {
4646
const res = withScope(async scope => {
4747
return 'foo';
4848
});
4949

5050
expect(res).toBeInstanceOf(Promise);
51-
expect(await res).toBe('foo')
51+
expect(await res).toBe('foo');
5252
});
5353
});

packages/feedback/src/util/sendFeedbackRequest.ts

+41-50
Original file line numberDiff line numberDiff line change
@@ -33,67 +33,58 @@ export async function sendFeedbackRequest(
3333
type: 'feedback',
3434
};
3535

36-
return new Promise((resolve, reject) => {
37-
withScope(async scope => {
38-
// No use for breadcrumbs in feedback
39-
scope.clearBreadcrumbs();
40-
41-
if ([FEEDBACK_API_SOURCE, FEEDBACK_WIDGET_SOURCE].includes(String(source))) {
42-
scope.setLevel('info');
43-
}
36+
return withScope(async scope => {
37+
// No use for breadcrumbs in feedback
38+
scope.clearBreadcrumbs();
39+
40+
if ([FEEDBACK_API_SOURCE, FEEDBACK_WIDGET_SOURCE].includes(String(source))) {
41+
scope.setLevel('info');
42+
}
43+
44+
const feedbackEvent = await prepareFeedbackEvent({
45+
scope,
46+
client,
47+
event: baseEvent,
48+
});
4449

45-
const feedbackEvent = await prepareFeedbackEvent({
46-
scope,
47-
client,
48-
event: baseEvent,
49-
});
50+
if (!feedbackEvent) {
51+
return;
52+
}
5053

51-
if (!feedbackEvent) {
52-
resolve();
53-
return;
54-
}
54+
if (client.emit) {
55+
client.emit('beforeSendFeedback', feedbackEvent, { includeReplay: Boolean(includeReplay) });
56+
}
5557

56-
if (client.emit) {
57-
client.emit('beforeSendFeedback', feedbackEvent, { includeReplay: Boolean(includeReplay) });
58-
}
58+
const envelope = createEventEnvelope(feedbackEvent, dsn, client.getOptions()._metadata, client.getOptions().tunnel);
5959

60-
const envelope = createEventEnvelope(
61-
feedbackEvent,
62-
dsn,
63-
client.getOptions()._metadata,
64-
client.getOptions().tunnel,
65-
);
60+
let response: void | TransportMakeRequestResponse;
6661

67-
let response: void | TransportMakeRequestResponse;
62+
try {
63+
response = await transport.send(envelope);
64+
} catch (err) {
65+
const error = new Error('Unable to send Feedback');
6866

6967
try {
70-
response = await transport.send(envelope);
71-
} catch (err) {
72-
const error = new Error('Unable to send Feedback');
73-
74-
try {
75-
// In case browsers don't allow this property to be writable
76-
// @ts-expect-error This needs lib es2022 and newer
77-
error.cause = err;
78-
} catch {
79-
// nothing to do
80-
}
81-
reject(error);
68+
// In case browsers don't allow this property to be writable
69+
// @ts-expect-error This needs lib es2022 and newer
70+
error.cause = err;
71+
} catch {
72+
// nothing to do
8273
}
74+
throw error;
75+
}
8376

84-
// TODO (v8): we can remove this guard once transport.send's type signature doesn't include void anymore
85-
if (!response) {
86-
resolve(response);
87-
return;
88-
}
77+
// TODO (v8): we can remove this guard once transport.send's type signature doesn't include void anymore
78+
if (!response) {
79+
return;
80+
}
8981

90-
// Require valid status codes, otherwise can assume feedback was not sent successfully
91-
if (typeof response.statusCode === 'number' && (response.statusCode < 200 || response.statusCode >= 300)) {
92-
reject(new Error('Unable to send Feedback'));
93-
}
82+
// Require valid status codes, otherwise can assume feedback was not sent successfully
83+
if (typeof response.statusCode === 'number' && (response.statusCode < 200 || response.statusCode >= 300)) {
84+
throw new Error('Unable to send Feedback');
85+
}
9486

95-
resolve(response);
96-
});
87+
return response;
9788
});
9889
}
9990

0 commit comments

Comments
 (0)