stackframe
Advanced tools
Comparing version 1.0.4 to 1.1.0
@@ -71,11 +71,43 @@ (function(root, factory) { | ||
toString: function() { | ||
var functionName = this.getFunctionName() || '{anonymous}'; | ||
var args = '(' + (this.getArgs() || []).join(',') + ')'; | ||
var fileName = this.getFileName() ? ('@' + this.getFileName()) : ''; | ||
var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : ''; | ||
var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : ''; | ||
return functionName + args + fileName + lineNumber + columnNumber; | ||
var fileName = this.getFileName() || ''; | ||
var lineNumber = this.getLineNumber() || ''; | ||
var columnNumber = this.getColumnNumber() || ''; | ||
var functionName = this.getFunctionName() || ''; | ||
if (this.getIsEval()) { | ||
if (fileName) { | ||
return '[eval] (' + fileName + ':' + lineNumber + ':' + columnNumber + ')'; | ||
} | ||
return '[eval]:' + lineNumber + ':' + columnNumber; | ||
} | ||
if (functionName) { | ||
return functionName + ' (' + fileName + ':' + lineNumber + ':' + columnNumber + ')'; | ||
} | ||
return fileName + ':' + lineNumber + ':' + columnNumber; | ||
} | ||
}; | ||
StackFrame.fromString = function StackFrame$$fromString(str) { | ||
var argsStartIndex = str.indexOf('('); | ||
var argsEndIndex = str.lastIndexOf(')'); | ||
var functionName = str.substring(0, argsStartIndex); | ||
var args = str.substring(argsStartIndex + 1, argsEndIndex).split(','); | ||
var locationString = str.substring(argsEndIndex + 1); | ||
if (locationString.indexOf('@') === 0) { | ||
var parts = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString, ''); | ||
var fileName = parts[1]; | ||
var lineNumber = parts[2]; | ||
var columnNumber = parts[3]; | ||
} | ||
return new StackFrame({ | ||
functionName: functionName, | ||
args: args || undefined, | ||
fileName: fileName, | ||
lineNumber: lineNumber || undefined, | ||
columnNumber: columnNumber || undefined | ||
}); | ||
}; | ||
for (var i = 0; i < booleanProps.length; i++) { | ||
@@ -82,0 +114,0 @@ StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]); |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"use strict";"function"==typeof define&&define.amd?define("stackframe",[],e):"object"==typeof exports?module.exports=e():t.StackFrame=e()}(this,function(){"use strict";function t(t){return!isNaN(parseFloat(t))&&isFinite(t)}function e(t){return t.charAt(0).toUpperCase()+t.substring(1)}function r(t){return function(){return this[t]}}function n(t){if(t instanceof Object)for(var r=0;r<a.length;r++)t.hasOwnProperty(a[r])&&void 0!==t[a[r]]&&this["set"+e(a[r])](t[a[r]])}var i=["isConstructor","isEval","isNative","isToplevel"],o=["columnNumber","lineNumber"],s=["fileName","functionName","source"],u=["args"],a=i.concat(o,s,u);n.prototype={getArgs:function(){return this.args},setArgs:function(t){if("[object Array]"!==Object.prototype.toString.call(t))throw new TypeError("Args must be an Array");this.args=t},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(t){if(t instanceof n)this.evalOrigin=t;else{if(!(t instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new n(t)}},toString:function(){var e=this.getFunctionName()||"{anonymous}",r="("+(this.getArgs()||[]).join(",")+")",n=this.getFileName()?"@"+this.getFileName():"",i=t(this.getLineNumber())?":"+this.getLineNumber():"",o=t(this.getColumnNumber())?":"+this.getColumnNumber():"";return e+r+n+i+o}};for(var c=0;c<i.length;c++)n.prototype["get"+e(i[c])]=r(i[c]),n.prototype["set"+e(i[c])]=function(t){return function(e){this[t]=Boolean(e)}}(i[c]);for(var f=0;f<o.length;f++)n.prototype["get"+e(o[f])]=r(o[f]),n.prototype["set"+e(o[f])]=function(e){return function(r){if(!t(r))throw new TypeError(e+" must be a Number");this[e]=Number(r)}}(o[f]);for(var g=0;g<s.length;g++)n.prototype["get"+e(s[g])]=r(s[g]),n.prototype["set"+e(s[g])]=function(t){return function(e){this[t]=String(e)}}(s[g]);return n}); | ||
!function(t,e){"use strict";"function"==typeof define&&define.amd?define("stackframe",[],e):"object"==typeof exports?module.exports=e():t.StackFrame=e()}(this,function(){"use strict";function r(t){return t.charAt(0).toUpperCase()+t.substring(1)}function t(t){return function(){return this[t]}}var e=["isConstructor","isEval","isNative","isToplevel"],n=["columnNumber","lineNumber"],i=["fileName","functionName","source"],o=e.concat(n,i,["args"]);function c(t){if(t instanceof Object)for(var e=0;e<o.length;e++)t.hasOwnProperty(o[e])&&void 0!==t[o[e]]&&this["set"+r(o[e])](t[o[e]])}c.prototype={getArgs:function(){return this.args},setArgs:function(t){if("[object Array]"!==Object.prototype.toString.call(t))throw new TypeError("Args must be an Array");this.args=t},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(t){if(t instanceof c)this.evalOrigin=t;else{if(!(t instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new c(t)}},toString:function(){var t=this.getFileName()||"",e=this.getLineNumber()||"",r=this.getColumnNumber()||"",n=this.getFunctionName()||"";return this.getIsEval()?t?"[eval] ("+t+":"+e+":"+r+")":"[eval]:"+e+":"+r:n?n+" ("+t+":"+e+":"+r+")":t+":"+e+":"+r}},c.fromString=function(t){var e=t.indexOf("("),r=t.lastIndexOf(")"),n=t.substring(0,e),i=t.substring(e+1,r).split(","),o=t.substring(r+1);if(0===o.indexOf("@"))var s=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(o,""),u=s[1],a=s[2],f=s[3];return new c({functionName:n,args:i||void 0,fileName:u,lineNumber:a||void 0,columnNumber:f||void 0})};for(var s=0;s<e.length;s++)c.prototype["get"+r(e[s])]=t(e[s]),c.prototype["set"+r(e[s])]=function(e){return function(t){this[e]=Boolean(t)}}(e[s]);for(var u=0;u<n.length;u++)c.prototype["get"+r(n[u])]=t(n[u]),c.prototype["set"+r(n[u])]=function(r){return function(t){if(e=t,isNaN(parseFloat(e))||!isFinite(e))throw new TypeError(r+" must be a Number");var e;this[r]=Number(t)}}(n[u]);for(var a=0;a<i.length;a++)c.prototype["get"+r(i[a])]=t(i[a]),c.prototype["set"+r(i[a])]=function(e){return function(t){this[e]=String(t)}}(i[a]);return c}); | ||
//# sourceMappingURL=stackframe.min.js.map |
var coveralls = require('gulp-coveralls'); | ||
var del = require('del'); | ||
var gulp = require('gulp'); | ||
var jshint = require('gulp-jshint'); | ||
var eslint = require('gulp-eslint'); | ||
var karma = require('karma'); | ||
@@ -16,5 +16,5 @@ var rename = require('gulp-rename'); | ||
return gulp.src(sources) | ||
.pipe(jshint()) | ||
.pipe(jshint.reporter('default')) | ||
.pipe(jshint.reporter('fail')); | ||
.pipe(eslint()) | ||
.pipe(eslint.format()) | ||
.pipe(eslint.failAfterError()); | ||
}); | ||
@@ -21,0 +21,0 @@ |
@@ -61,7 +61,7 @@ module.exports = function(config) { | ||
}, | ||
slFirefoxBeta: { | ||
base: 'SauceLabs', | ||
browserName: 'firefox', | ||
version: 'beta' | ||
}, | ||
// slFirefoxBeta: { | ||
// base: 'SauceLabs', | ||
// browserName: 'firefox', | ||
// version: 'beta' | ||
// }, | ||
slSafari8: { | ||
@@ -68,0 +68,0 @@ base: 'SauceLabs', |
@@ -20,5 +20,5 @@ module.exports = function (config) { | ||
}, | ||
browsers: ['PhantomJS2'], | ||
browsers: ['PhantomJS'], | ||
singleRun: false | ||
}); | ||
}; |
@@ -9,3 +9,3 @@ { | ||
], | ||
"version": "1.0.4", | ||
"version": "1.1.0", | ||
"license": "MIT", | ||
@@ -24,26 +24,25 @@ "keywords": [ | ||
"devDependencies": { | ||
"colors": "^1.1.2", | ||
"del": "^2.2.2", | ||
"colors": "^1.3.2", | ||
"del": "^3.0.0", | ||
"eslint": "^5.7.0", | ||
"gulp": "^3.9.1", | ||
"gulp-coveralls": "^0.1.4", | ||
"gulp-jshint": "^2.0.4", | ||
"gulp-rename": "^1.2.2", | ||
"gulp-sourcemaps": "^1.12.0", | ||
"gulp-uglify": "^1.5.4", | ||
"jasmine": "^2.7.0", | ||
"jasmine-core": "^2.7.0", | ||
"jscs": "^2.11.0", | ||
"jshint": "^2.9.5", | ||
"karma": "^0.13.22", | ||
"karma-chrome-launcher": "^0.2.3", | ||
"karma-coverage": "^0.5.5", | ||
"karma-firefox-launcher": "^0.1.7", | ||
"karma-ie-launcher": "^0.2.0", | ||
"karma-jasmine": "^0.3.8", | ||
"karma-opera-launcher": "^0.3.0", | ||
"karma-phantomjs2-launcher": "^0.3.2", | ||
"karma-safari-launcher": "^0.1.1", | ||
"karma-sauce-launcher": "^0.3.1", | ||
"karma-spec-reporter": "0.0.23", | ||
"run-sequence": "^1.2.2" | ||
"gulp-eslint": "^5.0.0", | ||
"gulp-rename": "^1.4.0", | ||
"gulp-sourcemaps": "^2.6.4", | ||
"gulp-uglify": "^3.0.1", | ||
"jasmine": "^3.2.0", | ||
"jasmine-core": "^3.2.1", | ||
"karma": "^3.1.0", | ||
"karma-chrome-launcher": "^2.2.0", | ||
"karma-coverage": "^1.1.2", | ||
"karma-firefox-launcher": "^1.1.0", | ||
"karma-ie-launcher": "^1.0.0", | ||
"karma-jasmine": "^1.1.2", | ||
"karma-opera-launcher": "^1.0.0", | ||
"karma-phantomjs-launcher": "^1.0.4", | ||
"karma-safari-launcher": "^1.0.0", | ||
"karma-sauce-launcher": "^1.2.0", | ||
"karma-spec-reporter": "0.0.32", | ||
"run-sequence": "^2.2.1" | ||
}, | ||
@@ -55,5 +54,6 @@ "bugs": { | ||
"scripts": { | ||
"lint": " ./node_modules/.bin/eslint stackframe.js spec/stackframe-spec.js", | ||
"test": "gulp test", | ||
"prepublish": "gulp dist" | ||
"prepare": "gulp dist" | ||
} | ||
} |
@@ -71,11 +71,43 @@ (function(root, factory) { | ||
toString: function() { | ||
var functionName = this.getFunctionName() || '{anonymous}'; | ||
var args = '(' + (this.getArgs() || []).join(',') + ')'; | ||
var fileName = this.getFileName() ? ('@' + this.getFileName()) : ''; | ||
var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : ''; | ||
var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : ''; | ||
return functionName + args + fileName + lineNumber + columnNumber; | ||
var fileName = this.getFileName() || ''; | ||
var lineNumber = this.getLineNumber() || ''; | ||
var columnNumber = this.getColumnNumber() || ''; | ||
var functionName = this.getFunctionName() || ''; | ||
if (this.getIsEval()) { | ||
if (fileName) { | ||
return '[eval] (' + fileName + ':' + lineNumber + ':' + columnNumber + ')'; | ||
} | ||
return '[eval]:' + lineNumber + ':' + columnNumber; | ||
} | ||
if (functionName) { | ||
return functionName + ' (' + fileName + ':' + lineNumber + ':' + columnNumber + ')'; | ||
} | ||
return fileName + ':' + lineNumber + ':' + columnNumber; | ||
} | ||
}; | ||
StackFrame.fromString = function StackFrame$$fromString(str) { | ||
var argsStartIndex = str.indexOf('('); | ||
var argsEndIndex = str.lastIndexOf(')'); | ||
var functionName = str.substring(0, argsStartIndex); | ||
var args = str.substring(argsStartIndex + 1, argsEndIndex).split(','); | ||
var locationString = str.substring(argsEndIndex + 1); | ||
if (locationString.indexOf('@') === 0) { | ||
var parts = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString, ''); | ||
var fileName = parts[1]; | ||
var lineNumber = parts[2]; | ||
var columnNumber = parts[3]; | ||
} | ||
return new StackFrame({ | ||
functionName: functionName, | ||
args: args || undefined, | ||
fileName: fileName, | ||
lineNumber: lineNumber || undefined, | ||
columnNumber: columnNumber || undefined | ||
}); | ||
}; | ||
for (var i = 0; i < booleanProps.length; i++) { | ||
@@ -82,0 +114,0 @@ StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]); |
Sorry, the diff of this file is not supported yet
39220
23
637
17