pino/lib/caller.js
David Hewitt 6030b2670d
fix: test for multiple caller entries (#1304)
* fix: test for multiple caller entries

* fix: Add test for thrown error

* fix: stick to original api
2022-01-20 18:00:05 +01:00

31 lines
551 B
JavaScript

'use strict'
function noOpPrepareStackTrace (_, stack) {
return stack
}
module.exports = function getCallers () {
const originalPrepare = Error.prepareStackTrace
Error.prepareStackTrace = noOpPrepareStackTrace
const stack = new Error().stack
Error.prepareStackTrace = originalPrepare
if (!Array.isArray(stack)) {
return undefined
}
const entries = stack.slice(2)
const fileNames = []
for (const entry of entries) {
if (!entry) {
continue
}
fileNames.push(entry.getFileName())
}
return fileNames
}