Skip to content

Commit fb41489

Browse files
committed
Refactoring
1 parent 392301d commit fb41489

File tree

1 file changed

+11
-21
lines changed

1 file changed

+11
-21
lines changed

Diff for: stacktrace.js

+11-21
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@
5959
return err.stack || err['opera#sourceloc'];
6060
}
6161

62+
function _filtered(stackframes, filter) {
63+
if (typeof filter === 'function') {
64+
return stackframes.filter(filter);
65+
}
66+
return stackframes;
67+
}
68+
6269
return {
6370
/**
6471
* Get a backtrace from invocation point.
@@ -68,11 +75,7 @@
6875
*/
6976
get: function StackTrace$$get(opts) {
7077
var err = _generateError();
71-
if (_isShapedLikeParsableError(err)) {
72-
return this.fromError(err, opts);
73-
} else {
74-
return this.generateArtificially(opts);
75-
}
78+
return _isShapedLikeParsableError(err) ? this.fromError(err, opts) : this.generateArtificially(opts);
7679
},
7780

7881
/**
@@ -85,18 +88,8 @@
8588
getSync: function StackTrace$$getSync(opts) {
8689
opts = _merge(_options, opts);
8790
var err = _generateError();
88-
var stackframes;
89-
90-
if (_isShapedLikeParsableError(err)) {
91-
stackframes = ErrorStackParser.parse(err);
92-
} else {
93-
stackframes = StackGenerator.backtrace(opts);
94-
}
95-
96-
if (typeof opts.filter === 'function') {
97-
stackframes = stackframes.filter(opts.filter);
98-
}
99-
return stackframes;
91+
var stack = _isShapedLikeParsableError(err) ? ErrorStackParser.parse(err) : StackGenerator.backtrace(opts);
92+
return _filtered(stack, opts.filter);
10093
},
10194

10295
/**
@@ -110,10 +103,7 @@
110103
opts = _merge(_options, opts);
111104
var gps = new StackTraceGPS(opts);
112105
return new Promise(function(resolve) {
113-
var stackframes = ErrorStackParser.parse(error);
114-
if (typeof opts.filter === 'function') {
115-
stackframes = stackframes.filter(opts.filter);
116-
}
106+
var stackframes = _filtered(ErrorStackParser.parse(error), opts.filter);
117107
resolve(Promise.all(stackframes.map(function(sf) {
118108
return new Promise(function(resolve) {
119109
function resolveOriginal() {

0 commit comments

Comments
 (0)