zhangnaisong
2023-10-19 2c405f34c9bc32936957e45d1c38c55f5696fa46
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];
};