Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

37 righe
641 B

'use strict';
const callsites = require('callsites');
module.exports = filepath => {
const stacks = callsites();
if (!filepath) {
return stacks[2].getFileName();
}
let seenVal = 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) {
seenVal = true;
continue;
}
// Skip native modules
if (parentFilepath === 'module.js') {
continue;
}
if (seenVal && parentFilepath !== filepath) {
return parentFilepath;
}
}
};