@@ -26,6 +26,13 @@ var _window = typeof window !== 'undefined' ? window
26
26
var _document = _window . document ;
27
27
var _navigator = _window . navigator ;
28
28
29
+
30
+ function keepOriginalCallback ( original , callback ) {
31
+ return isFunction ( callback ) ?
32
+ function ( data ) { return callback ( data , original ) } :
33
+ callback ;
34
+ }
35
+
29
36
// First, check for JSON support
30
37
// If there is no JSON, we no-op the core features of Raven
31
38
// since JSON is required to encode the payload
@@ -550,10 +557,8 @@ Raven.prototype = {
550
557
*/
551
558
setDataCallback : function ( callback ) {
552
559
var original = this . _globalOptions . dataCallback ;
553
- this . _globalOptions . dataCallback = isFunction ( callback )
554
- ? function ( data ) { return callback ( data , original ) ; }
555
- : callback ;
556
-
560
+ this . _globalOptions . dataCallback =
561
+ keepOriginalCallback ( original , callback ) ;
557
562
return this ;
558
563
} ,
559
564
@@ -566,10 +571,8 @@ Raven.prototype = {
566
571
*/
567
572
setBreadcrumbCallback : function ( callback ) {
568
573
var original = this . _globalOptions . breadcrumbCallback ;
569
- this . _globalOptions . breadcrumbCallback = isFunction ( callback )
570
- ? function ( data ) { return callback ( data , original ) ; }
571
- : callback ;
572
-
574
+ this . _globalOptions . breadcrumbCallback =
575
+ keepOriginalCallback ( original , callback ) ;
573
576
return this ;
574
577
} ,
575
578
@@ -582,10 +585,8 @@ Raven.prototype = {
582
585
*/
583
586
setShouldSendCallback : function ( callback ) {
584
587
var original = this . _globalOptions . shouldSendCallback ;
585
- this . _globalOptions . shouldSendCallback = isFunction ( callback )
586
- ? function ( data ) { return callback ( data , original ) ; }
587
- : callback ;
588
-
588
+ this . _globalOptions . shouldSendCallback =
589
+ keepOriginalCallback ( original , callback ) ;
589
590
return this ;
590
591
} ,
591
592
0 commit comments