@@ -646,7 +646,7 @@ export abstract class BaseClient<O extends ClientOptions> implements Client<O> {
646
646
}
647
647
648
648
const beforeSendResult = beforeSend ( prepared , hint ) ;
649
- return _ensureBeforeSendRv ( beforeSendResult ) ;
649
+ return _validateBeforeSendResult ( beforeSendResult ) ;
650
650
} )
651
651
. then ( processedEvent => {
652
652
if ( processedEvent === null ) {
@@ -764,24 +764,26 @@ export abstract class BaseClient<O extends ClientOptions> implements Client<O> {
764
764
}
765
765
766
766
/**
767
- * Verifies that return value of configured `beforeSend` is of expected type.
767
+ * Verifies that return value of configured `beforeSend` is of expected type, and returns the value if so .
768
768
*/
769
- function _ensureBeforeSendRv ( rv : PromiseLike < Event | null > | Event | null ) : PromiseLike < Event | null > | Event | null {
770
- const nullErr = '`beforeSend` must return `null` or a valid event.' ;
771
- if ( isThenable ( rv ) ) {
772
- return rv . then (
769
+ function _validateBeforeSendResult (
770
+ beforeSendResult : PromiseLike < Event | null > | Event | null ,
771
+ ) : PromiseLike < Event | null > | Event | null {
772
+ const invalidValueError = '`beforeSend` must return `null` or a valid event.' ;
773
+ if ( isThenable ( beforeSendResult ) ) {
774
+ return beforeSendResult . then (
773
775
event => {
774
- if ( ! ( isPlainObject ( event ) || event === null ) ) {
775
- throw new SentryError ( nullErr ) ;
776
+ if ( ! isPlainObject ( event ) && event !== null ) {
777
+ throw new SentryError ( invalidValueError ) ;
776
778
}
777
779
return event ;
778
780
} ,
779
781
e => {
780
782
throw new SentryError ( `beforeSend rejected with ${ e } ` ) ;
781
783
} ,
782
784
) ;
783
- } else if ( ! ( isPlainObject ( rv ) || rv === null ) ) {
784
- throw new SentryError ( nullErr ) ;
785
+ } else if ( ! isPlainObject ( beforeSendResult ) && beforeSendResult !== null ) {
786
+ throw new SentryError ( invalidValueError ) ;
785
787
}
786
- return rv ;
788
+ return beforeSendResult ;
787
789
}
0 commit comments