| Server IP : 14.225.204.176 / Your IP : 216.73.216.252 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/nodejs/parent-module/ |
Upload File : |
'use strict';
const callsites = require('callsites');
module.exports = filePath => {
const stacks = callsites();
if (!filePath) {
return stacks[2].getFileName();
}
let hasSeenValue = false;
// Skip the first stack as it's this function
stacks.shift();
for (const stack of stacks) {
const parentFilePath = stack.getFileName();
if (typeof parentFilePath !== 'string') {
continue;
}
if (parentFilePath === filePath) {
hasSeenValue = true;
continue;
}
// Skip native modules
if (parentFilePath === 'module.js') {
continue;
}
if (hasSeenValue && parentFilePath !== filePath) {
return parentFilePath;
}
}
};