@@ -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
@@ -573,10 +580,8 @@ Raven.prototype = {
573
580
*/
574
581
setDataCallback : function ( callback ) {
575
582
var original = this . _globalOptions . dataCallback ;
576
- this . _globalOptions . dataCallback = isFunction ( callback )
577
- ? function ( data ) { return callback ( data , original ) ; }
578
- : callback ;
579
-
583
+ this . _globalOptions . dataCallback =
584
+ keepOriginalCallback ( original , callback ) ;
580
585
return this ;
581
586
} ,
582
587
@@ -589,10 +594,8 @@ Raven.prototype = {
589
594
*/
590
595
setBreadcrumbCallback : function ( callback ) {
591
596
var original = this . _globalOptions . breadcrumbCallback ;
592
- this . _globalOptions . breadcrumbCallback = isFunction ( callback )
593
- ? function ( data ) { return callback ( data , original ) ; }
594
- : callback ;
595
-
597
+ this . _globalOptions . breadcrumbCallback =
598
+ keepOriginalCallback ( original , callback ) ;
596
599
return this ;
597
600
} ,
598
601
@@ -605,10 +608,8 @@ Raven.prototype = {
605
608
*/
606
609
setShouldSendCallback : function ( callback ) {
607
610
var original = this . _globalOptions . shouldSendCallback ;
608
- this . _globalOptions . shouldSendCallback = isFunction ( callback )
609
- ? function ( data ) { return callback ( data , original ) ; }
610
- : callback ;
611
-
611
+ this . _globalOptions . shouldSendCallback =
612
+ keepOriginalCallback ( original , callback ) ;
612
613
return this ;
613
614
} ,
614
615
0 commit comments