@@ -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
@@ -554,10 +561,8 @@ Raven.prototype = {
554
561
*/
555
562
setDataCallback : function ( callback ) {
556
563
var original = this . _globalOptions . dataCallback ;
557
- this . _globalOptions . dataCallback = isFunction ( callback )
558
- ? function ( data ) { return callback ( data , original ) ; }
559
- : callback ;
560
-
564
+ this . _globalOptions . dataCallback =
565
+ keepOriginalCallback ( original , callback ) ;
561
566
return this ;
562
567
} ,
563
568
@@ -570,10 +575,8 @@ Raven.prototype = {
570
575
*/
571
576
setBreadcrumbCallback : function ( callback ) {
572
577
var original = this . _globalOptions . breadcrumbCallback ;
573
- this . _globalOptions . breadcrumbCallback = isFunction ( callback )
574
- ? function ( data ) { return callback ( data , original ) ; }
575
- : callback ;
576
-
578
+ this . _globalOptions . breadcrumbCallback =
579
+ keepOriginalCallback ( original , callback ) ;
577
580
return this ;
578
581
} ,
579
582
@@ -586,10 +589,8 @@ Raven.prototype = {
586
589
*/
587
590
setShouldSendCallback : function ( callback ) {
588
591
var original = this . _globalOptions . shouldSendCallback ;
589
- this . _globalOptions . shouldSendCallback = isFunction ( callback )
590
- ? function ( data ) { return callback ( data , original ) ; }
591
- : callback ;
592
-
592
+ this . _globalOptions . shouldSendCallback =
593
+ keepOriginalCallback ( original , callback ) ;
593
594
return this ;
594
595
} ,
595
596
0 commit comments