Blame view

天文台pc/tianwentai-ui/node_modules/parent-module/index.js 641 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  '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;
  		}
  	}
  };