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