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