mirror of
https://github.com/pinojs/pino.git
synced 2025-12-08 20:36:13 +00:00
* fix: test for multiple caller entries * fix: Add test for thrown error * fix: stick to original api
31 lines
551 B
JavaScript
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
|
|
}
|