Skip to content

Commit 7b02ff1

Browse files
committed
feat(hub): Remove _invokeClient
1 parent b7251cc commit 7b02ff1

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

packages/hub/src/hub.ts

+28-17
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,17 @@ export class Hub implements HubInterface {
185185
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
186186
public captureException(exception: any, hint?: EventHint): string {
187187
const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());
188-
this._invokeClient('captureException', exception, {
189-
originalException: exception,
190-
syntheticException: new Error('Sentry syntheticException'),
191-
...hint,
192-
event_id: eventId,
188+
this._withClient((client, scope) => {
189+
client.captureException(
190+
exception,
191+
{
192+
originalException: exception,
193+
syntheticException: new Error('Sentry syntheticException'),
194+
...hint,
195+
event_id: eventId,
196+
},
197+
scope,
198+
);
193199
});
194200
return eventId;
195201
}
@@ -204,11 +210,18 @@ export class Hub implements HubInterface {
204210
hint?: EventHint,
205211
): string {
206212
const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());
207-
this._invokeClient('captureMessage', message, level, {
208-
originalException: message,
209-
syntheticException: new Error(message),
210-
...hint,
211-
event_id: eventId,
213+
this._withClient((client, scope) => {
214+
client.captureMessage(
215+
message,
216+
level,
217+
{
218+
originalException: message,
219+
syntheticException: new Error(message),
220+
...hint,
221+
event_id: eventId,
222+
},
223+
scope,
224+
);
212225
});
213226
return eventId;
214227
}
@@ -222,9 +235,8 @@ export class Hub implements HubInterface {
222235
this._lastEventId = eventId;
223236
}
224237

225-
this._invokeClient('captureEvent', event, {
226-
...hint,
227-
event_id: eventId,
238+
this._withClient((client, scope) => {
239+
client.captureEvent(event, { ...hint, event_id: eventId }, scope);
228240
});
229241
return eventId;
230242
}
@@ -447,11 +459,10 @@ export class Hub implements HubInterface {
447459
* @param args Arguments to pass to the client function.
448460
*/
449461
// eslint-disable-next-line @typescript-eslint/no-explicit-any
450-
private _invokeClient<M extends keyof Client>(method: M, ...args: any[]): void {
462+
private _withClient(callback: (client: Client, scope: Scope | undefined) => void): void {
451463
const { scope, client } = this.getStackTop();
452-
if (client && client[method]) {
453-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
454-
(client as any)[method](...args, scope);
464+
if (client) {
465+
callback(client, scope);
455466
}
456467
}
457468

packages/hub/test/hub.test.ts

-7
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,6 @@ describe('Hub', () => {
5252
expect(hub.getStack()).toHaveLength(1);
5353
});
5454

55-
test("don't invoke client sync with wrong func", () => {
56-
const hub = new Hub(clientFn);
57-
// @ts-ignore we want to able to call private method
58-
hub._invokeClient('funca', true);
59-
expect(clientFn).not.toHaveBeenCalled();
60-
});
61-
6255
test('isOlderThan', () => {
6356
const hub = new Hub();
6457
expect(hub.isOlderThan(0)).toBeFalsy();

0 commit comments

Comments
 (0)