Skip to content

Commit 3797401

Browse files
author
Thomas Grainger
committed
abstract setCallback wrapping into single function
1 parent fafd04c commit 3797401

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
@@ -550,10 +557,8 @@ Raven.prototype = {
550557
*/
551558
setDataCallback: function(callback) {
552559
var original = this._globalOptions.dataCallback;
553-
this._globalOptions.dataCallback = isFunction(callback)
554-
? function (data) { return callback(data, original); }
555-
: callback;
556-
560+
this._globalOptions.dataCallback =
561+
keepOriginalCallback(original, callback);
557562
return this;
558563
},
559564

@@ -566,10 +571,8 @@ Raven.prototype = {
566571
*/
567572
setBreadcrumbCallback: function(callback) {
568573
var original = this._globalOptions.breadcrumbCallback;
569-
this._globalOptions.breadcrumbCallback = isFunction(callback)
570-
? function (data) { return callback(data, original); }
571-
: callback;
572-
574+
this._globalOptions.breadcrumbCallback =
575+
keepOriginalCallback(original, callback);
573576
return this;
574577
},
575578

@@ -582,10 +585,8 @@ Raven.prototype = {
582585
*/
583586
setShouldSendCallback: function(callback) {
584587
var original = this._globalOptions.shouldSendCallback;
585-
this._globalOptions.shouldSendCallback = isFunction(callback)
586-
? function (data) { return callback(data, original); }
587-
: callback;
588-
588+
this._globalOptions.shouldSendCallback =
589+
keepOriginalCallback(original, callback);
589590
return this;
590591
},
591592

0 commit comments

Comments
 (0)