Skip to content

Commit 0bccb15

Browse files
author
Thomas Grainger
committed
abstract setCallback wrapping into single function
1 parent 143ad8f commit 0bccb15

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
@@ -557,10 +564,8 @@ Raven.prototype = {
557564
*/
558565
setDataCallback: function(callback) {
559566
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);
564569
return this;
565570
},
566571

@@ -573,10 +578,8 @@ Raven.prototype = {
573578
*/
574579
setBreadcrumbCallback: function(callback) {
575580
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);
580583
return this;
581584
},
582585

@@ -589,10 +592,8 @@ Raven.prototype = {
589592
*/
590593
setShouldSendCallback: function(callback) {
591594
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);
596597
return this;
597598
},
598599

0 commit comments

Comments
 (0)