Skip to content

Commit 0d7a328

Browse files
committed
Implement simple StackFrame.fromString()
Issue: #17
1 parent ee8d8ba commit 0d7a328

File tree

5 files changed

+66
-5
lines changed

5 files changed

+66
-5
lines changed

dist/stackframe.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,30 @@
7777
}
7878
};
7979

80+
StackFrame.fromString = function StackFrame$$fromString(str) {
81+
var argsStartIndex = str.indexOf('(');
82+
var argsEndIndex = str.lastIndexOf(')');
83+
84+
var functionName = str.substring(0, argsStartIndex);
85+
var args = str.substring(argsStartIndex + 1, argsEndIndex).split(',');
86+
var locationString = str.substring(argsEndIndex + 1);
87+
88+
if (locationString.indexOf('@') === 0) {
89+
var parts = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString, '');
90+
var fileName = parts[1];
91+
var lineNumber = parts[2];
92+
var columnNumber = parts[3];
93+
}
94+
95+
return new StackFrame({
96+
functionName: functionName,
97+
args: args || undefined,
98+
fileName: fileName,
99+
lineNumber: lineNumber || undefined,
100+
columnNumber: columnNumber || undefined
101+
});
102+
};
103+
80104
for (var i = 0; i < booleanProps.length; i++) {
81105
StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);
82106
StackFrame.prototype['set' + _capitalize(booleanProps[i])] = (function(p) {

dist/stackframe.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/stackframe.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)