@@ -26,6 +26,13 @@ var _window = typeof window !== 'undefined' ? window
2626var _document = _window . document ;
2727var _navigator = _window . navigator ;
2828
29+
30+ function keepOriginalCallback ( original , callback ) {
31+ return isFunction ( callback ) ?
32+ function ( data ) { return callback ( data , original ) } :
33+ callback ;
34+ }
35+
2936// First, check for JSON support
3037// If there is no JSON, we no-op the core features of Raven
3138// since JSON is required to encode the payload
@@ -573,10 +580,8 @@ Raven.prototype = {
573580 */
574581 setDataCallback : function ( callback ) {
575582 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 ) ;
580585 return this ;
581586 } ,
582587
@@ -589,10 +594,8 @@ Raven.prototype = {
589594 */
590595 setBreadcrumbCallback : function ( callback ) {
591596 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 ) ;
596599 return this ;
597600 } ,
598601
@@ -605,10 +608,8 @@ Raven.prototype = {
605608 */
606609 setShouldSendCallback : function ( callback ) {
607610 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 ) ;
612613 return this ;
613614 } ,
614615
0 commit comments