linwenling
2023-08-15 f43554d828bc2212c5d7118d7de5ebcc57d1c6f3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'use strict';
const callsites = require('callsites');
 
module.exports = () => {
    const c = callsites();
    let caller;
 
    for (let i = 0; i < c.length; i++) {
        const hasReceiver = c[i].getTypeName() !== null;
 
        if (hasReceiver) {
            caller = i;
            break;
        }
    }
 
    return c[caller];
};