| 12345678910111213141516171819202122232425262728293031323334353637 | '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;		}	}};
 |