common-errors
Advanced tools
10
index.js
@@ -12,3 +12,3 @@ var util = require('util'); | ||
}; | ||
exports.AlreadyInUseError = exports.AlreadyInUse = require('./lib/alreadyInUse'); | ||
@@ -65,3 +65,3 @@ exports.ArgumentError = exports.Argument = require('./lib/argument'); | ||
} | ||
err = module.exports._prependCurrentStack(err); | ||
err = module.exports.prependCurrentStack(err, 3); | ||
} | ||
@@ -75,5 +75,5 @@ if (err) { | ||
module.exports._prependCurrentStack = function(err) { | ||
// skip the first three lines, because they're just noise | ||
var stackToPrepend = (new Error()).stack.split("\n").slice(3); | ||
module.exports.prependCurrentStack = function(err, offset_) { | ||
var linesToSkip = (typeof offset_ === 'undefined') ? 2 : offset_; | ||
var stackToPrepend = (new Error()).stack.split("\n").slice(linesToSkip); | ||
var mainStack = err.stack.split("\n"); | ||
@@ -80,0 +80,0 @@ var errTitle = mainStack.shift(); |
@@ -5,3 +5,3 @@ { | ||
"description": "Common error classes and utility functions", | ||
"version": "0.4.6", | ||
"version": "0.4.7", | ||
"repository": { | ||
@@ -8,0 +8,0 @@ "type": "git", |
@@ -45,2 +45,3 @@ common-errors | ||
* [log](#log) | ||
* [prependCurrentStack](#prependCurrentStack) | ||
* [generateClass](#generateClass) | ||
@@ -534,2 +535,23 @@ | ||
<a name="prependCurrentStack" /> | ||
### prependCurrentStack | ||
Modifies an error's stack to include the current stack without logging it. Useful for logging errors received by a callback. | ||
prependCurrentStack(err) | ||
__Arguments__ | ||
* `err` - any error or error message received from a callback | ||
```js | ||
// Example | ||
mysql.query('SELECT * `FROM` users', function(err, results){ | ||
if(err) { | ||
return errors.prependCurrentStack(err); // caller has better idea of source of err | ||
} | ||
console.log(results); | ||
}); | ||
``` | ||
<a name="generateClass" /> | ||
@@ -536,0 +558,0 @@ ### generateClass |
50067
16.23%48
9.09%663
6.94%652
3.49%