Skip to content

Commit 17cda40

Browse files
author
Thomas Grainger
committed
abstract setCallback wrapping into single function
1 parent ac62a10 commit 17cda40

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/raven.js

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ var _window = typeof window !== 'undefined' ? window
2626
var _document = _window.document;
2727
var _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
@@ -554,10 +561,8 @@ Raven.prototype = {
554561
*/
555562
setDataCallback: function(callback) {
556563
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);
561566
return this;
562567
},
563568

@@ -570,10 +575,8 @@ Raven.prototype = {
570575
*/
571576
setBreadcrumbCallback: function(callback) {
572577
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);
577580
return this;
578581
},
579582

@@ -586,10 +589,8 @@ Raven.prototype = {
586589
*/
587590
setShouldSendCallback: function(callback) {
588591
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);
593594
return this;
594595
},
595596

0 commit comments

Comments
 (0)