/
kirra16
/
new
Обзор
Документация
Войти
/
kirra16
/
new
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/sqlite3/lib/trace.js
38 строк
1 KB
kirra16
commit banket 1
07 дек 2025, 21:46
07 дек 2025, 21:46
2e0cad8
Код
Авторство
О чём код?
// Inspired by https://github.com/tlrobinson/long-stack-traces const util = require('util'); function extendTrace(object, property, pos) { const old = object[property]; object[property] = function() { const error = new Error(); const name = object.constructor.name + '#' + property + '(' + Array.prototype.slice.call(arguments).map(function(el) { return util.inspect(el, false, 0); }).join(', ') + ')'; if (typeof pos === 'undefined') pos = -1; if (pos < 0) pos += arguments.length; const cb = arguments[pos]; if (typeof arguments[pos] === 'function') { arguments[pos] = function replacement() { const err = arguments[0]; if (err && err.stack && !err.__augmented) { err.stack = filter(err).join('\n'); err.stack += '\n--> in ' + name; err.stack += '\n' + filter(error).slice(1).join('\n'); err.__augmented = true; } return cb.apply(this, arguments); }; } return old.apply(this, arguments); }; } exports.extendTrace = extendTrace; function filter(error) { return error.stack.split('\n').filter(function(line) { return line.indexOf(__filename) < 0; }); }