blob: 02c4903010f949ac775fbe7ce1dfe14e19f5ac4d [file] [log] [blame]
var inherits = require('util').inherits;
function trimStack(stack, num) {
return stack && stack.split('\n').slice(num).join('\n');
}
function IllegalOperationError(msg, stack) {
var tmp = new Error();
this.message = msg;
this.stack = this.toString() + '\n' + trimStack(tmp.stack, 2);
this.stackAtStateChange = stack;
}
inherits(IllegalOperationError, Error);
IllegalOperationError.prototype.name = 'IllegalOperationError';
function stackCapture(reason) {
var e = new Error();
return 'Stack capture: ' + reason + '\n' +
trimStack(e.stack, 2);
}
module.exports.IllegalOperationError = IllegalOperationError;
module.exports.stackCapture = stackCapture;