Skip to content

Commit 72e6926

Browse files
authored
feat(types): beforeSend and beforeSendTransaction breaking changes (#11354)
These were marked to be changed for v8
1 parent fd4a614 commit 72e6926

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

packages/browser/test/unit/index.test.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
} from '@sentry/core';
88
import * as utils from '@sentry/utils';
99

10-
import type { Event } from '../../src';
1110
import { setCurrentClient } from '../../src';
1211
import {
1312
BrowserClient,
@@ -213,7 +212,7 @@ describe('SentryBrowser', () => {
213212

214213
it('should capture a message', done => {
215214
const options = getDefaultBrowserClientOptions({
216-
beforeSend: (event: Event): Event | null => {
215+
beforeSend: event => {
217216
expect(event.message).toBe('test');
218217
expect(event.exception).toBeUndefined();
219218
done();
@@ -227,7 +226,7 @@ describe('SentryBrowser', () => {
227226

228227
it('should capture an event', done => {
229228
const options = getDefaultBrowserClientOptions({
230-
beforeSend: (event: Event): Event | null => {
229+
beforeSend: event => {
231230
expect(event.message).toBe('event');
232231
expect(event.exception).toBeUndefined();
233232
done();
@@ -241,7 +240,7 @@ describe('SentryBrowser', () => {
241240

242241
it('should set `platform` on events', done => {
243242
const options = getDefaultBrowserClientOptions({
244-
beforeSend: (event: Event): Event | null => {
243+
beforeSend: event => {
245244
expect(event.platform).toBe('javascript');
246245
done();
247246
return event;

packages/core/test/lib/base.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Client, Envelope, Event } from '@sentry/types';
1+
import type { Client, Envelope, ErrorEvent, Event, TransactionEvent } from '@sentry/types';
22
import { SentryError, SyncPromise, dsnToString, logger } from '@sentry/utils';
33

44
import { Scope, addBreadcrumb, getCurrentScope, getIsolationScope, makeSession, setCurrentClient } from '../../src';
@@ -1065,7 +1065,7 @@ describe('BaseClient', () => {
10651065

10661066
const beforeSend = jest.fn(
10671067
async event =>
1068-
new Promise<Event>(resolve => {
1068+
new Promise<ErrorEvent>(resolve => {
10691069
setTimeout(() => {
10701070
resolve(event);
10711071
}, 1);
@@ -1095,7 +1095,7 @@ describe('BaseClient', () => {
10951095

10961096
const beforeSendTransaction = jest.fn(
10971097
async event =>
1098-
new Promise<Event>(resolve => {
1098+
new Promise<TransactionEvent>(resolve => {
10991099
setTimeout(() => {
11001100
resolve(event);
11011101
}, 1);
@@ -1125,7 +1125,7 @@ describe('BaseClient', () => {
11251125

11261126
const beforeSend = jest.fn(async event => {
11271127
event.message = 'changed2';
1128-
return new Promise<Event>(resolve => {
1128+
return new Promise<ErrorEvent>(resolve => {
11291129
setTimeout(() => {
11301130
resolve(event);
11311131
}, 1);
@@ -1155,7 +1155,7 @@ describe('BaseClient', () => {
11551155

11561156
const beforeSendTransaction = jest.fn(async event => {
11571157
event.transaction = '/adopt/dont/shop';
1158-
return new Promise<Event>(resolve => {
1158+
return new Promise<TransactionEvent>(resolve => {
11591159
setTimeout(() => {
11601160
resolve(event);
11611161
}, 1);

packages/types/src/options.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Breadcrumb, BreadcrumbHint } from './breadcrumb';
2-
import type { ErrorEvent, Event, EventHint, TransactionEvent } from './event';
2+
import type { ErrorEvent, EventHint, TransactionEvent } from './event';
33
import type { Integration } from './integration';
44
import type { CaptureContext } from './scope';
55
import type { SdkMetadata } from './sdkmetadata';
@@ -255,7 +255,6 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
255255
*/
256256
tracesSampler?: (samplingContext: SamplingContext) => number | boolean;
257257

258-
// TODO (v8): Narrow the response type to `ErrorEvent` - this is technically a breaking change.
259258
/**
260259
* An event-processing callback for error and message events, guaranteed to be invoked after all other event
261260
* processors, which allows an event to be modified or dropped.
@@ -267,9 +266,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
267266
* @param hint Event metadata useful for processing.
268267
* @returns A new event that will be sent | null.
269268
*/
270-
beforeSend?: (event: ErrorEvent, hint: EventHint) => PromiseLike<Event | null> | Event | null;
269+
beforeSend?: (event: ErrorEvent, hint: EventHint) => PromiseLike<ErrorEvent | null> | ErrorEvent | null;
271270

272-
// TODO (v8): Narrow the response type to `TransactionEvent` - this is technically a breaking change.
273271
/**
274272
* An event-processing callback for transaction events, guaranteed to be invoked after all other event
275273
* processors. This allows an event to be modified or dropped before it's sent.
@@ -281,7 +279,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
281279
* @param hint Event metadata useful for processing.
282280
* @returns A new event that will be sent | null.
283281
*/
284-
beforeSendTransaction?: (event: TransactionEvent, hint: EventHint) => PromiseLike<Event | null> | Event | null;
282+
beforeSendTransaction?: (
283+
event: TransactionEvent,
284+
hint: EventHint,
285+
) => PromiseLike<TransactionEvent | null> | TransactionEvent | null;
285286

286287
/**
287288
* A callback invoked when adding a breadcrumb, allowing to optionally modify

0 commit comments

Comments
 (0)