You've already forked Epicnabbo-Catalogus-Updated-Daily
38 lines
783 B
JavaScript
38 lines
783 B
JavaScript
'use strict';
|
|
|
|
module.exports = {
|
|
resolveStack,
|
|
reconstructStack
|
|
};
|
|
|
|
function resolveStack(promise) {
|
|
Error.captureStackTrace(promise);
|
|
}
|
|
|
|
function reconstructStack(promise) {
|
|
const { stack, _value } = promise;
|
|
if (_value instanceof Error === false || !stack) {
|
|
return;
|
|
}
|
|
if (!_value._reconstruct) {
|
|
_value.stack = reconstruct(_value.stack).join('\n');
|
|
_value._reconstruct = true;
|
|
}
|
|
const stacks = reconstruct(stack);
|
|
stacks[0] = '\nFrom previous event:';
|
|
_value.stack += stacks.join('\n');
|
|
}
|
|
|
|
function reconstruct(stack) {
|
|
const result = [];
|
|
const stacks = stack.split('\n');
|
|
for (let i = 0; i < stacks.length; i++) {
|
|
const s = stacks[i];
|
|
if (/node_modules/.test(s)) {
|
|
continue;
|
|
}
|
|
result.push(s);
|
|
}
|
|
return result;
|
|
}
|